机器学习笔记之十八——分别从象限和泰勒理解牛顿法

  牛顿法与梯度下降法作用相同,都是求解函数用的,在机器学习问题中,就是求解损失函数,寻找最优参数。

  

  1、从几何图像来看牛顿法

    有一个待解函数 f(x)=x^2,我们要求它的0点解x*,用牛顿法。

   假设有一个点x0十分接近x*,在这个点对函数曲线做切线。如果x0点之下的曲线斜率保持不变,那么这条切线与的0点解(即切线与x轴的交点)就是曲线的零点解。实际上,斜率在变,这时我们又发现,x0点越接近0点解x*,切线的0点解就越接近x*,牛顿法就是同样不断的更新x0,找到更好的切线,再找到更接近的x0,这样的方式来寻找近似解的。

   (1)、知道切线的斜率,可以写出方程:L(x) = f^{'}(x_0)x+k

  (2)、将x0,f(x0)带入切线方程,解出k:L(x)=f^{'}(x_0)x+f(x_0)-f^{'}(x)x_0

  (3)、求切线方程的0点解:f^{'}(x_0)x^*+f(x_0)-f^{'}(x^*)x_0=0,可以得到x^*=x_0-\frac{f(x_0)}{f^{'}(x_0)}

  (4)、此时的得到的x*是切线的解,比x0更接近真正的0点解但不一定是,所以我们可以将x*置为x0,再次求解下一个更近似的x*,如此迭代下去,找到一个满意的近似解。

    

 这里值得注意的是,机器学习的问题求得往往不是f(x)的0点解,而是f(x)的最值。

对于一个凸函数,f(x)的最值就是导函数为0的解,问题就从函数的0点解转化成了导函数的0点解问题,差不多,公式如下:

x^*=x_0-\frac{f^{'}(x_0)}{f^{''}(x_0)}

2、从泰勒公式到牛顿法

  利用泰勒公式的性质求解近似0点解:

  formula 

只取前两项,在x=x0点处,有f(x)=f(x_0)+f^{'}(x_0)(x-x_0)

那么,当f(x)=0时,就有x=x_0-\frac{f(x_0)}{f^{'}(x_0)},这就得到了和上面一样的更新公式。

多元函数的牛顿法,首先理解多元函数的泰勒公式展开,除了二阶导叫做Hession矩阵,感觉都是一样的。

发布了88 篇原创文章 · 获赞 28 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_35946969/article/details/86845230