二元分类器恒定预测f=0.5时的Logloss计算及推导正确性验证
二元分类器恒定预测f=0.5时的Logloss计算与推导验证
让我们一步步拆解这个问题,先从Logloss的定义出发,再验证你的推导是否正确:
1. 明确标准二元Logloss公式
二元分类的Logloss(对数损失)公式为:
logloss = (1/N) * Σ[-y*log(f) - (1-y)*log(1-f)]
其中:
N是样本总数y是真实标签,取值为0或1f是模型预测的正类概率
2. 代入恒定预测值f=0.5计算
当模型始终输出f=0.5时,我们分两种真实标签情况计算单个样本的损失:
- 当真实标签y=1时:
代入公式后,(1-y)项为0,因此:logloss(y=1) = -1*log(0.5) - 0*log(1-0.5) = -log(0.5) - 当真实标签y=0时:
代入公式后,-y*log(f)项为0,因此:logloss(y=0) = 0*log(0.5) - 1*log(1-0.5) = -log(0.5)
可以看到,无论真实标签是0还是1,单个样本的Logloss都是-log(0.5)。
3. 计算整体平均Logloss
因为所有样本的损失值都相同,所以整体平均Logloss为:
logloss = (1/N) * N*(-log(0.5)) = -log(0.5)
计算数值的话,-log(0.5)等于自然对数ln(2),结果约为0.69315。
4. 你的推导是否正确?
你的推导逻辑完全正确,唯一的小笔误是最后一步写成了-log(5),应该是-log(0.5),不过最终的数值结果是对的(因为-log(0.5)=ln2≈0.69315)。
内容的提问来源于stack exchange,提问作者Seguy
相关产品推荐
相关产品推荐

