不忘初心,方得始终
学习Logistic回归,看了许多讲解一直不知所云,或者看不下去。
第一部分
目的:根据 y 的特征值 x1...xnx_1...x_nx1...xn,判断 y 属于class1 还是class0
方法:给每一个特征值分配一个权重,根据得分来判断 y 是属于 0,1类,即
z=θ0∗x0+θ1∗x1+...+θn∗xn=θT∗Xz=\theta_0*x_0 + \theta_1*x_1+...+\theta_n*x_n = \theta^T*Xz=θ0∗x0+θ1∗x1+...+θn∗xn=θT∗X
可以自己划定一个值 N,N取决于 θ0...θn\theta_0...\theta_nθ0...θn
当 y > N 时,y ∈\in∈ class1
当 y < N 时,y ∈\in∈ class0
也就是说,当我们有了 θ0...θn\theta_0 ... \theta_nθ0...θn 之后,当每次来一个yiy_iyi 根据它的x0...xnx_0 ... x_nx0...xn 带入公式,即可求得 yiy_iyi 的类别。
其中有两个问题
1、z=∑θi∗xiz=\sum \theta_i * x_iz=∑θi∗xi 取值[−∞,+∞][-\infty , +\infty][−∞,+∞],我们希望 z 的取值在 [ 0 , 1 ],并且这个函数有较好的阶跃的性质,即在短距离内从 0 跳转到1。这样在代入公式的时候得到的值就在0-1之间,并且大部分情况下都远离0.5。(原则上,我认为这不是一个问题)
2、如何得到 [θ0...θn][\theta_0...\theta_n][θ0...θn]。
第二部分
关于第一个问题
Sigmoid函数:
σ(z)=11+e−z\sigma(z) = \frac{1}{1+e^{-z}}σ(z)=1+e−z1
现在我们将问题转换为:根据已知的训练集 Y = {y0...ymy_0...y_my0...ym},求一组 [θ0...θn][\theta_0...\theta_n][θ0...θn] 使得求出的 z 代入上式后,对于
yi∈class0y_i \in class0yi∈class0,σ(zi)<0.5\sigma(z_i) < 0.5σ(zi)<0.5,
yi∈class1y_i \in class1yi∈class1,σ(zi)>0.5\sigma(z_i) > 0.5σ(zi)>0.5。其中zi=θT∗Xiz_i=\theta^T*X_izi=θT∗Xi
举例来说:
yi=[x0i,x1i,x2i,...,xni]∈class1⇐⇒σ(θT∗Xi)=11+e−(θ0∗x0i+θ1∗x1i+...+θn∗xni)=11+e−(θT∗Xi)>0.5y_i=[x_0^i,x_1^i,x_2^i,...,x_n^i] \in class1\Leftarrow \Rightarrow \sigma(\theta^T*X_i)=\frac{1}{1+e^{-(\theta_0 * x_0^i + \theta_1 * x_1^i +...+ \theta_n * x_n^i)}} = \frac{1}{1+e^{-(\theta^T*X_i)}} > 0.5 yi=[x0i,x1i,x2i,...,xni]∈class1⇐⇒σ(θT∗Xi)=1+e−(θ0∗x0i+θ1∗x1i+...+θn∗xni)1=1+e−(θT∗Xi)1>0.5
第二个问题
使用极大似然估计:
现有已知结果的集合 Y={y0...ym}Y = \{ y_0...y_m\}Y={y0...ym}
将σ(θT∗Xi)\sigma(\theta^T*X_i)σ(θT∗Xi) 记为 h(Xi)h(X_i)h(Xi)
p(yi=1∣Xi;θ)=1−h(Xi)p(y_i =1|X_i;\theta)=1-h(X_i)p(yi=1∣Xi;θ)=1−h(Xi)
p(yi=0∣Xi;θ)=h(Xi)p(y_i =0|X_i;\theta)=h(X_i)p(yi=0∣Xi;θ)=h(Xi)
∴p(yi∣Xi;θ)=(1−h(Xi))1−yi∗(h(Xi))yi\therefore p(y_i|X_i;\theta)=(1-h(X_i))^{1-y_i}*(h(X_i))^{y_i}∴p(yi∣Xi;θ)=(1−h(Xi))1−yi∗(h(Xi))yi
现在再次重述一遍问题:
已知集合 Y={y0...ym}Y = \{ y_0...y_m \}Y={y0...ym} 中任意的 yi=[x0i,x1i,x2i,...,xni]=Xiy_i=[x_0^i,x_1^i,x_2^i,...,x_n^i] =X_iyi=[x0i,x1i,x2i,...,xni]=Xi 的类别,其中 p(yi∣Xi;θ)=(1−h(Xi))1−yi∗(h(Xi))yip(y_i|X_i;\theta)=(1-h(X_i))^{1-y_i}*(h(X_i))^{y_i}p(yi∣Xi;θ)=(1−h(Xi))1−yi∗(h(Xi))yi,求 θ\thetaθ 的极大似然分布。
L(θ)=∏i=0m(p(yi∣Xi;θ)=∏i=0m(1−h(Xi))1−yi∗(h(Xi))yi)L(\theta)=\prod_{i=0}^m(p(y_i|X_i;\theta)=\prod_{i=0}^m(1-h(X_i))^{1-y_i}*(h(X_i))^{y_i})L(θ)=i=0∏m(p(yi∣Xi;θ)=i=0∏m(1−h(Xi))1−yi∗(h(Xi))yi)
l(θ)=log(θ)=∑i=0m(yilog(h(Xi))+(1−yi)∗log(1−h(Xi)))l(\theta)=log(\theta)=\sum_{i=0}^m(y_ilog(h(X_i)) + (1-y_i)*log(1-h(X_i)))l(θ)=log(θ)=i=0∑m(yilog(h(Xi))+(1−yi)∗log(1−h(Xi)))
第三部分
求解 l(θ)l(\theta)l(θ)
梯度上升算法:其实就是求导,不过是多次求导而已(也许是这样吧)
##未完(不一定续)。。。
本文深入探讨了Logistic回归的基本原理及其在分类任务中的应用。通过数学建模,解释了如何根据特征值预测样本类别,并详细阐述了如何通过极大似然估计法求解参数。介绍了Sigmoid函数的作用及梯度上升算法在求解过程中的应用。
7137

被折叠的 条评论
为什么被折叠?



