逻辑回归

来源:互联网 发布:重点软件企业 编辑:程序博客网 时间:2024/06/05 22:48

Logistic Regression

逻辑回归经常用来解决分类问题,小结一下逻辑回归相关的知识。

逻辑回归的适用场景

什么场景适合用逻辑回归求解?给出两个充分不必要条件
1.如果特征是离散的,则特征维度满足条件独立性 P(X|Ck)=di=1P(xi|Ck)
2.如果特征连续,则数据服从高斯分布的时候。
上述结论的证明过程请参考:https://www.zhihu.com/collection/38286156 下zewei
chen的回答。有空的时候,我会把证明过程整理好补充在这里。

当特征维度不满足条件独立性假设的时候,如何进行LR回归呢?这个时候,FM模型就派上用场了,FM很适合做CTR预测,在2014年kaggleCTR预测的冠军就是用FFM(对FM的改进)来训练模型的,FM模型相关的知识以后会专门写一篇博客。

逻辑回归cost function的推导

首先定义了观测到数据点X的条件下,类别Y取1或0的概率如下:

P(Y=1|X)=11+eWTX
P(Y=0|X)=1P(Y=1|X)=eWTX1+eWTX

hθ(x)=11+eWTX
合并以上2个式子写成统一的形式如下:
P(yi|xi)=hθ(xi)yi((1hθ(xi))1yi)
(其中y=10

当我们拥有N个观测数据 X=(x1,y1),(x2,y2),(xN,yN)的时候,根据最大似然估计,我们的目标函数就是要最大化观测数据X出现的概率P(X)=Ni=1p(yi|xi)=Ni=1hθ(xi)yi((1hθ(xi))1yi),最大化P(X)也就相当于最小化它的负对数L(θ),由此我们的目标可以转化为最小化

L(θ)=i=1Nlog(yihθ(xi))+(1yi)log(1hθ(xi))

参数求解

对cost function L(θ)θi求偏导数,可得梯度方向:

(yy^)xi

因此,参数θ的更新公式为:
θt=θt1αi(yy^)x

在scikit-learn里,参数求解的方法分别为libliner,newton-cg,lbfgs,sag。区中lbfgs和newton-cg方法只适用于L2正则的条件下,在特征维度很高的情况下,这2种方法收敛速度更快。而L1正则则可以产生稀疏解,对特征进行自动选择。

0 0
原创粉丝点击