描述
针对项目过程中遇到的对于神经网络分类效果的评价–损失函数categorical_crossentropy的解读。
1.多元分类交叉熵
其中,types是分类总数,以五元分类来说,types=5;
yitag是某个分类的标签值,是一个二值,即只能为0或1,例如,对于五元分类,类别就是用一个五元组表示——
[1,0,0,0,0]
[0,1,0,0,0]
[0,0,1,0,0]
[0,0,0,1,0]
[0,0,0,0,1]
那么yitag的值就是当前分类位置上的0或1值;
(这个地方是我开始没理解的,以为类别tag是1,2,3,4,5中的一个,这样的话不是类别顺序影响loss了?后面才整明白的)
yi_pre_prob是在softmax层前面输出的概率值(组),例如,假设对于某个分类输出的概率组为:
[0.1, 0.1, 0.7, 0.1, 0]
最终输出的分类结果是取概率组的最大值,即0.7对应的第3类;那么loss值就用第3类的五元组计算,即:
loss= -1×log0.7 (其他都是乘0没了)
所以从这看来,当对某个值预测概率为1时,那么log1=0,loss也为0;当前分类预测概率越小,loss值越大。