共计 1415 个字符,预计需要花费 4 分钟才能阅读完成。
梯度降落算法在机器学习中的工作原理
作者 |NIKIL_REDDY
编译 |VK
起源 |Analytics Vidhya
介绍
梯度降落算法是工业中最罕用的机器学习算法之一。但这让很多新人感到困惑。
如果你刚刚接触机器学习,梯度降落背地的数学并不容易。在本文中,我的目标是帮忙你理解梯度降落背地的直觉。
咱们将疾速理解老本函数的作用,梯度降落的解释,如何抉择学习参数。
什么是老本函数
它是一个函数,用于掂量模型对任何给定数据的性能。老本函数将预测值与期望值之间的误差量化,并以单个实数的模式示意进去。
在对初始参数进行假如后,咱们计算了老本函数。以升高代价函数为指标,利用梯度降落算法对给定数据进行参数修改。上面是它的数学示意:
_LI.jpg)
什么是梯度降落
假如你在玩一个游戏,玩家在山顶,他们被要求达到山的最低点。此外,他们还蒙着眼睛。那么,你认为怎样才能达到湖边?
在你持续读之前,花点工夫考虑一下。
最好的方法是察看高空,找出高空降落的中央。从这个地位开始,向降落方向迈出一步,反复这个过程,直到达到最低点。
梯度降落法是一种求解函数部分极小值的迭代优化算法。
要用梯度降落法求函数的部分极小值,必须抉择与以后点处函数的负梯度(远离梯度)的方向。如果咱们采取与梯度的正方向,咱们将靠近函数的部分极大值,这个过程称为梯度回升。
梯度降落最后是由柯西在 1847 年提出的。它也被称为最速降落。
梯度降落算法的指标是最小化给定函数(比方老本函数)。为了实现这一指标,它迭代地执行两个步骤:
- 计算梯度(斜率),函数在该点的一阶导数
- 在与梯度相同的方向上做一步(挪动)
.png)
Alpha 被称为学习率 - 优化过程中的一个调整参数。它决定了步长。
绘制梯度降落算法
当咱们有一个繁多的参数(θ),咱们能够在 y 轴上绘制因变量老本,在 x 轴上绘制 θ。如果有两个参数,咱们能够进行三维绘图,其中一个轴上有老本,另两个轴上有两个参数(θ)。
它也能够通过应用等高线来可视化。这显示了一个二维的三维绘图,其中包含沿两个轴的参数和等高线的响应值。远离核心的响应值减少,并且随着环的减少而减少。
α- 学习率
咱们有了后退的方向,当初咱们必须决定咱们必须采取的步骤的大小。
必须审慎抉择,以达到部分最小值。
- 如果学习率太高,咱们可能会超过最小值,而不会达到最小值
- 如果学习率太低,训练工夫可能会太长
a)学习率最优,模型收敛到最小
b)学习速度太小,须要更多的工夫,但会收敛到最小值
c)学习率高于最优值,较慢速度的收敛(1/c<η < 2/c)
d)学习率十分大,它会适度偏离,偏离最小值,学习性能降落
注:随着梯度减小而向部分最小值挪动,步长减小。因而,学习速率(alpha)能够在优化过程中放弃不变,而不须要迭代地扭转。
部分最小值
老本函数能够由许多最小点组成。梯度能够落在任何一个极小值上,这取决于初始点(即初始参数 θ)和学习速率。因而,在不同的终点和学习率下,优化能够收敛到不同的点。
梯度降落的 Python 代码实现
结尾
一旦咱们调整了学习参数 (alpha) 并失去了最优的学习速率,咱们就开始迭代,直到咱们收敛到部分最小值。
原文链接:https://www.analyticsvidhya.c…
欢送关注磐创 AI 博客站:
http://panchuang.net/
sklearn 机器学习中文官网文档:
http://sklearn123.com/
欢送关注磐创博客资源汇总站:
http://docs.panchuang.net/