关于人工智能:梯度下降算法在机器学习中的工作原理

38次阅读

共计 1415 个字符,预计需要花费 4 分钟才能阅读完成。

梯度降落算法在机器学习中的工作原理

作者 |NIKIL_REDDY
编译 |VK
起源 |Analytics Vidhya

介绍

梯度降落算法是工业中最罕用的机器学习算法之一。但这让很多新人感到困惑。

如果你刚刚接触机器学习,梯度降落背地的数学并不容易。在本文中,我的目标是帮忙你理解梯度降落背地的直觉。

咱们将疾速理解老本函数的作用,梯度降落的解释,如何抉择学习参数。

什么是老本函数

它是一个函数,用于掂量模型对任何给定数据的性能。老本函数将预测值与期望值之间的误差量化,并以单个实数的模式示意进去。

在对初始参数进行假如后,咱们计算了老本函数。以升高代价函数为指标,利用梯度降落算法对给定数据进行参数修改。上面是它的数学示意:

_LI.jpg)

什么是梯度降落

假如你在玩一个游戏,玩家在山顶,他们被要求达到山的最低点。此外,他们还蒙着眼睛。那么,你认为怎样才能达到湖边?

在你持续读之前,花点工夫考虑一下。

最好的方法是察看高空,找出高空降落的中央。从这个地位开始,向降落方向迈出一步,反复这个过程,直到达到最低点。

梯度降落法是一种求解函数部分极小值的迭代优化算法。

要用梯度降落法求函数的部分极小值,必须抉择与以后点处函数的负梯度(远离梯度)的方向。如果咱们采取与梯度的正方向,咱们将靠近函数的部分极大值,这个过程称为梯度回升。

梯度降落最后是由柯西在 1847 年提出的。它也被称为最速降落。

梯度降落算法的指标是最小化给定函数(比方老本函数)。为了实现这一指标,它迭代地执行两个步骤:

  1. 计算梯度(斜率),函数在该点的一阶导数
  2. 在与梯度相同的方向上做一步(挪动)

.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/

正文完
 0