各种墒的关系图:
交集:I(X,Y)互信息,也就信息增益。
并集:H(X,Y)联合熵。
差集:H(X|Y),H(Y|X)条件熵。
单个集合H(X),H(Y):信息熵。
看图可知,若知道信息熵和条件熵可以推出其他。
1.熵
1. 信息量
如果一件事概率很低,那么它的信息量就很大。概率小的事件信息量大,也就说“信息量”和“概率”成反比,取对数是为了将区间映射到
,因此定义如下:
2. 信息熵H(X)
信息熵是信息量的数学期望。
- 熵越小表示越“纯”,决策树算法在进行特征选择时的其中标准之一就是选择使得通过该特征分类以后的类的熵最小;
- 上面是熵越小越好,而有的时候,我们需要熵越大越好,简单来说就是“鸡蛋不要放在一个篮子里”,最大熵原理就是这样。
2. 不同变量概率分布
2. 条件熵H(Y|X)
在X给定的条件下,Y的条件概率分布的熵对X的数学期望。 也就是被特征分割以后的信息熵的加权平均。
理解条件熵可以使用决策树进行特征选择的例子:我们期望选择的特征要能将数据的标签尽可能分得比较“纯”一些,特征将数据的标签分得“纯”,则熵就小,信息增益就大。
3. 互信息/信息增益
对于两个随机变量 X 和 Y,如果其联合分布为 p(x,y) ,边缘分布为 p(x),p(y) ,则互信息可以定义为:
互信息是信息熵和条件熵之差,也被称为信息增益:
从公式可以看出对称性。
互信息则表示为知道事实Y后,原来信息量减少了多少。
I(X,Y)最大的取值是H(Y),此时H(Y|X)为0,意义为X和Y完全相关,在X确定的情况下Y是个定值,没有出现其他不确定情况的概率,所以为H(Y|X)为0。
I(X,Y)取0时,代表X与Y独立,此时H(Y)=H(Y|X),意义为X的出现不影响Y。
4. 联合熵
3.同一变量不同概率分布
1. 相对墒/KL散度(Kullback-Leibler divergence)
如果我们对于同一个随机变量 X 有两个单独的概率分布 p(X)和q(X),使用 KL 散度来衡量这两个分布的差异。差异越大则相对熵越大,差异越小则相对熵越小。
相对熵的一个应用场景就是,假设某一个样本服从分布 p(x) ,我们通过样本拟合出来的分布是 q(x) ,那么他们之间的差异程度就是 D(p||q) ,再一步而言, 根据分布 p(x) 我们得出表示随机变量的码长为其熵 H(p) ,而我们估计的分布为 q(x) ,那么他们的关系可以表达为:
这样我们就量化了两个分布之间的“距离”了。
如果用P来描述真实的样本,那就非常完美。Q描述样本没有那么完美信息量不足,需要一些额外的“信息增量”才能达到和P一样完美的描述。如果通过Q反复训练,也能完美的描述样本,那么就不在意需要额外的“信息增量”,Q就等价P。即P和Q的分布完全一致,KL散度就等于0。
2. 交叉墒
交叉熵是对数似然函数的相反数。对数似然的值我们希望它越大越好,交叉熵的值我们希望它越小越好。
如何理解:我是这样记忆交叉熵的定义的,通过逻辑回归的损失函数记忆交叉熵。p(x)认为是类标,是独热编码(也可以认为是概率分布),而 q(x) 认为是逻辑回归预测的概率分布。
4. 两者关系
1. 相对墒和交叉熵的关系
相对熵定义:
所以,交叉熵 = KL散度+ 信息熵
在机器学习中,我们通常使用KL散度来评估predict和label之间的差别,但是由于KL散度的一半是信息熵是一个常量,所以我们常常将后半部分的交叉墒作为损失函数,其实二者是一样的。
2. 互信息和相对熵的关系
互信息实际上是更广泛的相对熵的特殊形式。
如果变量不是独立的,那么通过考察联合概率分布与 边缘概率分布乘积 的 KL散度来判断它们是否接近于相对独立。当且仅当x和y相互独立时等号成立。
参考: