首页 > 代码库 > 牛顿迭代法求Logistic回归

牛顿迭代法求Logistic回归

接着上次的一篇文章:http://blog.csdn.net/acdreamers/article/details/27365941

 

在上次这篇文章中,对于Logistic回归问题,我们已经写出它的最大似然函数,现在来求最大似然估计。所以对似

然函数求偏导数,得到了个方程,即

 

       

 

由于我们只要根据这个方程解出所有的即可,但是这不是一件容易的事,还有Logistic回归求的是最大似

然估计,我们在多元函数求极值问题中也说过,导数等于零的点可能是极大值,极小值或者非极值。所以还要靠一个

Hessian矩阵的东西来判断。详见:http://blog.csdn.net/acdreamers/article/details/29594175

 

Hessian矩阵那就先得求二阶偏导,所以进行如下推导过程

 

        

 

Hessian矩阵表示出来。那么有

 

          

 

所以得到,可以看出矩阵的所有特征值都是小于零的,那么说明Hessian矩阵是负定的,也就是说

多元函数存在局部极大值,这也符合开始要求的最大似然估计。Hessian矩阵描述了多元函数的局部曲率,普通的牛

顿迭代形式如下(求解方程

 

      

 

开始我们会选择一个点作为迭代起始点,有时候这个点的选取很关键,因为牛顿迭代法得到的是局部最优解,如

果函数只存在一个零点,那么这个点选取无关重要,但是如果存在多个局部最优解,一般是求指定在某个点

附近的零点。对于Logistic回归问题,局部最优解不一定是全局最优解,我们可以多次随机取最优解。

 

对于上述方程组,我们同样用牛顿迭代法求解,那么有,其中

 

       

 

上述的是对称负定的,现在求,也就是解线性方程,由于对称负定,所以用Cholesky分解。

 

Cholesky分解原理后续会详细讲解。

 

这样通过表达式一直迭代下去,直到指定的精度,收敛到局部最优值。当然,全局最优值可以

多次随机初始值取最优即可。