机器学习之熵的理解

举报
吕小卒子 发表于 2019/10/16 14:48:40 2019/10/16
【摘要】 熵在信息论中代表随机变量不确定度的度量。一个离散型随机变量X的熵H(X)定义为: 明确定义的科学名词且与内容无关,而且不随信息的具体表达式的变化而变化。是独立于形式,反映了信息表达式中统计方面的性质。是统计学上的抽象概念。信息熵的一种解释是,它表示的是最短的平均编码长度。同样的,不确定性越大,熵就越大。信息熵的单位是比特(bit)。我们举两个简单的例子:...

熵在信息论中代表随机变量不确定度的度量。一个离散型随机变量X的熵H(X)定义为:

                    image.png

明确定义的科学名词且与内容无关,而且不随信息的具体表达式的变化而变化。是独立于形式,反映了信息表达式中统计方面的性质。是统计学上的抽象概念。信息熵的一种解释是,它表示的是最短的平均编码长度。同样的,不确定性越大,熵就越大。信息熵的单位是比特(bit)。我们举两个简单的例子: 第一个例子: 32支球队,在无任何先验信息的前提下,用二分法猜冠军队伍,最多猜5次,即:

image.png
log132=5log132=5bit
第二个例子:赌马比赛里,有4匹马A,B,C,D,获胜概率分别为

image.png



1.如果 X=A ,那么需要问1次(问题1:是不是A?),概率为


image.png



2.如果 X=B ,那么需要问2次(问题1:是不是A?问题2:是不是B?),概率为


image.png
14

3.如果 X=C ,那么需要问3次(问题1,问题2,问题3),概率为



image.png

18

4.如果 X=D ,那么同样需要问3次(问题1,问题2,问题3),概率为


image.png

18

通过熵的定义得到

image.png

在二进制计算机中,一个比特为0或1(代表二元问题)。在计算机中,我们给哪一匹马夺冠这个事件进行编码,所需要的平均码长为1.75个比特。其定义为:

image.png

为了尽可能减少码长,我们要给发生概率p(x)较大的事件,分配较短的码长l(x)。所以那么

    A,B,C,D

四个实践,可以分别由

0,10,110,111


表示. (1)信息熵只反映内容的随机性,与内容本身无关。不管是什么样内容的文件,只要服从同样的概率分布,就会计算得到同样的信息熵。 (2)信息熵越大,表示占用的二进制位越长,因此就可以表达更多的符号。所以,人们有时也说,信息熵越大,表示信息量越大。不过,由于第一点的原因,这种说法很容易产生误导。较大的信息熵,只表示可能出现的符号较多,并不意味着你可以从中得到更多的信息。 (3)信息熵与热力学的熵,基本无关。

相对熵(KL离散度)

相对熵又叫做KL离散度,其定义为:

image.png


KL 散度是两个概率分布f(x)和g(x)差别的非对称性的度量。KL散度是用来度量使用基于f(x)的编码来编码来自g(x)的样本平均所需的额外的位元数。 很容易证明,有三个结论: (1) 两函数完全相同时,KL=0 (2) KL越大,差异越大 (3) 对概率分布或者概率密度函数(>0), KL可用来衡量两个随机变量分布的差异性。


交叉熵

对一随机事件,其真实概率分布为p(i),从数据中得到的概率分布为q(i),则我们定义,交叉熵为:


image.png

核心理解: * 用p来衡量识别一个样本的信息量即最小编码长度(信息熵)。

image.png

    • q来估计真实分布为p的样本的信息量.

      image.png

    • 则估算多出来的冗余信息量

      image.png

在机器学习中,p通常设定为真实标记的分布,q设定为训练后模型预测标记的分布:

image.png

即:交叉熵=信息熵+KL散度(相对熵) 由于信息熵H(p)H(p)是固定不变的,因此我们在机器学习中就用交叉熵作为损失函数。常见的做法是先用Softmax函数将神经网络的结果转换为概率分布,然后用交叉熵刻画估算的概率分布与真实的概率分布的”距离”。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。