码迷,mamicode.com
首页 > 其他好文 > 详细

逻辑回归模型分析

时间:2015-08-06 22:10:59      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:

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

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!