前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习优化算法——梯度下降

机器学习优化算法——梯度下降

作者头像
企鹅号小编
发布2018-01-12 17:08:44
1K0
发布2018-01-12 17:08:44
举报
文章被收录于专栏:企鹅号快讯企鹅号快讯

在机器学习算法中,优化算法有很多,其中梯度下降法是个重头戏,如果说理解不到梯度下降法的原理,那很多算法的核心都难以掌握,今天我们就来谈谈何为“梯度下降法”。

我们首先来看一个例子。假设以下曲线是一损失函数L(w)的分布,求函数L(w)的极小值。一般地,如果函数复杂度不高,可以直接用求导令导数为0的方式求得(如果不懂如何求导可以自行翻阅数学课本)。但这种方式在函数复杂度较高时,方程变得难以解开,此时就需要寻找其他求解方法,求导取0的方法都用不了,难道要用穷举法?没错,就是要用穷举法来求解损失函数L(w)的最小值,只不过这个“穷举法”有点特殊,我们要给穷举法一个搜索的方向;如果是求解最大值,就往上搜索,反之若是求解最小值,就顺着函数梯度方向往下搜索。

这里的梯度很容易理解,就像我们爬山的时候一样,山坡倾斜的程度就相当于梯度,倾斜程度越高(陡峭的山坡)则梯度的绝对值越大;倾斜程度越低(平坦的草地),梯度的绝对值越小。

现在开始进入主题,如何沿着山坡到达低谷(找到极小值)?假设步长为,函数L(w)在点梯度为,点为我们的起始点,那么下一个落脚点为:

(1)

为我们一步所走的路程。式(1)设计得非常巧妙,令梯度,梯度越大,说明前面一段路都是比较陡的,还有一段路才能到达低谷,所以我们下次走的步伐可以更大一些;梯度越小,说明前面的坡度比较平坦,可能就到低谷了,为了避免一步很大而走错过低谷,应该降低步伐大小。

步长()决定了每次跨一步所走距离的大小,如果设置比较小,那我们一步走的距离就很短,可能走到天黑都还没到低谷;如果设置得比较大,我们一脚跨过一个山峰,很可能就错过了低谷。因此步长的设置比较关键,但本文暂不讨论,调参时可以将其设为0.1

知道了怎么走之后,我们就能沿着的方向开始行进了,那么终点在哪里呢?很明显,当我们到达低谷时,低谷的梯度倾向于平坦。如下图:

为了避免错过低谷,我们可以在低谷附近停下来就行了。设容差为,即当

上文是以L(w)为例(w为一元的形式)阐述了梯度下降方法的基本原理,但实际上要优化的函数其复杂度要比文中的L(w)复杂得多,但万变不离其宗,复杂的L(W)也是可以应用梯度下降的原理来取得最优值的。

本文来自企鹅号 - ML机器学习媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - ML机器学习媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档