机器学习笔记之(六)Logistic回归

逻辑回归(Logistic Regression)

前面介绍了线性回归的问题,这里接着引出逻辑回归的问题,一般逻辑回归用于解决分类问题,以二分类为例。

sigmoid函数

sigmoid是一个非线性函数,也是一种**函数,表达式为g(x)=11+ex主要为了去线性化其图像如下,而且具有良好的性质,中心对称,光滑可导。
机器学习笔记之(六)Logistic回归

sigmoid函数的导数

我们来看一下sigmoid函数的导数是什么样的(后面用梯度下降的方法的时候需要用到)

g(x)=(11+ex)=ex(1+ex)2=1(1+ex)2ex(1+ex)2=1(1+ex)2(1ex(1+ex)2)=g(x)(1g(x))

假设函数hθ(x):

应用sigmoid函数的话,假设函数变为;

hθ=g(θTX)=11+eθTX

给定样本x1,x2xn及样本类别y1,y2,yn其中yi{0,1}
我们做如下假设(分别表示给定样本的情况下,y属于哪个类别的条件概率):

P(y=1x;θ)P(y=0x;θ)=hθ(x)=1hθ(x)

对于上面的两个式子,我们可以继续整合如下:

p(yx;θ)=(hθ(x))y(1hθ(x))1y

因为现在x,y都是已知的,我们需要估计的参数是θ,所以对于上述的式子,我们可以用极大似然估计来求θ

L(θ)=i=1np(y(i)x(i);θ)=i=1n(hθ(x))y(1hθ(x))1y

取对数得对数似然:

l(θ)=logL(θ)=i=1ny(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))

θ求偏导数:

l(θ)θj=(y(i)g(θTx)(1y(i))11g(θTx))g(θTx)θj=(y(i)g(θTx)(1y(i))11g(θTx))g(θTx)(1g(θTx))θTxθj=(y(i)(1g(θTx))(1y(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}