美文网首页
2023-09-16 01 梯度

2023-09-16 01 梯度

作者: 麒麟楚庄王 | 来源:发表于2023-09-15 14:57 被阅读0次

来源:深度学习——损失函数与梯度推导_ftmax 损失函数以及梯度推导计算_隔壁的NLP小哥的博客-CSDN博客

1. 均方误差的梯度

均方误差是一种常见的损失函数,一般在回归问题中比较常见,其基本公式为:

J =MSE=\frac{1}{C} \sum_{i=1}^L (y_{ri}-y_i)^2

其中,C是一个超参数,为了便于求导,一般情况下取C=2。 y_{ri}是真实的标签值的第i个属性值,y_i表示预测值的第i个属性值。

则有:

\frac{∂J }{∂y_{i}}  = \frac{∂\frac{1}{C}\sum_{i=1}^L (y_{ri}-y_i)^2}{∂y_{i}} =\frac{2}{C}(y_{ri}-y_i)*(-1) = \frac{2}{C}(y_i-y_{ri})

整理成向量的形式有:

\frac{∂J}{∂y}=\frac{2}{C}*\begin{matrix}y_1-y_{r1}\\y_2-y_{r2}\\......\\y_L-y_{rL}\\\end{matrix}

2. sotfmax + 交叉熵

sotfmax和交叉熵通常被用于分类任务中,其中,softmax的定义为:

其中,softmax的定义为:y_i = \frac{e^{o_i}}{∑_{j=1}^Le^{o_j}}

其中,o_i表示输出单元输出的第i个属性值,一般情况下,y_i表示属于第i类的概率。

交叉熵的损失函数定义为:

J = - ∑_{i=1}^Ly_{ri}ln(y_i)

其中y_{ri}表示真实的第i类的概率值。

一般情况下,softmax产生的是一个L维的概率分布Y。

而真实向量Y_r是一个0,1向量,1表示对应的分类。0表示不是该分类。

3. 梯度计算

现在,我们假设在真实的分类向量Y_r中,对应的是第s个分类。

y_s = 1, 则有y_{i≠s}=0

我们分成两种情况:

1)  当i=s的时候,有:

J = - y_{rs}ln(y_s)

y_s = \frac{e^{o_s}}{∑_{j=1}^Le^{o_j}}

则有:\frac{∂J}{∂o_s}=\frac{∂J}{∂y_s}*\frac{∂y_s}{∂o_s}=\frac{∂( - y_{rs}ln(y_s))}{∂y_s}*\frac{∂\frac{e^{o_s}}{∑_{j=1}^Le^{o_j}}}{∂o_s}

根据 J和 y_s 和进一步化简有:\frac{∂( - y_{rs}ln(y_s))}{∂y_s}=-y_{rs}*\frac{1}{y_s}

有:\frac{∂\frac{e^{o_s}}{∑_{j=1}^Le^{o_j}}}{∂o_s}=\frac{e^{o_s}*(∑_{j=1}^Le^{o_j}-e^{o_s})}{(∑_{j=1}^Le^{o_j})^2}

将上式带入到原始的式子中,有:

\frac{∂J}{∂o_s}=-y_{rs}*\frac{∑_{j=1}^Le^{o_j}}{e^{o_s}}*\frac{e^{o_s}*(∑_{j=1}^Le^{o_j}-e^{o_s})}{(∑_{j=1}^Le^{o_j})^2}=-y_{rs}*(1-y_s)

2) 当i≠s的时候,有:

J = - y_{rs}ln(y_s)

y_s = \frac{e^{o_s}}{∑_{j=1}^Le^{o_j}}

\frac{∂J}{∂o_i}=\frac{∂J}{∂y_s}*\frac{∂y_s}{∂o_i}=-y_{rs}*\frac{1}{y_s}*\frac{∂y_s}{∂o_i}

其中:\frac{∂y_s}{∂o_i}=\frac{-e^{o_s}*e^{o_i}}{(∑_{j=1}^Le^{o_j})^2}

带入到原式子之后:\frac{∂J}{∂o_i}=-y_{rs}*\frac{∑_{j=1}^Le^{o_j}}{e^{o_s}}*\frac{-e^{o_s}*e^{o_i}}{(∑_{j=1}^Le^{o_j})^2}=y_{rs}*y_i

3) 最后,根据y_{rs}=1y_{ri}=0

我们能够发现,上面两种情况的计算结果可以化简为:

当i=s的时候,导数为y_s - y_{rs}

当i≠s的时候,导数为y_i-y_{ri}

由此可以总结出:\frac{∂J}{∂o_i}=y_{i} - y_{ri}

相关文章

  • 2023-09-16

    上午一直待在家里没有出门,下午准备出门前,在线上点了一杯霸王茶姬奶茶,准备一会出门后就直接去拿。点的时候显示前面已...

  • 2023-09-16

    每一天都值得使劲的活着! 这些天总是会回忆起很小的时候自己心中的那些迷茫,没有来由的,就是觉得生活没有意思。 记得...

  • 2018-11-15

    --- layout: post title: 梯度下降算法小结 date: 2017-01-11 09:00:...

  • 02 SVM - 拉格朗日乘子法

    01 SVM - 概述 自变量无约束的求极值方法 - 梯度下降法 10 回归算法 - 梯度下降在线性回归中的应用1...

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

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

  • 梯度下降和梯度上升

    梯度上升与梯度下降 - HIT-security - 博客园 不管梯度下降还是梯度上升,随着迭代的进行,梯度都是在...

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

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

  • 24、其他形态学操作

    基本梯度 内外梯度

  • 梯度消失以及梯度爆炸

    GoogLeNet的提出主要就是为了应对梯度消失以及梯度爆炸,本文就是讲解下什么是梯度消失,以及梯度爆炸。 梯度消...

  • 神经网络优化2

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

网友评论

      本文标题:2023-09-16 01 梯度

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