python专题深度学习 神经网络机器学习

【机器学习】梯度下降:Gradient Descent

2021-09-11  本文已影响0人  宅家学算法
  • 无约束最优化问题(unconstrained optimization problem):从一个问题的所有可能的备选方案中,选择出依某种指标来说是最优的解决方案。
  • 机器学习的核心内容就是把数据喂给一个人工设计的模型,然后让模型自动的“学习”,从而优化模型自身的各种参数,最终使得在某一组参数下该模型能够最佳的匹配该学习任务
  • 损失函数(loss function):为了评估模型拟合的好坏,通常用损失函数来度量拟合的程度。损失函数极小化,意味着拟合程度最好,对应的模型参数即为最优参数。在线性回归中,损失函数通常为样本输出和假设函数的差取平方。

  在求解机器学习算法的模型参数(可以理解为求解一个无约束优化问题)时,求解最小损失函数最常采用梯度下降的方法,另一种常用的方法是最小二乘法。
  梯度下降法是一种常用的一阶(first-order)优化方法,该算法从任一点开始,沿该点梯度的反方向运动一段距离,再沿新位置的梯度反方向运行一段距离 ...... 如此迭代。解一直朝下坡最陡的方向运动,希望能运动到函数的全局最小点。

寻找最小点过程

1.梯度

  • 梯度:函数在某一点的梯度是一个自变量空间内的向量。自变量顺着梯度方向变化时函数值上升得最快。梯度的模(长度)是函数值上升的速率。梯度朝某方向投影的长度是自变量顺着该方向变化时函数值的变化率。梯度可以理解为多变量微分的一般化。
    梯度,分别对每个变量求偏导数然后用逗号分割开,梯度是用<>包括起来,说明梯度其实一个向量

  在单变量的函数中,梯度其实就是函数的偏导数,代表着函数在某个给定点的切线的斜率;在多变量函数中,梯度是一个向量(对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来),向量有方向,梯度的方向就指出了函数在给定点的上升最快的方向。梯度的方向是函数在给定点上升最快的方向,那么梯度的反方向就是函数在给定点下降最快的方向,这正是梯度下降所需要的

2.梯度下降

  • 步长(Learning rate):决定了在梯度下降迭代的过程中,每一步沿梯度负方向前进的长度。用下山的例子,步长就是在当前这一步所在位置沿着最陡峭最易下山的位置走的那一步的长度。

  f(x)是关于x的一个函数,我们当前所处的位置为x0点,要从这个点走到f(x)的最小值点,也就是山底。首先我们先确定前进的方向,也就是梯度的反向,然后走一段距离的步长𝛼,走完这个段步长,就到达了x1这个点!

梯度下降——代数解释,x可表示为单变量,也可表示为向量

过程

  设定:算法终止距离𝜀以及步长 𝛼

梯度下降是一种迭代算法

3.梯度下降的算法调优

上一篇 下一篇

猜你喜欢

热点阅读