梯度下降算法详细介绍

梯度下降算法目录

  • 1.基础性知识介绍
    • 1.1 损失函数
    • 1.2 梯度下降算法介绍
    • 1.3 多参数函数举例
  • 2. 梯度下降算法具体实现
    • 2.1 算法公式
    • 2.2 算法推倒流程
    • 2.3 补充说明

1.基础性知识介绍

1.1 损失函数

  • 梯度下降算法和正规方程都是作为优化算法,来对损失函数进行优化的(获取损失函数最小值)

    • 损失函数:损失函数即为真实值与预测值之间的误差大小,通过梯度下降算法来对损失函数进行优化,使得损失结果变得最小

    梯度下降算法详细介绍_第1张图片
    如上图所示,即为最小二差法就是用来估计线性回归的损失函数。

1.2 梯度下降算法介绍

    梯度下降法的基本思想可以类⽐为⼀个下⼭的过程【这种理解是很形象的】。

    假设这样⼀个场景:⼀个⼈被困在⼭上,需要从⼭上下来(i.e. 找到⼭的最低点,也就是⼭⾕)。但此时⼭上的浓雾很⼤,导致可视度很低。因此,下⼭的路径就⽆法确定,他必须利⽤⾃⼰周围的信息去找到下⼭的路径。这个时候,他就可以利⽤梯度下降算法来帮助⾃⼰下⼭。

    具体来说就是,以他当前的所处的位置为基准,寻找这个位置最陡峭的地⽅,然后朝着⼭的⾼度下降的地⽅⾛【函数的斜率】,然后每⾛⼀段距离【斜率*步长】,都复采⽤同⼀个⽅法,最后就能成功的抵达⼭⾕。

梯度下降算法详细介绍_第2张图片
梯度下降的基本过程就和下⼭的场景很类似。⾸先,我们有⼀个可微分的函数。这个函数就代表着⼀座⼭。我们的⽬标就是找到这个函数的最⼩值,也就是⼭底。

1.3 多参数函数举例

梯度下降算法详细介绍_第3张图片

梯度下降算法详细介绍_第4张图片
梯度下降算法详细介绍_第5张图片

  • 梯度是微积分中⼀个很重要的概念
    • 在单变量的函数中,梯度其实就是函数的微分,代表着函数在某个给定点的切线的斜率;
    • 在多变量函数中,梯度是⼀个向量,向量有⽅向,梯度的⽅向就指出了函数在给定点的上升最快的⽅向;

我们需要到达⼭底,就需要在每⼀步观测到此时最陡峭的地⽅,梯度就恰巧告诉了我们这个⽅向。梯度的⽅向是函数在给定点上升最快的⽅向,那么梯度的反⽅向就是函数在给定点下降最快的⽅向,这正是我们所需要的。

2. 梯度下降算法具体实现

2.1 算法公式

在这里插入图片描述

其中, θi代表损失函数此时的损失函数参数(要求的就是他的最小值),α在梯度下降算法中被称作为学习率或者步⻓,意味着我们可以通过α来控制每⼀步⾛的距离,后面的是求出下一步的前进方向

2.2 算法推倒流程

  • 先决条件: 确认优化模型的假设函数和损失函数。
    梯度下降算法详细介绍_第6张图片

  • 算法相关参数初始化

    • 主要是初始化θ , θ …, θ ,算法终⽌距离ε以及步⻓α 。在没有任何先验知识的时候,我喜欢将所有的θ 初始化为0, 将步⻓初始化为1。在调优的时候再 优化。
  • 算法过程梯度下降算法详细介绍_第7张图片

2.3 补充说明

梯度前加负号:
梯度前加⼀个负号,就意味着朝着梯度相反的⽅向前进!我们在前⽂提到,梯度的⽅向实际就是函数在此点上升最快的⽅向!⽽我们需要朝着下降最快的⽅向⾛,⾃然就是负的梯度的⽅向,所以此处需要加上负号

实际上整个过程就是通过初始参数-梯度乘以补偿达到损失函数最小值是的模型参数的过程

你可能感兴趣的:(机器学习,算法,机器学习,人工智能)