逻辑斯蒂回归-机器学习ML

参考:

1.《统计学习方法》李航

2.http://blog.csdn.net/shijing_0214/article/details/51089330#insertcode


逻辑斯蒂回归是一个非常经典的二项分类模型,也可以扩展为多项分类模型。其在应用于分类时的过程一般如下,对于给定的数据集,首先根据训练样本点学习到参数w,b;再对预测点分别计算两类的条件概率,将预测点判为概率值较大的一类。

1、线性模型 
逻辑斯蒂回归属于对数线性模型,那什么是对数线性模型?首先我们介绍下线性模型。 
给定包含d个属性的变量x=(x1,x2,...,xd),xi表示在第i个属性上的取值,线性模型通过学得一个对属性分量的线性组合来进行预测的函数,即:

f(x)=w1x1+w2x2++wdxd+b

写成向量形式为:

f(x)=wTx+b

线性模型形式简单,易于建模,很多不错的非线性模型都是以线性模型为基础,通过层次组合或高维映射形成。此外,向量w作为各分量的权值,可以很直观地解释各属性在模型分类中的重要性,例如:

f=0.2x+0.5x+0.3x +1

显然,根蒂对判断是否为好瓜的影响最大。 
当我们给定样例点(x,y), 若线性模型对给定样本点的预测值f(x)逼近真实值y时,就形成了线性回归模型,记为:

y=wTx+b

线性回归模型表征了输入x与输出y的一种线性关系,我们还可以定义输入x与输出y的函数g(y)的一种线性关系,如:

lny=wTx+b

就是一种对数线性回归,使x与输出的对数形成线性关系,实际上使用w^Tx+b的指数ewTx+b来逼近输出。 
考虑一般性,我们记:

g(y)=wTx+b

其中,g(y)应满足单调可微的性质。我们将这样的模型称为“广义线性模型”,对数线性模型即g函数取对数函数的情况。 
2、逻辑斯蒂回归模型 
开始提到了逻辑斯蒂回归是一种对数线性模型,也就是说其输入与输出的对数函数成线性关系,实际上,它们满足如下关系:

logP(Y=1|x)P(Y=0|x)=wTx+b

关系如何得来的? 
根据上面提到的广义线性模型,对预测值的对数函数,需要满足单调可微的性质,且方便进行二项分类,于是选取了S形曲线Sigmoid函数作为g()函数,如下:

y=11+ez

图形如下: 
逻辑斯蒂回归-机器学习ML 
我们将输入的线性组合代替Sigmoid函数中的输入,得到逻辑斯蒂回归模型。 
逻辑斯蒂回归模型是如下的条件概率分布:

P(Y=1|x)=11+e(wx+b)=e(wx+b)1+e(wx+b)
P(Y=0|x)=1P(Y=1|X)=11+e(wx+b)

显然,条件概率分布与曲线是一致的,即当输入越小时,取正例的概率趋近于0,取反例的概率趋近于1;当输入越大时,取正例的概率则趋近于1,取反例的概率趋近于0. 
记:

y=P(Y=1|x)
1y=P(Y=0|x)

则有:

y1y=P(Y=1|x)P(Y=0|x)=ewx+b

即:

logy1y=wx+b

从而得出关系。这里我们把logy1y=wx+b 称作对数几率,表示一个事件预测为正例与反例的比值的对数。

3、模型参数估计 
我们得到逻辑斯蒂回归模型的表示,也即条件概率分布后,需要得到参数w,b的值才能对未知输入点进行预测。 
对于逻辑斯蒂回归模型,一般使用极大似然估计的方法估计模型参数。转化为对数似然函数后,问题就变成了带有参数的求似然函数值最大值的最有问题。因为这是属于无约束优化问题,一般采用梯度下降法牛顿法、拟牛顿法等方法来进行求解,得到参数估计值w^,b^ 后,代入条件概率分布公式:

P(Y=1|X)=e(w^x+b^)1+e(w^x+b^)
P(Y=0|X)=11+e(w^x+b^)

即可实现对二项分类的预测。

4、多项逻辑斯蒂回归 
二项逻辑斯蒂回归也可以推广到多项逻辑斯蒂回归,从而应用到多类分类问题中。 
假设类别集合为{1,2,…,K},多项逻辑斯蒂回归模型可以写作:

P(Y=k)=exp(wkx)1+K1k=1exp(wkx)
P(Y=K|x)=11+K1k=1exp(wkx)

可以满足

Kk=1P(Y=k|x)=1

;