学习Datawhale对《李宏毅机器学习》决策树章节补充的内容:Additional References(熵的理解)
学习目标:
* 信息量计算,原理
* 信息熵
* 证明0⩽H(p)⩽logn
* 联合概率,边缘概率
* 联合熵,条件熵,条件熵公式推导
* 互信息,互信息公式推导
* 相对熵,交叉熵
* 回顾LR中的交叉熵
* 计算给定数据集中的香农熵
1、什么是熵(entropy)
熵是热力学中的名词,是指自然世界中事物的混乱程度,在自然条件下,都是朝着熵增加的方向发展。1948年,克劳德·爱尔伍德·香农将热力学中的熵引入信息论,所以也被称为香农熵 (Shannon entropy),信息熵 (information entropy)。
假设一个事件有n个可能的类别,每个类别发生的概率为p(xi),那么
1)如果每个类别发生的可能性相同且类别之间相互独立,即p(x1)=p(x2)=...=p(xn),那么这个事件的信息量为:
2)如果每个类别发生的可能性不相同时,那么这个事件的信息量即为信息熵:
2、证明0⩽H(p)⩽logn
即证明,当事件中每个可能的类别发生的概率相等时,这个事件的信息熵最大。
首先,从公式上就可以看出,H(X)>0,原因是0<p(x)<1,logp(x)<0,所以-p(x)*log(p(x))>0;
然后证明H(p)<logn:
使用拉格朗日算子:
分别对p(1),p(2),...,p(n)以及λ求偏导,并令偏导等于0,可以得到:
...
以上式子联立求得:
p(1) = p(2) = ... = p(n)
p(1) + p(2) +...+ p(n) = 1
进一步得到: p(1) = p(2) = ... = p(n) = 1/n
即当 p(1) = p(2) = ... = p(n) = 1/n时,H(p)最大,最大值为:
H(p)max = -(1/n*log(1/n)+1/n*log(1/n)*...*1/nlog(1/n))=-log(1/n)=logn
完成证明。
3、联合概率、边缘概率
参考链接:https://blog.csdn.net/tick_tock97/article/details/79885868
联合概率:联合概率指的是包含多个条件且所有条件同时成立的概率,记作P(X=a,Y=b)或P(a,b)
边缘概率:边缘概率是与联合概率对应的,P(X=a)或P(Y=b),这类仅与单个随机变量有关的概率称为边缘概率
4、联合熵,条件熵,条件熵公式推导
联合熵:对服从联合分布为P(x,y)的一对离散随机变量(X,Y),其联合熵H(X,Y)可表示为:
按照熵的定义,只与可能类别发生的概率有关,联合熵所对应的概率为联合概率,即同时发生的概率。
条件熵:设有随机变量(X,Y),其联合概率分布为;
条件熵H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性。随机变量X给定的条件下随机变量Y的条件熵(conditional entropy)H(Y|X),定义为X给定条件下Y的条件概率分布的熵对X的数学期望“相关的”信息能够消除不确定性:
这里:。
条件熵公式推导:
5、互信息,互信息公式推导
互信息:两个随机变量X,Y的互信息,定义为X,Y的联合分布和独立分布乘积的相对熵;
度量两个随机变量的“相关性”;
互信息就是随机事件X的不确定性或者说熵H(X),以及在知道随机事件Y条件下的不确定性(条件熵)的差异。
互信息公式推导:
后面补上。
6、相对熵,交叉熵
相对熵:相对熵又称交叉熵,KL散度等;
如果我们对于同一个随机变量 x 有两个单独的概率分布 P(x) 和 Q(x),我们可以使用 KL 散度(Kullback-Leibler (KL) divergence)来衡量这两个分布的差异
P(X),Q(X)的比值取对数之后,在P(X)的概率分布上求期望
交叉熵:交叉熵在上一个机器学习课程中有学到,是计算Logistic Regression的Loss Function时用到了交叉熵。
等式的后半部分即为交叉熵,即:
7、回顾LR中的交叉熵
上式中的是真实数据,是预测出来的数据分布(模型),LR损失函数最小,即使得实际数据和预测结果的交叉熵越小越好,即预测的数据分布模型和真实的数据模型越接近,损失函数越小。
8、计算给定数据的信息熵