机器学习(二)逻辑斯蒂回归

上文中说过,逻辑斯蒂回归虽然称为回归,但它实际上是一种分类算法。认识逻辑斯蒂回归,首先需要知道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。因此可以做出如下假设。

[p(y=1| x, heta )=widehat {y}$$ $$p(y=0| x, heta )=1-widehat {y} ]

以上两式可以统一为$$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}$$

对其进行梯度上升学习,有

[ heta _{j}= heta _{j}+alpha left( y-widehat {y} ight) x_{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] $$

原文地址:https://www.cnblogs.com/Yolanda7171/p/7242324.html