逻辑回归(Logistic Regression)
前面介绍了线性回归的问题,这里接着引出逻辑回归的问题,一般逻辑回归用于解决分类问题,以二分类为例。
sigmoid函数
sigmoid是一个非线性函数,也是一种**函数,表达式为g(x)=11+e−x主要为了去线性化其图像如下,而且具有良好的性质,中心对称,光滑可导。
sigmoid函数的导数
我们来看一下sigmoid函数的导数是什么样的(后面用梯度下降的方法的时候需要用到)
g′(x)=(11+e−x)′=e−x(1+e−x)2=1(1+e−x)2⋅e−x(1+e−x)2=1(1+e−x)2⋅(1−e−x(1+e−x)2)=g(x)⋅(1−g(x))
假设函数hθ(x):
应用sigmoid函数的话,假设函数变为;
hθ=g(θTX)=11+e−θTX
给定样本x1,x2⋯xn及样本类别y1,y2,⋯yn其中yi∈{0,1}
我们做如下假设(分别表示给定样本的情况下,y属于哪个类别的条件概率):
P(y=1∣x;θ)P(y=0∣x;θ)=hθ(x)=1−hθ(x)
对于上面的两个式子,我们可以继续整合如下:
p(y∣x;θ)=(hθ(x))y(1−hθ(x))1−y
因为现在x,y都是已知的,我们需要估计的参数是θ,所以对于上述的式子,我们可以用极大似然估计来求θ
L(θ)=∏i=1np(y(i)∣x(i);θ)=∏i=1n(hθ(x))y(1−hθ(x))1−y
取对数得对数似然:
l(θ)=logL(θ)=∑i=1ny(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))
对θ求偏导数:
∂l(θ)∂θj=(y(i)g(θTx)−(1−y(i))11−g(θTx))⋅∂g(θTx)∂θj=(y(i)g(θTx)−(1−y(i))11−g(θTx))⋅g(θTx)⋅(1−g(θTx))⋅∂θTx∂θj=(y(i)⋅(1−g(θTx))−(1−y(i))⋅g(θTx))⋅xj=(y(i)−g(θTx))⋅xj=(y(i)−hθ(x))⋅xj
有了关于θ的梯度表达式,那么在逻辑回归中就可以根据梯度下降算法来更新θ的值,因为我们使用极大似然估计来估计θ,所以从极大似然估计的角度来看,应用梯度下降的时候更新\theta$的值是沿着似然函数的正梯度上升的,即Logistic的学习规则如下:
\begin{align}
\theta_j = \theta_j + \alpha \cdot ((y^{(i)} - h_{\theta}(x))\cdot x_j)
\end{align}