在分类任务总利用交叉熵作为损失函数后对输出层的输入O求导后为预测值为y^-y,why?
由下图可知交叉熵和softmax的公式如下图所示,如何求出的下入右框中的求导式子。
【为什么上图中的交叉熵的式子与我们平常所见的不同】
由上图,一般交叉熵的标准形式为上图中橙色方框中的公式,在二元逻辑回归中,我们见到的损失函数为绿色框中的形式,而在多元分类任务中写成了蓝色框中的情况,与负对数似然类似。其实我们可以将绿色和蓝色框中的公式当成对橙色框中公式的两种解读。
【黄框】标准的交叉熵公式
【绿框】二分类情况下的变体
【蓝框】多分类下的变体
二分类任务情况下
二分类任务中仅有两种可能:正或负,将标准的交叉熵展开后则为橙色框下的第二行文字中的公式,由于在二元分类任务中,正负情况的真实标签和预测标签相加都为1,将第二行公式中的负真实标签和预测标签全部替换,就成了绿色框中的公式
分类任务的交叉熵之所以能够写成蓝框中的形式是因为在真实标签中y向量中只有一个元素为1,其余为零,因此相加的项中仅保留了真标签项,所以能够写成蓝框中的公式,其中y^为输出向量中对真实类别估计的概率。
交叉熵中只有一个变量,是真标签的预测概率,假设y^1 为真标签,y^2为假标签,在形成损失函数loss时根据公式由于真实标签为0,被去掉了,算损失的时候可以忽略,而softmax是基于o1和o2的,所以o1 和O2都能用y^1的值
因此可见仅有真实标签的误差可以向前传播
然后利用loss对O1求导,见橙色和绿色以及黑色内容
然后利用loss对O2进行进行求导,见上图
综合对O1 O2的求导发现都能写成y^-y的形式
所以可得Loss对O的求导形式为y^-y
以上推导不是非常严谨,但可帮助理解
参考:
该笔记为B站up主自然卷小蛮视频观后笔记
地址