深度学习5牛顿法

牛顿法解最大似然估计

对于之前我们解最大似然估计使用了梯度下降法,这边我们使用牛顿法,速度更快。

牛顿法也就是要求解clip_image002clip_image004可导,θ用下面进行迭代。

clip_image006

具体看这个图

clip_image008

clip_image010

对于我们刚刚的求最大似然估计,也就是clip_image012,则

clip_image014

下面在原理上说一说。

摘自:http://blog.csdn.net/luoleicn/article/details/6527049

对于一个目标函数f,求函数f的极大极小问题,可以转化为求解函数f的导数f'=0的问题,这样求可以把优化问题看成方程求解问题(f'=0),为了求解f'=0的根,把f(x)的泰勒展开,展开到2阶形式:

clip_image015

这个式子是成立的,当且仅当 Δx 无线趋近于0。此时上式等价与:

clip_image016

求解:

clip_image017

得出迭代公式:

clip_image018

一般认为牛顿法可以利用到曲线本身的信息,比梯度下降法更容易收敛(迭代更少次数),如下图是一个最小化一个目标方程的例子,红色曲线是利用牛顿法迭代求解,绿色曲线是利用梯度下降法求解。

clip_image020

在上面讨论的是2维情况,高维情况的牛顿迭代公式是:

clip_image021

其中H是hessian矩阵,定义为:

clip_image022

高维情况依然可以用牛顿迭代求解,但是问题是Hessian矩阵引入的复杂性,使得牛顿迭代求解的难度大大增加,但是已经有了解决这个问题的办法就是Quasi-Newton methond,不再直接计算hessian矩阵,而是每一步的时候使用梯度向量更新hessian矩阵的近似。

posted @ 2013-05-18 23:00  越影&逐日而行  阅读(1390)  评论(0编辑  收藏  举报