机器学习(二)逻辑斯蒂回归
上文中说过,逻辑斯蒂回归虽然称为回归,但它实际上是一种分类算法。认识逻辑斯蒂回归,首先需要知道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\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}$$
对其进行梯度上升学习,有
逻辑斯蒂回归的目标函数被习惯性的认为成对数似然函数的相反数,即$$loss=-l\left( \theta \right) $$
前文中,我们认为y的取值为0,1。若认为y的取值为+1和-1,则可推导出一个较为优美的损失函数如下。$$loss=\sum ^{m}{i=1}\left[ \ln \left( 1+e^{-y\widehat {y}_{i}}\right) \right] $$