一、熵的作用
我所理解的熵,其实就是为了对数据的无序状态进行度量。
二、引出熵的前提:自信息
自信息通俗理解,其实是指该信息对于人们的震撼程度。自信息也称为信息量,可以这样理解,在生活中如果一件事经常发生(如“cxk说他会打篮球,唱,rap”),人们往往不会那么关注了,即给人感觉,这样的事件提供的信息量很少(很无聊);但如果一件很少发生的事突然发生(如地球不转了(。・∀・)ノ),估计大家都会说“我的老天鹅啊!!”,即这样的事件提供的信息量爆炸(吸引力爆棚)。
言归正传,正如大家对发生频率(概率)低的事情的发生得到的信息更多(震撼),所以在数学上去理解会发现这是存在反比的关系。
对某一事件发生概率为,定义其提供的信息量(information)为:
就把这种反比关系表示了出来。当然估计很多人和我一样一开始并不理解为什么搞这么花里胡哨的表示,反比用不就是很多人所理解的反比例函数吗?这里可能牵扯一些更高深的数学知识(函数的调和),即我们想构造的效果是对于函数的增长是线性可控的(取对数的方式可以理解为让函数的增长缓和下来),接下来的信息熵便能充分理解这里的讨论什么意思了。
三、信息熵
信息熵的提出我觉得是这样,我们现在大概能接受自信息的定义了。但有很多事件会出现两种以上的结果,我们想用定义了的自信息来衡量这些结果的提供的综合信息量。
那么信息熵的公式其实也很好理解了,发生概率为的一事件提供的信息量为:
.那么换句话说,对这些信息量取期望即我们所希望表示的综合信息量。即:
这里我们定义若,则
.且
注意我们可以对于每个i把 看作一个整体,那么由基本不等式可以得到:当
时,
取最大值。反之,
越分散则
越小,极端情况下若某个
,那么必有其他的
(这时其实我们可以看作X是0-1的二项分布),此时
; 所以信息熵其实可以表示结果的分散程度,随机变量的随机性。
此外,可以发现若之前定义信息量公式为,则期望就毫无意义了。
四、其他熵形式
1.联合熵:
2.条件熵:
同时,由于,所以:
3.交叉熵:衡量在真实分布下,使用非真实分布所制定的策略能够消除系统不确定性的大小。
其中p为真实分布,q为假设分布。即若假设用以q为概率函数的分布模拟真实分布,可以模拟出多少信息量,进而在原概率分布上可以改善多少不确定性。
若q=p,则
4.相对熵/KL散度:有先验分布p,后验分布q, 当修改从先验分布p到后验分布q的信念后所带来的信息增益。换句话说,就是用后验分布 q 来近似先验分布 p 的时候造成的信息损失。再直白一点,就是衡量不同策略之间的差异性。
可以看出,若q=p,则
5. 互信息:衡量X,Y之间的关系强弱
若X,Y独立可以得到;
若X,Y完全相关,即以概率1有X=Y,则
五、熵的常见用法总结
- 在贝叶斯网络中,会假设一个先验分布,目的是为了反映随机变量在观测前的不确定性。在进行模型训练时,减小熵,同时让后验分布在最可能的参数值周围形成峰值。
- 在做分类任务的参数估计时,尤其是在神经网络中,交叉熵往往作为损失函数用来更新网络权重。
- 在树模型算法中,熵的作用也是不可或缺,尤其是在使用ID3信息增益、C4.5增益率时,通过使用熵来划分子节点,从而可以构造出整棵树。