【cs229-Lecture4】Newton’s method

时间:2022-03-09 20:28:58

之前我们在求Logistic回归时,用的是梯度上升算法,也就是要使得似然函数最大化,利用梯度上升算法,不断的迭代。这节课引出牛顿方法,它的作用和梯度上升算法的一样的,不同的是牛顿方法所需的迭代次数更少,收敛速度更快。

【cs229-Lecture4】Newton’s  method红色曲线是利用牛顿法迭代求解,绿色曲线是利用梯度下降法求解。

牛顿法:wiki

牛顿法Newton's method)又称为牛顿-拉弗森方法Newton-Raphson method),它是一种在实数域和复数域上近似求解方程的方法。方法使用函数【cs229-Lecture4】Newton’s  method泰勒级数的前面几项来寻找方程【cs229-Lecture4】Newton’s  method的根。

【cs229-Lecture4】Newton’s  method

首先,选择一个接近函数【cs229-Lecture4】Newton’s  method零点【cs229-Lecture4】Newton’s  method,计算相应的【cs229-Lecture4】Newton’s  method和切线斜率【cs229-Lecture4】Newton’s  method(这里【cs229-Lecture4】Newton’s  method表示函数【cs229-Lecture4】Newton’s  method导数)。然后我们计算穿过点【cs229-Lecture4】Newton’s  method并且斜率为【cs229-Lecture4】Newton’s  method的直线和【cs229-Lecture4】Newton’s  method轴的交点的【cs229-Lecture4】Newton’s  method坐标,也就是求如下方程的解:

【cs229-Lecture4】Newton’s  method

我们将新求得的点的【cs229-Lecture4】Newton’s  method坐标命名为【cs229-Lecture4】Newton’s  method,通常【cs229-Lecture4】Newton’s  method会比【cs229-Lecture4】Newton’s  method更接近方程【cs229-Lecture4】Newton’s  method的解。因此我们现在可以利用【cs229-Lecture4】Newton’s  method开始下一轮迭代。迭代公式可化简为如下所示:

【cs229-Lecture4】Newton’s  method

已经证明,如果【cs229-Lecture4】Newton’s  method连续的,并且待求的零点【cs229-Lecture4】Newton’s  method是孤立的,那么在零点【cs229-Lecture4】Newton’s  method周围存在一个区域,只要初始值【cs229-Lecture4】Newton’s  method位于这个邻近区域内,那么牛顿法必定收敛。 并且,如果【cs229-Lecture4】Newton’s  method不为0, 那么牛顿法将具有平方收敛的性能. 粗略的说,这意味着每迭代一次,牛顿法结果的有效数字将增加一倍。

from:http://blog.csdn.net/luoleicn/article/details/6527049

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

【cs229-Lecture4】Newton’s  method

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

【cs229-Lecture4】Newton’s  method

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