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

逻辑斯谛回归模型

时间:2015-05-07 21:54:16      阅读:1353      评论:0      收藏:0      [点我收藏+]

标签:

?

????逻辑斯谛回归模型是研究因变量为二分类或多分类观察结果与影响因素之间的关系的一种概率型非线性回归模型。逻辑斯谛回归系数通过最大似然估计得到。Logistic函数如下:

????技术分享 ????

????式中x

????技术分享技术分享 ????

????这里技术分享 是输入变量的n个特征,然后按照Logistic函数形式求出。

????假设有n个独立变量的向量技术分享 ,设条件概率技术分享 x条件下y发生的概率(假设y=1y发生)。则Logistic函数表示为:

????技术分享技术分享 ????

????同理,在x条件下y不发生的概率为:

技术分享

????Logistic回归都是围绕Logistic函数展开的,如何求解技术分享Logistic回归模型的主要问题,采用的最大似然估计来求解这组参数。

????假设有m个观测样本,观测值分别为技术分享 ,设技术分享 为给定条件下技术分享 的概率,同理技术分享 的概率为技术分享,得到一个观测值得概率为:

????技术分享技术分享 ????

????因为各观测样本间相互独立,于是得到似然函数:

????技术分享 技术分享????

????对似然函数取对数:

????技术分享 技术分享????

????现要求向量技术分享使的技术分享 最大,其中:

????技术分享 技术分享????

????要求的最大似然估计,我们需要确定似然函数存在局部极大值。因此,对似然函数求偏导后得:

????技术分享 ????

????由多元函数极值的必要条件可知,若多元函数在一点取得极值,且一阶偏导存在,则该点处所有一阶偏导为0。由此,可以得出n+1个方程,如下:

????技术分享 ????

????由此方程解出的技术分享 不一定是似然函数的极值,需要通过Hessian矩阵来判断得出的解是否为似然函数的极值。

????Hessian矩阵是一个多元函数的二阶偏导构成的方阵,描述了函数的局部曲率。对一个多元函数技术分享 ,如果他的二阶偏导都存在,那么Hessian矩阵如下:

????技术分享 ????

????通过Hessian矩阵,我们可以判断一点M处极值的三种情况:

  1. 如果技术分享 是正定矩阵,则临界点M处是一个局部极小值;
  2. 如果技术分享 是负定矩阵,则临界点M处是一个局部极大值;
  3. 如果技术分享 是不定矩阵,则临界点M处不是极值。

对于中的n+1个方程,要求Hessian矩阵,先要求似然函数的二阶偏导,即:

????技术分享 ????

????则似然函数的Hessian矩阵为

????技术分享 ????

????设有矩阵X、A:

????技术分享 ????

????技术分享 ????

????则似然函数的Hessian矩阵可表示为:

????技术分享 ????

????显然,矩阵A是负定的,则可以证明H也是负定的,说明似然函数存在局部极大值。因此,可以使用牛顿迭代法(Newton‘s Method)来求技术分享

????对一元函数,使用牛顿迭代法来求零点。假设要求技术分享 的解,首先选取一个点技术分享 作为迭代起点,通过下面的式子进行迭代,直到达到指定精度为止。

????技术分享 ????

????由此,有时起始点选择很关键,如果函数只存在一个零点,那么这个起始点选取就无关重要。对已Logistic回归问题,Hessian矩阵对于任意数据都是负定的,所以说极值点只有一个,初始点的选取无关紧要。

????因此,对于上述Logistic回归的似然函数, 令:

????技术分享 ????

????则由可以得到如下的迭代式子:

????技术分享 ????

????由于Hessian矩阵是负定的,将矩阵A提取一个负号,得:

????技术分享 ????

????然后Hessian矩阵变为

????技术分享 ????

????这样,Hessian矩阵就是对称正定的了。那么牛顿迭代式变为:

????技术分享 ????

????现在,关键是如何快速并有效的计算技术分享,即解方程组技术分享 。由于技术分享 是对称正定的,可以使用Cholesky矩阵分解法来解。

????若技术分享 对称正定,则存在一个对角元为正数的下三角矩阵技术分享,使得技术分享 成立。对于技术分享,可以通过以下步骤求解:

  1. 技术分享 的Cholesky分解,得到技术分享
  2. 求解技术分享 ,得到技术分享
  3. 求解技术分享 ,得到技术分享

现在的关键问题是对技术分享 进行Cholesky分解。假设:

????技术分享 ????

????通过技术分享比较两边的关系,首先由

????技术分享 ????

再由

????技术分享 ????

????这样,得到了矩阵技术分享 的第一列元素。假设,已经算出了技术分享 的前技术分享 列元素,通过

????技术分享 ????

????可以得出

????技术分享 ????

????进一步由

????技术分享 ????

????最终:

????技术分享 ????

????这样便通过技术分享 的前技术分享 列求出了第技术分享 列,一直递推下去即可求出技术分享 。这种方法称为平方根法。

????利用上述方法需要进行开方,这有可能损失精度和增加运算量,为了避免开方,将Cholesky分解进行改进,即:

????技术分享 ????

????其中:技术分享 是单位下三角矩阵,技术分享 为对角均为正数的对角矩阵。把这一分解叫技术分享分解。设:

????技术分享 ????

????则对于技术分享,求解步骤变为:

  1. 技术分享技术分享分解,得到技术分享
  2. 求解技术分享 ,得到技术分享
  3. 求解技术分享 ,得到技术分享

对比两边元素,可以得到:

????技术分享 ????

????由此可以确定技术分享技术分享 的公式如下:

????技术分享 ????

????技术分享 ????

????技术分享 ????

逻辑斯谛回归模型

标签:

原文地址:http://www.cnblogs.com/reddatepz/p/4486106.html

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