今天看了交叉熵损失函数求导,上网上找,发现很多博客写的不清楚,下面具体写一下求导的过程。
关于交叉熵函数的介绍,参见我的上一篇博客。https://blog.csdn.net/qq_39004117/article/details/84260784
首先,在多分类问题中,交叉熵损失函数的定义为:
其中,
如果样本i的类别是k,那么=1,否则
。由此可知,
。
我一开始,对于i,k,j,w感觉非常混乱,现在我画一幅图来解释一下:
对于每一个类k,我都有一个对应的列向量(不知道为啥不能加粗。。。),
对应图中的向量X,
是通过softmax算出来的第i个样本属于第k类的概率。
【推导】
对
对
(编辑公式废了老大劲了……)
我们现在已经推出来了经过softmax的概率对于的偏导,现在我们回头看cross entropy loss function:
至此,推导完毕。
可以直观的看出,预测的值和实际值越接近,损失就越小。