Binary Cross Entropy

参考Understanding binary cross-entropy / log loss

一、Introduction

训练一个二元分类器( binary classifier)的时候,往往会用到binary cross-entropy / log loss作为损失函数。下面详细介绍这个损失函数binary cross-entropy

二、A Simple Classification Problem

比如说给10个点分类,只有两个类别:Green or Red。设Green为positive,label=1,Red为negative,label=0.

训练一个bianry classifier的作用就是得出某一个点属于positive的概率。

评估预测概率的好坏标准:损失函数binary cross-entropy

三、Loss Function: Binary Cross-Entropy / Log Loss

在这里插入图片描述

  • y is the label (1 for positive points and 0 for negative points)
  • p(y) is the predicted probability of the point being positive for all N points.

公式设计的目的:(注:p(y)代表该样本属于positive的概率 )

  • 对于positive样本 y=1,loss= - log(p(y)) , 当p(y)越大时,loss越小。最理想情况下p(y)=1,loss=0在这里插入图片描述

  • 对于negative样本 y=0,loss= - log(1-p(y)), 当p(y)越小时,loss越小。最理想情况下p(y)=0,loss=0在这里插入图片描述

因此 Binary Cross-Entropy 作为损失函数能够度量分类的准确性。降低loss的过程就使得

  • y=1的样本,得到的预测概率p(y)变大
  • y=0的样本,得到的预测概率p(y)变小

四、补充:

Entropy

熵(entropy)用来衡量一个分布q(y)的不确定性。假如样本全是positive的,那就没有不确定性了,因为样本必然是positive的,此时熵=0 。当样本一半是positive一半是negative的时候,不确定性是最大的,此时熵也是最大的。

熵的计算公式:

在这里插入图片描述

Cross-Entropy

q(y)是真实分布,p(y)是预测的分布。计算两个分布之间的交叉熵:

[外链图片转存失败(img-NdQwqAHd-1569232924425)(Binary_Cross_Entropy.assets/1569232025364.png)]

假设模型完美,则q(y)=p(y),此时会有 交叉熵 = 熵。但这基本不可能,一般交叉熵会比在真实分布上计算出来的熵要大:

在这里插入图片描述

这个差值叫KL散度

Kullback-Leibler Divergence

KL Divergence用来衡量两个分布之间的不相似性(dissimilarity )。

在这里插入图片描述

两个分布越相似,KL散度值越小。

  • 36
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值