今日面试题分享:牛顿法和梯度下降法有什么不同?

2019 年 2 月 27 日 七月在线实验室


今日面试题分享
牛顿法和梯度下降法有什么不同?


参考答案:


解析:

牛顿法(Newton's method) 

牛顿法是一种在实数域和复数域上近似求解方程的方法。方法使用函数f (x)的泰勒级数的前面几项来寻找方程f (x) = 0的根。牛顿法最大的特点就在于它的收敛速度很快。  


具体步骤: 

首先,选择一个接近函数 f (x)零点的 x0,计算相应的 f (x0) 和切线斜率f  ' (x0)(这里f ' 表示函数 f  的导数)。 


然后我们计算穿过点(x0,f(x0))并且斜率为f '(x0)的直线和x轴的交点的x坐标,也就是求如下方程的解:



我们将新求得的点的 x 坐标命名为x1,通常x1会比x0更接近方程f  (x) = 0的解。 因此我们现在可以利用x1开始下一轮迭代。迭代公式可化简为如下所示:


已经证明,如果f'是连续的,并且待求的零点x是孤立的,那么在零点x周围存在一个区域,只要初始值x0位于这个邻近区域内,那么牛顿法必定收敛。 


并且,如果f'(x)不为0, 那么牛顿法将具有平方收敛的性能. 粗略的说,这意味着每迭代一次,牛顿法结果的有效数字将增加一倍。 


由于牛顿法是基于当前位置的切线来确定下一次的位置,所以牛顿法又被很形象地称为是"切线法"。牛顿法的搜索路径(二维情况)如下图所示:


关于牛顿法和梯度下降法的效率对比: 

a)从收敛速度上看 ,牛顿法是二阶收敛,梯度下降是一阶收敛,前者牛顿法收敛速度更快。但牛顿法仍然是局部算法,只是在局部上看的更细致,梯度法仅考虑方向,牛顿法不但考虑了方向还兼顾了步子的大小,其对步长的估计使用的是二阶逼近。  


b)根据wiki上的解释,从几何上说,牛顿法就是用一个二次曲面去拟合你当前所处位置的局部曲面,而梯度下降法是用一个平面去拟合当前的局部曲面,通常情况下,二次曲面的拟合会比平面更好,所以牛顿法选择的下降路径会更符合真实的最优下降路径。

注:红色的牛顿法的迭代路径,绿色的是梯度下降法的迭代路径。  


牛顿法的优缺点总结: 

优点:二阶收敛,收敛速度快; 

缺点:牛顿法是一种迭代算法,每一步都需要求解目标函数的Hessian矩阵的逆矩阵,计算比较复杂。  

本题解析来源:@wtq1993

链接:http://blog.csdn.net/wtq1993/article/details/51607040



题目来源:七月在线官网(www.julyedu.com)——面试题库——面试大题——机器学习




今日学习推荐


【推荐系统就业班 第二期】


BAT大咖一对一个性化定制辅导

定制学习路线

简历与项目定制   面试辅导与内推


保就业  保高薪  先就业  后付费


新一轮金三银四之际来了

又到了各大企业狂招人的季节

也是跳槽涨薪的最佳时节啦

有意的亲们抓紧时间喽

挑战高薪,玩转AI~


长按识别下方二维码  

查看更多课程详情

长按识别二维码


往期推荐






必备收藏!8500+公开代码论文,950多项机器学习任务最优结果汇总

不看后悔!2019年人工智能行业25大趋势

春招已近,这份GitHub万星的ML算法面试大全请收下

特朗普终于顾不得美国人就业,准备举国搞人工智能了

必读!2018最具突破性计算机视觉论文Top 10



咨询,查看课程,请点击“阅读原文

给我【好看

你也越好看!

登录查看更多
2

相关内容

在数值分析中,牛顿方法,也被称为牛顿-拉夫森方法,是一种求根的算法,它对实值函数的根(或零)产生连续更好的逼近.
最新《自动微分手册》77页pdf
专知会员服务
97+阅读 · 2020年6月6日
【Nature论文】深度网络中的梯度下降复杂度控制
专知会员服务
38+阅读 · 2020年3月9日
 第八届中国科技大学《计算机图形学》暑期课程课件
专知会员服务
54+阅读 · 2020年3月4日
麻省理工学院MIT-ICLR2020《神经网络能推断出什么?》
专知会员服务
50+阅读 · 2020年2月19日
谷歌机器学习速成课程中文版pdf
专知会员服务
143+阅读 · 2019年12月4日
面经 | 算法工程师面试题汇总
极市平台
12+阅读 · 2019年10月14日
面试时让你手推公式不在害怕 | 梯度下降
计算机视觉life
14+阅读 · 2019年3月27日
今日面试题分享:L1和L2的区别
七月在线实验室
7+阅读 · 2019年3月14日
今日面试题分享:简单介绍下LR
七月在线实验室
7+阅读 · 2019年2月20日
BAT机器学习面试题1000题(331~335题)
七月在线实验室
12+阅读 · 2018年8月13日
深度学习面试100题(第81-85题)
七月在线实验室
16+阅读 · 2018年8月6日
深度学习面试100题(第76-80题)
七月在线实验室
6+阅读 · 2018年8月3日
深度学习面试100题(第71-75题)
七月在线实验室
5+阅读 · 2018年8月2日
BAT机器学习面试1000题系列(第51~55题)
七月在线实验室
10+阅读 · 2017年10月8日
Learning Dynamic Routing for Semantic Segmentation
Arxiv
8+阅读 · 2020年3月23日
Arxiv
3+阅读 · 2018年10月18日
Arxiv
3+阅读 · 2018年5月21日
Arxiv
3+阅读 · 2018年5月20日
Arxiv
4+阅读 · 2018年3月19日
VIP会员
相关资讯
面经 | 算法工程师面试题汇总
极市平台
12+阅读 · 2019年10月14日
面试时让你手推公式不在害怕 | 梯度下降
计算机视觉life
14+阅读 · 2019年3月27日
今日面试题分享:L1和L2的区别
七月在线实验室
7+阅读 · 2019年3月14日
今日面试题分享:简单介绍下LR
七月在线实验室
7+阅读 · 2019年2月20日
BAT机器学习面试题1000题(331~335题)
七月在线实验室
12+阅读 · 2018年8月13日
深度学习面试100题(第81-85题)
七月在线实验室
16+阅读 · 2018年8月6日
深度学习面试100题(第76-80题)
七月在线实验室
6+阅读 · 2018年8月3日
深度学习面试100题(第71-75题)
七月在线实验室
5+阅读 · 2018年8月2日
BAT机器学习面试1000题系列(第51~55题)
七月在线实验室
10+阅读 · 2017年10月8日
相关论文
Top
微信扫码咨询专知VIP会员