定义:

(ylog(p)+(1y)log(1p))-{(y\log(p) + (1 - y)\log(1 - p))}

yy表示样本的真实标签(1或-1),pp表示模型预测为正样本的概率。

可视化:

下图展示了lable=1时对数损失值的范围。当预测概率接近1时,对数损失缓慢下降。但随着预测概率的降低,对数损失迅速增加。对数损失对两种类型的错误都会进行处罚,尤其是那些置信度很高的错误预测!
Logloss详解

Code:

def logloss(true_label, predicted_prob):
  if true_label == 1:
    return -log(predicted_prob)
  else:
    return -log(1 - predicted_prob)

若p=0.1,logloss=0.325

若p=0.2,logloss=0.500

若p=0.3,logloss=0.611

若p=0.4,logloss=0.673

若p=0.5,logloss=0.693

若p=0.6,logloss=0.673

若p=0.7,logloss=0.611

若p=0.8,logloss=0.500

若p=0.9,logloss=0.325

所以最差的情况就是,正好是一半正样本一半负样本,此时你乱猜出的logloss是0.693。

所以只要loglss是在0.693以上,就说明模型是失败的。

Reference:

http://wiki.fast.ai/index.php/Log_Loss

http://sofasofa.io/forum_main_post.php?postid=1000508

相关文章:

  • 2022-01-31
  • 2021-09-09
  • 2022-02-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-08-25
  • 2021-11-17
  • 2021-12-24
  • 2022-12-23
  • 2021-05-31
  • 2021-11-22
相关资源
相似解决方案