090006 牛顿法

来源:互联网 发布:python 选股 买卖点 编辑:程序博客网 时间:2024/04/29 12:28

    牛顿法是另外一种常见的获取参数的极大似然值的方法,如图所示,

   当参数需要收敛到与x值相交的地方。如果选择从开始,计算 处的切线,切线与x轴相交于,根据导数的定义,可以得到:

因此:

   求似然函数L(Q),为得到似然函数的最大值,令,求此时的Q取值,则:

    在实现该方法时,Q的初始值对结果影响并不大,一般取。实验证明牛顿法是一种很快的收敛算法,其收敛速度为二次收敛。一般不考虑常量因子,在每次迭代后,误差的都会数量级的降低。例如,第一次迭代为0.1,第二次就会达到0.01,第三次就会达到0.001......后一次迭代是前一次的误差的平方。在逻辑回归中,对于规模合适的样本集,特征在几十到几百维,迭代10几次,就可以收敛。
    上面的例子中Q只是一组数字,在一般化的牛顿法中,Q是一个向量。因此:

加号后面是梯度。H为海森矩阵,表示为:

    由于每次迭代都需要计算一次海森矩阵,当样本数和特征维数特别大时,计算代价很大。在特征维数和样本数比较合理的时候,用该方法比较合适。一般几十到几百维特征可以选择用该方法。

0 0
原创粉丝点击