【TensorFlow-cross entropy】一文搞懂交叉熵在机器学习中的使用,透彻理解交叉熵背后的直觉

《TensorFlow》 专栏收录该内容
19 篇文章 0 订阅

关于交叉熵loss函数中使用的理解
交叉熵(cross entropy)是深度学习中常用的一个概念,一般用来求目标与预测值之间的差距。以前做一些分类问题的时候,没有过多的注意,直接调用现成的库,用起来也比较方便。最近开始研究起对抗生成网络(GANs),用到了交叉熵,发现自己对交叉熵的理解有些模糊,不够深入。遂花了几天的时间从头梳理了一下相关知识点,才算透彻的理解了,特地记录下来,以便日后查阅。

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

1 信息量
首先是信息量。假设我们听到了两件事,分别如下: 
事件A:巴西队进入了2018世界杯决赛圈。 
事件B:中国队进入了2018世界杯决赛圈。 
仅凭直觉来说,显而易见事件B的信息量比事件A的信息量要大。究其原因,是因为事件A发生的概率很大,事件B发生的概率很小。所以当越不可能的事件发生了,我们获取到的信息量就越大。越可能发生的事件发生了,我们获取到的信息量就越小。那么信息量应该和事件发生的概率有关

假设X是一个离散型随机变量,其取值集合为\chi,概率分布函数p(x)=Pr(X=x),x\in\chi,则定义事件X=x_{0}的信息量为:

I\left ( x_{0} \right )=-log\left ( p\left ( x_{0} \right ) \right )

由于是概率所以p\left ( x_{0} \right )的取值范围是[0,1],绘制为图形如下: 

è¿éåå¾çæè¿°

可见该函数符合我们对信息量的直觉

2 熵
考虑另一个问题,对于某个事件,有n种可能性,每一种可能性都有一个概率p\left ( x_{i} \right )
这样就可以计算出某一种可能性的信息量。举一个例子,假设你拿出了你的电脑,按下开关,会有三种可能性,下表列出了每一种可能的概率及其对应的信息量

序号     事件                 概率p    信息量I
A         电脑正常开机    0.7        -log(p(A))=0.36
B         电脑无法开机    0.2        -log(p(B))=1.61
C         电脑爆炸了       0.1        -log(p(C))=2.30
 

注:文中的对数均为自然对数

我们现在有了信息量的定义,而熵用来表示所有信息量的期望,即:

H\left ( X \right )=-\sum_{i=1}^{n}p\left ( x_{i} \right )log\left ( p\left ( x_{i} \right ) \right )

其中n代表所有的n种可能性,所以上面的问题结果就是

 

--------------------- 
作者:史丹利复合田 
来源:CSDN 
原文:https://blog.csdn.net/tsyccnh/article/details/79163834 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 1
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值