来源:深度学习——损失函数与梯度推导_ftmax 损失函数以及梯度推导计算_隔壁的NLP小哥的博客-CSDN博客
1. 均方误差的梯度
均方误差是一种常见的损失函数,一般在回归问题中比较常见,其基本公式为:
其中,C是一个超参数,为了便于求导,一般情况下取C=2。是真实的标签值的第i个属性值,表示预测值的第i个属性值。
则有:
整理成向量的形式有:
2. sotfmax + 交叉熵
sotfmax和交叉熵通常被用于分类任务中,其中,softmax的定义为:
其中,softmax的定义为:
其中,表示输出单元输出的第i个属性值,一般情况下,表示属于第i类的概率。
交叉熵的损失函数定义为:
其中表示真实的第i类的概率值。
一般情况下,softmax产生的是一个L维的概率分布Y。
而真实向量是一个0,1向量,1表示对应的分类。0表示不是该分类。
3. 梯度计算
现在,我们假设在真实的分类向量中,对应的是第s个分类。
, 则有
我们分成两种情况:
1) 当i=s的时候,有:
则有:
根据 和 和进一步化简有:
有:
将上式带入到原始的式子中,有:
2) 当i≠s的时候,有:
其中:
带入到原式子之后:
3) 最后,根据,
我们能够发现,上面两种情况的计算结果可以化简为:
当i=s的时候,导数为
当i≠s的时候,导数为
由此可以总结出: