熵 熵的简单理解和实例
- 熵是信息量,越大越混乱,越小越确定
1. 熵的由来
假设两个相互独立随机变量,x
,y
的概率分布分别为p(x)
,p(y)
。那么联合概率分布:
P ( x , y ) = p ( x ) ⋅ p ( y ) P(x,y)=p(x)·p(y) P(x,y)=p(x)⋅p(y)
熵表示信息量,随机变X``Y
相互独立,取值(x,y)的信息量应该是加法,即
h ( x , y ) = h ( x ) + h ( y ) h(x,y)=h(x)+h(y) h(x,y)=h(x)+h(y)
所以我们很自然去想取log,这样统计学就和信息量建立了联系。
所以,定义信息量:
h ( x ) = − l n p ( x ) h(x)=-lnp(x) h(x)=−lnp(x)
- 底是
e
还是2
都可以,不影响逻辑。通信领域常用2
,机器学习中常用e
. - 应为
P(x)<=1
所以去负号让h(x)>=0
,熵毕竟表示信息量,非负数更符合逻辑
2 熵的定义和实例
上面只考虑随机变量取一个值情况,如果取值有n种情况,熵定义为:
H ( p ) = E p [ − l n P ( x ) ] = − ∑ i = 1 n p i l n p i H(p)=E_p[-lnP(x)]=-\sum_{i=1}^np_ilnp_i H(p)=Ep[−lnP(x)]=−i=1∑npilnpi
- 这个就是求期望,如【例1】:
X | 1 | 2 | 3 | 4 |
---|---|---|---|---|
P | 0.25 | 0.25 | 0.25 | 0.25 |
E ( x ) = 1 ⋅ 0.25 + 2 ⋅ 0.25 + 3 ⋅ 0.25 + 4 ⋅ 0.25 = 2.5 E(x)=1·0.25+2·0.25+3·0.25+4·0.25=2.5 E(x)=1⋅0.25+2⋅0.25+3⋅0.25+4⋅0.25=2.5
- 我们把 h ( x ) = − l n p ( x ) h(x)=-lnp(x) h(x)=−lnp(x),看成熵值,同样方法,这个系统的熵(期望):
H ( p ) = E p [ − l n P ( x ) ] = − ∑ i = 1 n p i l n p i = − 0.25 ⋅ l n 0.25 − 0.25 ⋅ l n 0.25 − 0.25 ⋅ l n 0.25 − 0.25 ⋅ l n 0.25 = 1.386 H(p)=E_p[-lnP(x)]=-\sum_{i=1}^np_ilnp_i=-0.25·ln0.25-0.25·ln0.25-0.25·ln0.25-0.25·ln0.25=1.386 H(p)=Ep[−lnP(x)]=−i=1∑npilnpi=−0.25⋅ln0.25−0.25⋅ln0.25−0.25⋅ln0.25−0.25⋅ln0.25=1.386
【例2】
X | 1 | 2 | 3 | 4 |
---|---|---|---|---|
P | 0.9 | 0.05 | 0.02 | 0.03 |
H ( p ) = E p [ − l n P ( x ) ] = − ∑ i = 1 n p i l n p i = − 0.9 ⋅ l n 0.9 − 0.05 ⋅ l n 0.05 − 0.02 ⋅ l n 0.02 − 0.03 ⋅ l n 0.03 = 0.4278 H(p)=E_p[-lnP(x)]=-\sum_{i=1}^np_ilnp_i=-0.9·ln0.9-0.05·ln0.05-0.02·ln0.02-0.03·ln0.03=0.4278 H(p)=Ep[−lnP(x)]=−i=1∑npilnpi=−0.9⋅ln0.9−0.05⋅ln0.05−0.02⋅ln0.02−0.03⋅ln0.03=0.4278
【例1】1.386>【例2】0.4278
- 说明【例1】系统更混乱,可以理解为,四个选项概率一样,更难做选择