前言
学习决策树时会接触到一些信息熵,条件熵和信息增益的知识,此外还有互信息,相对熵,交叉熵和互信息,KL散度等等乱七八糟的知识和名字,我本人已经记得大脑混乱了,还没有全部记住,所以在这里记录一下.
1.信息熵:信息的度量,信息的不确定程度,是乱七八糟熵的基础.吴军大大的数学之美中用了猜球队冠军的方式引出了信息熵的概念.我觉得这种方法印象很深刻,所以在这里提出一下.如果有32支球队,使用二分查找法去猜哪支球队是冠军,如:冠军在1-16号球队内.这样一共需要猜5次就可以找到结果,也就是log32=5,但是某些球队的获胜率大一些,所以它的准确信息量的表示应该如下:
香农就称它为信息熵,表示信息的不确定程度,不确定性越大,信息熵也就越大.图1中的p(x)表示随机变量x的概率.信息熵
H(x)的取值范围:0<=H(x)<=logn,其中n是随机变量x取值的种类数.
2.条件熵:有两个随机变量X和Y,在已知Y的情况下,求X的信息熵称之为条件熵:
其中p(x|y)是已知y求x的条件概率.p(x,y)是联合概率.
3.信息增益:表示在确定某条件Y后,随机变量X的信息不确定性减少的程度.也称为互信息(Mutual Information).
它的取值是0到min(H(x),H(y))之间的数值.取值为0时,表示两个事件X和Y完全不相关.在决策树中算法中,ID3算法就是使用信息增益来划分特征.在某个特征条件下,求数据的信息增益,信息增益大的特征,说明对数据划分帮助很大,优先选择该特征进行决策树的划分,这就是ID3算法.
4.信息增益比(率):信息增益比是信息增益的进化版,用于解决信息增益对属性选择取值较多的问题,信息增益率为信息增益与该特征的信息熵之比.在决策树中算法中,C4.5算法就是使用信息增益比来划分特征.公式如下:
信息熵,条件熵和互信息的关系:
注:图片取自不同地方,所以符号表示不同,请自行对照,同时信息增益比的公式有的文章或者书籍分母可能不同.
5.相对熵(KL散度):用来描述两个概率分布p,q之间的差异(图6),数学之美中介绍是用来衡量两个取值为正数函数的相似性(图7)
概念都是一样的,所以不需要太在意这两个公式的区别.如果两个函数(分布)完全相同,那么它们的相对熵为0,同理如果相对熵越大,说明它们之间的差异越大,反之相对熵越小,说明它们之间的差异越小.需要注意的是相对熵不是对称的,也就是:
但是这样计算很不方便,所以香农和杰森(不是郭达斯坦森)提出了一个新的对称的相对熵公式:
上面的相对熵公式可以用于计算两个文本的相似度,吴军大大在数学之美中介绍,google的问答系统就是用图9的公式计算答案相似性的(现在还是不是就不清楚了).
6.交叉熵(cross-entropy):我们知道通常深度学习模型最后一般都会使用交叉熵作为模型的损失函数.那是为什么呢?首先我们先将相对熵KL公式(图6)进行变换(log中除法可以拆分为两个log相减):
其中前一部分的-H(p(x))是p的熵,后一部分就是我们所说的交叉熵.
损失函数是计算模型预测值和数据真实值之间的相关性,所以可以使用相对熵(KL散度)计算,根据图10可以看出,-H(p(x))是不变的,所以我们可以通过计算后一部分的交叉熵来求得Loss.所以通常会使用交叉熵来作为Loss函数,同理交叉熵越小,预测值和真实值之间相似度越高,模型越好.注:LR的损失函数就是交叉熵.
7.联合熵:联合熵可以表示为两个事件X,Y的熵的并集
它的取值范围是:max(H(x),H(y)) <= H(x,y) <= H(x)+H(y)
8.基尼系数(Gini,它属于混进来的):在决策树的CART(分类回归树)中有两类树,一是回归树,划分特征使用的是平方误差最小化的方法,二是分类树,采用的就是Gini系数最小化进行划分数据集.
其中k为label的种类数.基尼指数越大,信息的不确定性越大,这与信息熵相同.(CART树是如何使用Gini指数的这里就不详细介绍了,以后会在决策树中详细介绍的)
9.困惑度(perplexity,PPL):在NLP中,通常使用困惑度作为衡量语言模型好坏的指标.
其中S为句子,N是句子中单词的个数,p(wi)代表第i个单词的概率.所以PPL越小p(wi)的概率越高,则一句话属于自然语言的概率也就越高.
参考:
《数学之美-第二版》 吴军 著
《统计学习方法》 李航 著
《统计自然语言处理》 宗成庆 著