转自:http://blog.csdn.net/ariessurfer/article/details/41310525
Logistic回归为概率型非线性回归模型,是研究二分类观察结果与一些影响因素
之间关系的一种多
变量分析方法。通常的问题是,研究某些因素条件下某个结果是否发生,比如医学中根据病人的一些症状来判断它是
否患有某种病。
在讲解Logistic回归理论之前,我们先从LR分类器说起。LR分类器,即Logistic Regression Classifier。
在分类情形下,经过学习后的LR分类器是一组权值,当测试样本的数据输入时,这组权值与测试数据按
照线性加和得到
这里是每个样本的
个特征。
之后按照sigmoid函数的形式求出
由于sigmoid函数的定义域为,值域为
,因此最基本的LR分类器适合对两类目标进行分类。
所以Logistic回归最关键的问题就是研究如何求得这组权值。这个问题是用极大似然估计来做的。
下面正式地来讲Logistic回归模型。
考虑具有个独立变量的向量
,设条件慨率
为根据观测量相对于某事件
发生的
概率。那么Logistic回归模型可以表示为
这里称为Logistic函数。其中
那么在条件下
不发生的概率为
所以事件发生与不发生的概率之比为
这个比值称为事件的发生比(the odds of experiencing an event),简记为odds。
对odds取对数得到
可以看出Logistic回归都是围绕一个Logistic函数来展开的。接下来就讲如何用极大似然估计求分类器的参数。
假设有个观测样本,观测值分别为
,设
为给定条件下得到
的概率,同样地,
的概率为
,所以得到一个观测值的概率为
。
因为各个观测样本之间相互独立,那么它们的联合分布为各边缘分布的乘积。得到似然函数为
然后我们的目标是求出使这一似然函数的值最大的参数估计,最大似然估计就是求出参数,使得
取得最大值,对函数取对数得到
继续对这个
分别求偏导,得到
个方程,比如现在对参数
求偏导,由于
所以得到
这样的方程一共有个,所以现在的问题转化为解这
个方程形成的方程组。
上述方程比较复杂,一般方法似乎不能解之,所以我们引用了牛顿-拉菲森迭代方法求解。
利用牛顿迭代求多元函数的最值问题以后再讲。。。
简单牛顿迭代法:http://zh.m.wikipedia.org/wiki/%E7%89%9B%E9%A1%BF%E6%B3%95
实际上在上述似然函数求最大值时,可以用梯度上升算法,一直迭代下去。梯度上升算法和牛顿迭代相比,收敛速度
慢,因为梯度上升算法是一阶收敛,而牛顿迭代属于二阶收敛。
梯度下降。当然求最小值就是梯度下降,而求最大值相对就是梯度上升。
由于,如果
,那么得到
现在我们要找一组,使得所有的
最接近
,设
现在我们要找一组,使得
最小。这就是今天要介绍的梯度下降。
梯度下降的原理是这样的:首先对于向量赋初值,可以赋随机值,也可以全赋为0,然后改变
的值,使得
按梯度下降最快的方向进行,一直迭代下去最终会得到局部最小值。即
表示梯度最陡的那个方向,
表示步长,也就是说每次向下降最快的方向走多远。进一步有
所以
简化一下就是