上文中说过,逻辑斯蒂回归虽然称为回归,但它实际上是一种分类算法。认识逻辑斯蒂回归,首先需要知道sigmoid函数。下面公式1即为sigmoid函数$$gleft( x
ight) =dfrac {1}{1+e^{-x}}$$它的函数图像如图所示。
1、算法介绍
和上文中的回归算法一样,我们有m条数据,每条数据有n个特征和1个标签。不同的是,上文的标签是一个连续型变量,本文中的标签是一个离散型变量,且它只有两个值,[0,1]。
在线性回归中,有(widehat{y}= heta ^{T}x),而在逻辑斯蒂回归中,其结果就是在线性回归外面套上sigmoid函数,即$$widehat {y}=dfrac {1}{1+e^{- heta ^{T}x}}$$因此,(widehat {y})是一个连续变量,其取值范围为(0,1)。
对于(y)和(widehat {y}),我们希望,当(widehat {y})接近1时,(y)也大概率为1;当(widehat {y})接近0时,(y)也大概率为0。因此可以做出如下假设。
以上两式可以统一为$$Pleft( y| x, heta
ight) =widehat {y}^{y}left( 1-widehat {y}
ight) ^{1-y}$$同理,由于x和y均已知,它是一个关于( heta)的函数。
据此可求出其最大似然函数:$$Lleft( heta
ight) =prod ^{m}{i=1}widehat {y}^{y}left( 1-widehat {y}
ight) ^{1-y}$$,(i)为第(i)个样本。
同理,可求其对数似然函数为(lleft( heta
ight)),并对每个( heta)求偏导。求导结果为:$$dfrac {partial lleft( heta
ight) }{partial heta{ j}}=sum ^{m}{i=1}left( y^{i}-widehat {y}^{i}
ight) x^{i}{j}$$
对其进行梯度上升学习,有
逻辑斯蒂回归的目标函数被习惯性的认为成对数似然函数的相反数,即$$loss=-lleft( heta ight) $$
前文中,我们认为y的取值为0,1。若认为y的取值为+1和-1,则可推导出一个较为优美的损失函数如下。$$loss=sum ^{m}{i=1}left[ ln left( 1+e^{-y{i}widehat {y}_{i}} ight) ight] $$