1.概述
Logistic回归为概率型非线性模型回归模型,是研究二分类观察结果y与一些样本特征 (x1,x2,…,xn) 之间的关系的这一种多分量分析方法,简单讲就是研究某些特征条件出现时,结果是否会发生。例如根据病人的年龄、性别、饮食习惯、幽门螺杆菌感染等因素来判断某人是否得了胃癌。
2.LR分类器
在讲解Logistic回归之前,我们先从LR分类器讲起,引出Logistic回归。LR分类器,即Logistic Regression Classifier,在分类情形下,经过学习后的LR分类器是一组权重组
[w0,w1,…,wn]
当测试样本数据输入时,这组权重与测试数据按照线性相乘,得到:
X=w0+w1∗x1+…+wn∗xn
这里
x1,x2,…,xn
是样本的n个特征值。例如上述例子中的年龄、性别、饮食等。之后通过sigmoid函数对x进行映射,sigmoid函数为:
S(x)=11+e−x
可以看出sigmoid函数定义域为
(−∞,+∞)
,值域为
(0,1)
,然后可以通过定义阀值来进行分类,例如阀值为0.5,小于0.5为未得胃癌,大于0.5为得胃癌。
3.Logistic回归模型
Logistic回归的实质是某种类别发生概率除以没有发生概率再取对数。考虑具有n个独立特征的向量
x→=(x1,x2,…,xn)
,设条件概率
P(y=1|x)=p
为特征组
x→
下类别
y
发生的概率,那么Logistic回归模型可以表示为:
这里
f(g(x))
称为Logistic函数,其中
g(x)=w0+w→x→=w0+w1x1+w2x2+...+wnxn
其中
w→=(w1,w2,...,wn)
。
那么特征组
x→
下类别
y
不发生的概率为:
所以发生与不发生的概率比为:
P(y=1|x)P(y=0|x)=p1−p=1+eg(x)1+e−g(x)=eg(x)∗e−g(x)+eg(x)1+e−g(x)=eg(x)
所以事件发生比就是
eg(x)
,对其取对数
ln(p1−p)=g(x)=w0+w→x→=w0+w1x1+w2x2+...+wnxn
可知Logistic回归就是围绕Logistic函数展开的。
4.求解参数
用最大似然估计法来求解参数,未知参数就是
w0,w1,...,wn
,
(x→1,y1),(x→2,y2),...,(x→m,y1m)
为样本观测值,是已知数据。
假设有m个样本
(x→1,y1),(x→2,y2),...,(x→m,y1m)
,其中
x→i
表示特征组,
yi
表示结果。设
pi=P(yi=1|xi)
,即第i个特征组分类结果为1的概率,则
P(yi=0|xi)=1−pi
表示分类结果为0的概率,注意本例子为二分类,即结果是0或1.则第i个特征组归属结果
yi
的概率为:
p(yi)=pyii∗(1−pi)1−yi(可以通过yi=0和yi=1两种情况来验证)
因为各个观测样本之间相互独立,那么它们的联合分布为各边缘分布的乘积。得到似然函数为:
注意,上面的 L(w) 中的 w 代表的是
然后我们就需要对该似然函数求最大值,解出最大值情况下对应的 w0,w1,...,wn ,这一组 w 就是要求的未知数的解。先对
为了解除n+1个未知数 w0,w1,...,wn ,需要求这些未知数分别求偏导数,然后得到n+1个方程组,最后再解出未知数。这里以求第k个未知数 wk 的偏导数为例。
ln(L(w)) 中 (yilnpi+(1−yi)ln(1−pi)) 对 wk 的求导为:
(yilnpi+(1−yi)ln(1−pi))′=yipi′pi+(1−yi)−pi′1−pi=(yi−pi)pi′pi(1−pp)=
(yi−pi)(lnpi−ln(1−pi))′=(yi−pi)(lnpi1−pi)′
又从3节可知, ln(p1−p)=g(x) ,则最终结果为:
(yi−pi)g(x)′=(yi−pi(w0+w1xi1+w2xi2+...+wnxin)′=(yi−pi)xik
这仅仅是一组 x→i 对 wk 的偏导数值,总共有m组,则
要去到最大值,则需上面导数等于0,这样就能够构造(n+1)个等式,来解出(n+1)个参数。要解出参数可以参考 牛顿法。
参考文献:http://blog.csdn.net/ariessurfer/article/details/41310525