简称log loss,又称交叉熵损失(cross-entropy loss)
设某个样本真实标签只能取0或1,系统得到它取1的概率为p,取0的概率为1-p,而y的实际取值就是y
则公式为
例如,一个样本实际为1,算出来p=0.9,则logloss=-log(0.9)=log(10/9)
再比如,一个样本实际为0,系统计算出的p=0.6,则logloss=-(1-0)log(1-0.6)=-log(0.4)=log(5/2)
因为p处于0到1的闭区间,y只能为1或0,所以这个数越小越好。把一个模型计算得到的所有样本的交叉熵损失平均值既可用来评价结果
对于多类问题,分类结果有1到k共k种结果。
其中,表示第i个样本对于第k个标签的真实值,一般来说,y只对一个k为1,其余的均为0,比如给猫狗人和其他四个事物分类,那么一只猫的真实标签只有第一个标签为1,后面三项为0
表示第i个样本对于第k个标签的预测值,在机器学习输出结果中,不是很肯定地直接给出答案,而是给出一个一维数组,分析输入事物属于每个预定输出事物地可能性
因此,公式看起来复杂无比,其实就是根据这个事物的真实标签,选择对应的输出结果概率,求对数,取负数最后求平均即可。
例如,一个4分类,某一样本真实值为3,模型计算出的结果为[0.1,0.2,0.3,0.4],则值为-(1/1)log(0.3)