机器学习中的数学(三)--牛顿法

写在前面    

  《机器学习中的数学》系列主要列举了在机器学习中用到的较多的数学知识,包括微积分,线性代数,概率统计,信息论以及凸优化等等。本系列重在描述基本概念,并不在应用的方面的做深入的探讨,如果想更深的了解某一方面的知识,请自行查找研究。

    牛顿法与梯度下降法相似,也是求解无约束最优化问题的常用方法,也有收敛速度快的优点。牛顿法是迭代算法,每一步需要求解木变函数的海塞矩阵(Hessian Matrix)的逆矩阵。

1. 牛顿法的通俗解释

    牛顿法就是求解某个函数的极小值,这是通过求解该函数导数的零点来得到的。如下图所示,图中的函数图像就是目标函数的导数,求解目标函数极小值等价于求解下图函数的零点。牛顿法求解零点的过程是这样的:

①首先任意找一点x0作为起始点,在其对应的函数值yo处做函数的切线。切线与X轴的交点命名为x1。x1就是下一阶段的起点。

                    机器学习中的数学(三)--牛顿法_第1张图片

② 和步骤①相似,在x1对应的函数值y1处做函数的切线。切线与X轴的交点命名为x2。x2是第三步的起点。

                     机器学习中的数学(三)--牛顿法_第2张图片

③ 同前两步一样,在x2对应的函数值y2处做函数的切线。切线与X轴的交点命名为x3。x3是第三步的起点。可以发现一步步的迭代,得到的x的值越来越靠近函数的零点。

                      机器学习中的数学(三)--牛顿法_第3张图片

④我们继续,在x3对应的函数值y3处做函数的切线。切线与X轴的交点命名为x4。可以发现,x4已经相当地靠近函数的零点了。只要不停的迭代下去,直到得到的x值与零点的距离足够小,满足阈值,即|Xn-X|<ε,即可将Xn当做函数的零点,也就是目标函数的极小值点。

                      机器学习中的数学(三)--牛顿法_第4张图片 

2. 牛顿法的数学解释

    牛顿法的通俗解释就是通过迭代法一步一步的找到目标函数的极值,下面来讲述一元函数和多元函数下牛顿法的数学解释以及多元函数下牛顿法的算法实现。

2.1 一元函数下牛顿法的数学解释

    根据第一部分的内容,一元函数在x0处的泰勒展开为:

                                       

只取前两项,则有:

                                                         

我们要找到f(x)的极小值点,等价于求f(x)导数的零点,所以我们将等式两边都进行微分并令其等于0:

                                                                     

可以得到关于x的等式:

                                                                            

上式就是牛顿法的第一步的迭代,由上式可以推导出牛顿法的通用迭代公式为:

                                                                          

根据该公式,即可通过一步步地迭代得到导数函数的零点即目标函数的极值点。

2.2 多元函数下牛顿法的数学解释

    与2.1过程一样,对多元函数进行泰勒展开,然后两边微分并等于0,得到多元函数的牛顿法迭代公式为:

                                                                      

其中右边第一项可以拆分为海塞矩阵(Hessian Matrix)与梯度的乘积:

                                                                                      

                                                                                      

                                                                                 

所以每次的迭代只需求接在当前点的海塞矩阵以及梯度值即可求解下一目标点。

2.3 多元函数下牛顿法的算法表达

   为了更简洁的表述牛顿法,做如下替换,令:

                                                                                

    则迭代公式变为:

                                                                                

   根据多元函数下牛顿法的数学解释,其算法表达如下:

机器学习中的数学(三)--牛顿法_第5张图片

注意:牛顿法由于迭代过程中要不断的计算海塞矩阵的逆矩阵,计算比较复杂,所以有很多替代牛顿法的方法例如拟牛顿法(DFP, BFGS, Broyden类算法)等

 

你可能感兴趣的:(•机器学习中的数学)