斯坦福CS231n assignment1:softmax损失函数求导
在前文斯坦福CS231n assignment1:SVM图像分类原理及实现中我们讲解了利用SVM模型进行图像分类的方法,本文我们讲解图像分类的另一种实现,利用softmax进行图像分类。
softmax和svm模型网络结构很相似,区别在于softmax会对svm的输出分量进行归一化处理,使得每一个输出分量变成一个概率值,所有输出分量的概率之和为1。
同时损失函数也发生了变化,svm的损失函数折叶损失(hinge loss)是针对样本的标记类别之外的其他类别进行损失计算的,也就是说标记类别不计入损失,其他类别计算损失并累加作为某个样本的损失。而softmax的损失函数交叉熵损失(cross-entropy loss)只跟某个样本的标记类别相关,根据该标记类别的概率计算损失值,而不考虑标记类别之外的其他类别。
svm得出的每个输出节点的得分,比如[98, 33, 15]是无标定的,也就是只是一个相对的大小,难以进行直观的解释。而softmax可以解释为实例被划分为某个类别的可能性,或者概率。
下面是softmax的损失函数:
也可以等价成:
加入正则化损失项后,批处理过程中N个样本的平均损失变成: