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