softmax_cross_entropy、binary_cross_entropy、sigmoid_cross_entropy

转自:损失函数softmax_cross_entropy、binary_cross_entropy、sigmoid_cross_entropy之间的区别与联系
cross_entropy-----交叉熵是深度学习中常用的一个概念,一般用来求目标与预测值之间的差距。
在介绍softmax_cross_entropy,binary_cross_entropy、sigmoid_cross_entropy之前,先来回顾一下信息量、熵、交叉熵等基本概念。



信息论交叉熵是信息论中的一个概念,要想了解交叉熵的本质,需要先从最基本的概念讲起。

一、信息量首先是信息量。

假设我们听到了两件事,分别如下:

  • 事件A:巴西队进入了2018世界杯决赛圈。
  • 事件B:中国队进入了2018世界杯决赛圈。

仅凭直觉来说,显而易见事件B的信息量比事件A的信息量要大。究其原因,是因为事件A发生的概率很大,事件B发生的概率很小。所以当越不可能的事件发生了,我们获取到的信息量就越大。越可能发生的事件发生了,我们获取到的信息量就越小。那么信息量应该和事件发生的概率有关。
在这里插入图片描述

二、什么是熵

对于某个事件,有n种可能性,每一种可能性都有一个概率p(xi)

这样就可以计算出某一种可能性的信息量。举一个例子,假设你拿出了你的电脑,按下开关,会有三种可能性,下表列出了每一种可能的概率及其对应的信息量

在这里插入图片描述
注:文中的对数均为自然对数

我们现在有了信息量的定义,而熵用来表示所有信息量的期望,即:
在这里插入图片描述
其中n代表所有的n种可能性,所以上面的问题结果就是
在这里插入图片描述

三、 相对熵(KL散度)

相对熵又称KL散度,如果我们对于同一个随机变量 x 有两个单独的概率分布 P(x) 和 Q(x),我们可以使用 KL 散度(Kullback-Leibler (KL) divergence)来衡量这两个分布的差异

在机器学习中,P往往用来表示样本的真实分布,比如[1,0,0]表示当前样本属于第一类。Q用来表示模型所预测的分布,比如[0.7,0.2,0.1]
KL散度的计算公式:

四、什么是交叉熵

对式3.1变形可以得到:
在这里插入图片描述
其中p代表label或者叫groundtruth,q代表预测值

在机器学习中,我们需要评估label和predicts之间的差距,使用KL散度刚刚好,即
在这里插入图片描述
由于KL散度中的前一部分恰巧就是p的熵,p代表label或者叫groundtruth,故−H(p(x))不变,故在优化过程中,只需要关注交叉熵就可以了,所以一般在机器学习中直接用用交叉熵做loss,评估模型。
在这里插入图片描述

五、softmax_cross_entropy

以tensorflow中函数softmax_cross_entropy_with_logits为例,在二分类或者类别相互排斥多分类问题,计算 logits 和 labels 之间的 softmax 交叉熵。
在这里插入图片描述
数据必须经过 One-Hot Encoding 编码

该函数把一个维度上的 labels 作为一个整体判断,结果给出整个维度的损失值。

这个函数传入的 logits 是 unscaled 的,既不做 sigmoid 也不做 softmax ,因为函数实现会在内部更高效得使用 softmax 。

六、binary_cross_entropy

binary_cross_entropy是二分类的交叉熵,实际是多分类softmax_cross_entropy的一种特殊情况,当多分类中,类别只有两类时,即0或者1,即为二分类,二分类也是一个逻辑回归问题,也可以套用逻辑回归的损失函数。

七、sigmoid_cross_entropy

以tensorflow中函数sigmoid_cross_entropy_with_logits为例说明

sigmoid_cross_entropy_with_logits函数,测量每个类别独立且不相互排斥的离散分类任务中的概率。(可以执行多标签分类,其中图片可以同时包含大象和狗。)
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值