牛顿迭代法中的牛顿方向问题

1. 在数学分析和数理统计的课程中提到牛顿迭代法,它的几何意义是相当于在某一点做一个抛物线,求抛物线的最小值对应的函数值,来达到一个快速下降的目的。但是这种抛物线是怎么得来的?或者说怎么就知道这个迭代动作就是在走一个抛物线呢? 2. 在后面关于牛顿法的局限性中,有一点提到二阶导矩阵可能是不可逆的,这时候根本就没有牛顿方向,也不太能理解没有牛顿方向是什么样的情形。。。如果套用一阶导的思维,可以理解为不小心走到了$$ f^{\prime}(x)=0$$ 的位置,下一步迭代出来的$$ x $$就直接跑到无穷去了,然后整个迭代过程就进行不下去了么? 3. 麻烦老师了

wgb - 机器学习与数据挖掘从业者

赞同来自: fish kapoyegou

首先回答你的第一个问题,这样的抛物线怎么来的? 实际上,我们机器学习最后要做的事情就是将现实生活中的实际问题(垃圾邮件分类,流失率预测,编码解码等)转化为抽象的模型(分类模型、回归模型等),而大部分的模型最后都会表示称为一个优化问题(有约束优化、或者无约束优化)。比如线性回归中我们要优化的而函数就是: min ||Y-X*beta||^2 。 而这样的优化函数(目标函数)就是你所谓的“抛物线”。 因此,你可以理解为“抛物线”由模型中来。   只是这里我们需要注意的是,我们举例中的最小二乘的例子,其目标函数刚好是一个凸函数,所以其就是你所理解的抛物线(只有一个稳定点,或者局部最优解也是全局最优解)。但是对于很多非凸优化问题,往往问题就不这么简单,再这样的情况下,你用牛顿法可能得到一个局部最优解,但是这个局部最优并不是全局最优的。   其次,关于牛顿防线,其实就是下降方向或者上升方向。关于最优化问题,对于初学者来说,肯能不那么容易理解。可以推荐你看下中科院袁亚湘院士之前做的一个形象通俗的报告《瞎子爬上与优化算法》,下面是报告的资料链接: http://blog.sciencenet.cn/home ... 79903  

gloriadeng

赞同来自: kapoyegou

本身来讲,在精确线搜索的条件下,最速下降法是线性的,比牛顿法的二阶更慢,实际应用中,由于最速下降法走折线,所以会显得更慢

邹博 - 计算机科学博士,深谙机器学习算法原理

赞同来自: kapoyegou

1、根据三个信息:(xk,f(xk))、(xk,f'(xk))、(xk,f''(xk))得到的拟合曲线,本质就是抛物线(这就是咱们课上我说的“抛物线”的由来,虽然其他文献貌似没这么说——但这个肯定是对的,看一下Taylor展式即可)。 2、由于二阶导f''(xk)可能为0甚至为负,则迭代后的xk+1可能不是下降方向(如果为0,则无法计算)。 3、因为使用了二阶导数,所以可以粗略的认为是二次收敛的——如果精确计算,则计算二次值的比值的极限即可。

kapoyegou

赞同来自:

恩,好像明白了,谢谢老师!然后再问下,我看见资料里提到牛顿法是可以被证明是二次收敛的,这就是它会比梯度下降收敛速度更快的原因吗

要回复问题请先登录注册