标签:
本文主要分两个部分进行讨论,首先介绍最简单的线性回归模型;接着对逻辑回归进行分析
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] 李航,统计学习方法。
标签:
原文地址:http://www.cnblogs.com/liuwu265/p/4709101.html