一文搞懂交叉熵在机器学习中的使用,透彻理解“熵”

文章内容来自:https://blog.csdn.net/tsyccnh/article/details/79163834网络

 

 

 

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

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

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

2 熵

考虑另外一个问题,对于某个事件,有nn种可能性,每一种可能性都有一个几率p(xi)p(xi) 
这样就能够计算出某一种可能性的信息量。举一个例子,假设你拿出了你的电脑,按下开关,会有三种可能性,下表列出了每一种可能的几率及其对应的信息量
学习

 

 

 

3 相对熵(KL散度)
相对熵又称KL散度,若是咱们对于同一个随机变量 x 有两个单独的几率分布 P(x) 和 Q(x),咱们可使用 KL 散度(Kullback-Leibler (KL) divergence)来衡量这两个分布的差别spa

维基百科对相对熵的定义.net

In the context of machine learning, DKL(P‖Q) is often called the information gain achieved if P is used instead of Q.orm

即若是用P来描述目标问题,而不是用Q来描述目标问题,获得的信息增量。xml

在机器学习中,P每每用来表示样本的真实分布,好比[1,0,0]表示当前样本属于第一类。Q用来表示模型所预测的分布,好比[0.7,0.2,0.1]
直观的理解就是若是用P来描述样本,那么就很是完美。而用Q来描述样本,虽然能够大体描述,可是不是那么的完美,信息量不足,须要额外的一些“信息增量”才能达到和P同样完美的描述。若是咱们的Q经过反复训练,也能完美的描述样本,那么就再也不须要额外的“信息增量”,Q等价于P。blog

KL散度的计算公式:

参考:

https://www.zhihu.com/question/65288314/answer/244557337 https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence https://jamesmccaffrey.wordpress.com/2013/11/05/why-you-should-use-cross-entropy-error-instead-of-classification-error-or-mean-squared-error-for-neural-network-classifier-training/--------------------- 做者:史丹利复合田 来源:CSDN 原文:https://blog.csdn.net/tsyccnh/article/details/79163834 版权声明:本文为博主原创文章,转载请附上博文连接!

相关文章
相关标签/搜索