逻辑回归模型分析

本文主要分两个部分进行讨论,首先介绍最简单的线性回归模型;接着对逻辑回归进行分析

1、线性回归-->最小二乘法

对于线性回归问题,我们根据自变量的个数将其分为一元线性回归和多元线性回归,本部分先详细介绍一元线性模型,然后将其推广到多元线性模型

 

1)一元线性模型

当输入只有一个自变量时,我们称之为一元线性模型。(最简单)

设样本集合为:(xi,yi),i=1,2,…,m。

目标为:在平面上找出一条线,使得样本点尽可能多的在这条直线上。

设一元线性模型为:h(x)=ax+b,输出误差为:Si=yi-h(xi)。

则样本的整体损失为:

为了让整体损失函数最小,我们使用最小二乘法。由于整体损失函数为凸函数,因而其极小值即为最小值。

先对a,b求偏导数,并令偏导为0。

整理得:

两个等式,两个变量,可以直接使用公式求得a,b。

参数a, b的计算方法见参考文献[2]。

 

2)多元线性模型

当输入的自变量有多个时,我们称之为多元线性模型。

设多元线性模型为:h(x)=a0+a1x1+a2x2+…+anxn

对单个样例的误差为:Si=yi-h(xi)

整体误差为:

对每个参数求偏导,并赋0:

有n个等式,n个变量,可以求得每个变量ai的值。

变量ai的计算过程见参考文献[2]。

 

2、逻辑(logistics)回归

逻辑回归可以进行二分类和多分类,下面分别进行讨论:

1)二项逻辑回归(二分类)

  假如我们现在需要对一类物品进行二分类,首先根据物品的多个特征,然后将物品的多个特征进行线性组合,这和我们上面讨论的多元线性模型有点类似。只是我们现在不是需要拟合平面(空间)上的点,而是需要将平面(空间)上的不同类别的点区分开来。

  多元线性模型为:h(x)=a0+a1x1+a2x2+…+anxn

  我们可以直接使用多元线性模型来对物品进行分类,通过设置一个阀值,然后将所有h(x)大于阀值的样本分为一类,其他的分为另一类。但这种方式存在一个问题,由于h(x)的值是任意大小的,阀值的选择是一件困难的事情,若我们对其进行归一化处理,则阀值的选择就相对简单很多。

设阀值为:t,则

为了方便表述,设:

在此我们使用sigmoid函数对其进行归一化。

此时,若我们使用平方最小误差函数来估算参数,由于归一化后的函数为非凸函数,故而不能使用梯度下降法来找到其最小值。但我们使用极大似然估计的方法估计模型参数。

由于是二分类,可以设:

所以似然函数为:

对数似然函数:

对L(a)求极大值,得到a的估计值。为了能使用梯度下降算法,我们在对数似然函数前面加上负号,这样就可以求其最小值:

每次让参数a向对数似然函数的负梯度方向移动一小步。

//推导过程很简单,感兴趣的可以去看参考文献[2]

最后,对a的值进行更新:

2)多项逻辑回归

上面介绍了二项逻辑回归,多分类的逻辑回归有点类似,假如类别共有K类,对于前面的k-1类使用下式进行计算:

对于第K类:

 

总结

  逻辑回归虽然有回归二字,但是它并不能处理回归问题,其主要用来进行二分类,当然也能进行多分类。其主要过程是将输入线性加权后再归一化到(0,1)这个区间内,其归一化使用sigmoid函数。

 

 

 

参考文献:

[1] peghoty, http://blog.csdn.net/itplus/article/details/10857843

[2] 李航,统计学习方法。

 

posted @ 2015-07-21 20:40  liuwu265  阅读(5136)  评论(0编辑  收藏  举报