关于信息熵相关的定义的理解
1、信息量
信息量是通过概率来定义的:
-
如果一件事情的概率很低,那么它的信息量就很大;
-
反之,如果一件事情的概率很高,它的信息量就很低。
这件事情放在生活中,也是相当容易理解的。例如:“王思聪是富豪”这件事情的概率很高,但是说清楚这件事情只用一句话:“王思聪是王健林的儿子”,信息量少。那么我“李某人是富豪”这件事发生的概率就很低,要说清楚这件事情,估计得说上三天三夜了,信息量很大。
信息量=logp(x)1
-
p(x)1 倒数这件事表示了,“信息量”和“概率”是反比例关系;
-
log 取对数这件事情将一个区间
[1,∞] 映射到
[0,∞],具体如下:
∵p(x)∈[0,1],∴p(x)1∈[1,∞],∴logp(x)1∈[0,∞]。
2、信息熵
H(X)=−x∈X∑p(x)logp(x)
可以看出:信息熵是信息量的数学期望。理解了信息量,信息熵的定义式便不难理解。
关系信息熵,其实还有很多可以说的。
- 熵越小表示越“纯”,决策树算法在进行特征选择时的其中标准之一就是选择那个使得通过该特征分类以后的类标熵最小;
- 上面是熵越小越好,而有的时候,我们需要熵越大越好,简单来说就是“鸡蛋不要放在一个篮子里”(见吴军《数学之美》),最大熵原理就是这样,这部分内容可以参考李航《统计机器学习》逻辑回归模型相关部分,以后我们再花时间专门来叙述,这部分内容不好啃下来。
3、条件熵
- 条件熵一定要记住下面的这个定义式,其它的公式都可以由信息熵和条件熵的定义式得出。
H(Y∣X)=x∈X∑p(x)H(Y∣X=x)
- 理解条件熵可以使用决策树进行特征选择的例子:我们期望选择的特征要能将数据的标签尽可能分得比较“纯”一些,特征将数据的标签分得“纯”,则熵就小,信息增益就大。
条件熵可以变形成如下:
H(Y∣X)=x∈X∑p(x)H(Y∣X=x)=−x∈X∑p(x)y∈Y∑p(y∣x)logp(y∣x)=−x∈X∑y∈Y∑p(y,x)logp(y∣x).
说明:有些教材直接把最后一步
H(Y∣X)=−∑x∈X∑y∈Yp(x,y)logp(y∣x) 定义成条件熵,要注意甄别,其实是一个意思,我个人觉得
H(Y∣X)=∑x∈Xp(x)H(Y∣X=x) 这种定义式更好理解,而这个定义式可以参考李航《统计学习方法》P61 页内容来理解,并不难记忆,其实条件熵就是数学期望的数学期望。
4、互信息
- 根据信息熵和条件熵的公式,马上可以计算出:
H(Y)−H(Y∣X)=−y∈Y∑p(y)logp(y)−x∈X∑p(x)H(Y∣X=x)=−y∈Y∑(x∈X∑p(x,y))logp(y)+x∈X∑p(x)y∈Y∑p(y∣x)logp(y∣x)=−y∈Y∑x∈X∑p(x,y)logp(y)+x∈X∑y∈Y∑p(y,x)logp(y∣x)=x∈X∑y∈Y∑p(x,y)logp(y)p(y∣x)=x∈X∑y∈Y∑p(x,y)logp(x)p(y)p(x,y).
同理,
H(X)−H(X∣Y)=−x∈X∑p(x)logp(x)−y∈Y∑p(y)H(X∣Y=y)=−x∈X∑⎝⎛y∈Y∑p(x,y)⎠⎞logp(x)+y∈Y∑p(y)x∈X∑p(x∣y)logp(x∣y)=−x∈X∑y∈Y∑p(x,y)logp(x)+y∈Y∑x∈X∑p(x,y)logp(x∣y)=y∈Y∑x∈X∑p(x,y)logp(x)p(x∣y)=y∈Y∑x∈X∑p(x,y)logp(x)p(y)p(x,y).
因此:
H(Y)−H(Y∣X)=H(X)−H(X∣Y).
定义互信息:
I(X,Y)=H(Y)−H(Y∣X)=H(X)−H(X∣Y).
通过下图可以理解上面的数学推导表示的含义。
这一篇幅先写这么多,后面再写联合熵、相对熵、交叉熵,把这些概率理清楚。