美文网首页
ML中的梯度下降

ML中的梯度下降

作者: 天之見證 | 来源:发表于2019-03-19 00:13 被阅读0次

1. 梯度下降

以最小二乘为例, 损失函数为:
L(\mathbf{w})=\frac{1}{2}\sum_{i=1}^N(\mathbf{w}^T\mathbf{x}_i-y_i)^2
w_j 求导得到:
\begin{align} \frac{\partial{L(\mathbf{w})}}{\partial w_j}&=\sum_{i=1}^N(\mathbf{w}^T\mathbf{x}_i-y_i)x_{ij} \\ &=\sum_{i=1}^N(\mathbf{w}^T\mathbf{x}_i-y_i)x_{ij} \end{align}
表示称向量形式如下:

\frac{\partial{L(\mathbf{w})}}{\partial \mathbf{w}}=\begin{bmatrix} \sum_{i=1}^N(\mathbf{w}^T\mathbf{x}_i-y_i)x_{i1} \\ \sum_{i=1}^N(\mathbf{w}^T\mathbf{x}_i-y_i)x_{i2} \\ \vdots \\ \sum_{i=1}^N(\mathbf{w}^T\mathbf{x}_i-y_i)x_{iD} \end{bmatrix}_{D\times1}

\mathbf{w} 的更新如下:
\mathbf{w}\leftarrow \mathbf{w}-\alpha \frac{\partial{L(\mathbf{w})}}{\partial \mathbf{w}} \tag{2}

2. mini-batch梯度下降

每次随机选取 m 个观测值来更新权重:
\frac{\partial{L(\mathbf{w})}}{\partial \mathbf{w}}=\begin{bmatrix} \sum_{i=k}^{k+m}(\mathbf{w}^T\mathbf{x}_i-y_i)x_{i1} \\ \sum_{i=k}^{k+m}(\mathbf{w}^T\mathbf{x}_i-y_i)x_{i2} \\ \vdots \\ \sum_{i=k}^{k+m}(\mathbf{w}^T\mathbf{x}_i-y_i)x_{iD} \end{bmatrix}_{D\times1}
这样可以看做每次都用一个不同的损失函数:
L_k(\mathbf{w})=\frac{1}{2}\sum_{i=k}^{k+m}(\mathbf{w}^T\mathbf{x}_i-y_i)^2 \tag{4}

3. 随机梯度下降 (SGD)

每次通过一个观测值 (\mathbf{x}_i,y_i) 来更新权重:
\frac{\partial{L(\mathbf{w})}}{\partial \mathbf{w}}=\begin{bmatrix} (\mathbf{w}^T\mathbf{x}_i-y_i)x_{i1} \\ (\mathbf{w}^T\mathbf{x}_i-y_i)x_{i2} \\ \vdots \\ (\mathbf{w}^T\mathbf{x}_i-y_i)x_{iD} \end{bmatrix}_{D\times1} \tag{5}
这样可以看做每次都用一个不同的损失函数:
L_i(\mathbf{w})=\frac{1}{2}(\mathbf{w}^T\mathbf{x}_i-y_i)^2 \tag{6}

4. 总结

从上面可以看出不同的更新权重的方式其实可以看做选取了不同的损失函数

ref:

  1. cs229-notes1
  2. What's the difference between gradient descent and stochastic gradient descent
  3. 几种梯度下降方法对比

相关文章

  • ML中的梯度下降

    1. 梯度下降 以最小二乘为例, 损失函数为:对 求导得到:表示称向量形式如下: 对 的更新如下: 2. mi...

  • 随机梯度下降法与批量梯度下降法的区别

    批量梯度下降法(batch gradient decent)就是我们平时所说的梯度下降,也就是梯度下降过程中,每次...

  • (三)线性回归--梯度下降

    一、梯度下降 二、代码的实现 (一.梯度下降) 导包 构建数据 梯度下降 使用梯度下降,可视化 (二。梯度下降矩阵...

  • 深入浅出--梯度下降法及其实现

    梯度下降的场景假设梯度梯度下降算法的数学解释梯度下降算法的实例梯度下降算法的实现Further reading 本...

  • 神经网络优化2

    梯度下降 梯度下降法 批梯度下降法(Batch Gradient Descent,BGD)是最常用的梯度下降形式,...

  • 浅谈神经网络中的梯度爆炸问题

    在神经网络中,梯度下降算法是使用非常广泛的优化算法。梯度下降算法的变体有好多,比如随机梯度下降(Stochasti...

  • 机器学习-常用优化方法

    一阶方法:梯度下降、随机梯度下降、mini 随机梯度下降降法。 随机梯度下降不但速度上比原始梯度下降要快,局部最优...

  • 2020-08-19--梯度下降法01

    梯度下降法简介 多元线性回归中的梯度下降法 随机梯度下降法 梯度下降法 的调试 1.梯度下降法简介 不是一个机器学...

  • ML-梯度下降代码-线性回归为例

    梯度下降代码线性回归为例 bgd 批量梯度下降 sbd 随机梯度下降 mbfd 小批量随机梯度下降

  • 最速下降和梯度下降

    梯度下降只是最速下降的一个子集,梯度下降用的是欧式范数。但是很多时候起始点的梯度并不代表过程中的梯度,所以有的时候...

网友评论

      本文标题:ML中的梯度下降

      本文链接:https://www.haomeiwen.com/subject/nzfwmqtx.html