机器学习中的信息熵

机器学习中的信息熵

  • 熵的基本概念
    信息量
    信息熵
    香农公式

  • 二项分布(伯努利分布)熵

  • 常见熵的概念
    互信息 I(X,Y)
    条件熵
    联合熵
    三者之间的关系

熵的基本概念

信息量

​ 公式:I =-log(p( x i x_i xi)) (bit/比特)

​ 借用课本上的例子,信息量的大小就是消除一件事情的不确定程度。也就是说(例如)一句话说阐述的事情发生的可能性越大,那么这句话所包含的信息量就越小。小明告诉小白:“明天太白打东边升起”,其信息量为:I = -log(1) =0,这句话就是句废话,毫无信息量。但是若小明告诉小白:“明天太阳打西边升起”,其信息量为 I = -log(0) = 1,那这句话包含的信息量简直巨大,可以说是闻所未闻,令人感到十分的震惊。

信息熵

​ 公式:H(x) = - ∑ p ( x i ) l o g p ( x i ) \sum p(x_i)logp(x_i) p(xi)logp(xi)

​ 信息熵相当于信息量的期望,信息熵是对事件不确定度的一种度量。信息熵越大,说明事物越具有不稳定因素,越具有不确定性。信息量的大小体现了消除对不确定事件的程度,而信息熵的大小则体现了事件的不确定程度。一个是消除,一个是体现。

香农公式

​ 公式:H(x) = -C ∑ p ( x i ) l o g p ( x i ) \sum p(x_i)logp(x_i) p(xi)logp(xi)

​ C值取一,则得到了我们信息熵公式

信息熵三大性质

  • 单调 :概率越大的事情,携带的信息量越小,越稳定

  • 非负 : 信息熵>=0,毕竟是体现不确定度的,最好情况也就是0了,百分百空手接白刃

  • 可累加 : 混合事件的信息熵可以转化为单个事件信息熵的累加

二项分布(伯努利分布)熵

二项分布:非0即1 P(X=1)=p ,P(X=0)=1-p

​ 根据信息熵公式可得: H ( p ) = − p ∗ l o g ( p ) − ( 1 − p ) ∗ l o g ( 1 − p ) H(p) = -p*log(p) - (1-p)*log(1-p) H(p)=plog(p)(1p)log(1p)

​ 对 H ( p ) H(p) H(p) 求导,可以得出当p=1-p时信息熵最大,最不稳定。(…不会算了,来张图凑凑吧)

import matplotlib.pyplot as plt
import numpy as np
from pylab import mpl
mpl.rcParams["font.sans-serif"] = ["SimHei"]

x = np.linspace(0,1,100)
y = (-x)*np.log(x)-(1-x)*np.log(1-x)

# 创建画布
plt.figure(figsize=(10,6),dpi=100)
# 绘制图像
plt.plot(x,y)
# 设置属性
plt.title("Bernoulli 分布熵")
plt.ylabel("熵/bit")

plt.savefig("./bernoulli.png")

plt.show()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M9yw6KCT-1623334204636)(C:\Users\cycyo\AppData\Roaming\Typora\typora-user-images\image-20210610175649958.png)]

常见熵

  1. 互信息
    I ( X , Y ) = ∑ x ∈ X ∑ y ∈ Y p ( x , y ) l o g ( p ( x , y ) / p ( x ) p ( y ) ) I(X,Y) = \sum_{x∈X}\sum_{y∈Y}p(x,y) log{(p(x,y)/{p(x)p(y))}} I(X,Y)=xXyYp(x,y)log(p(x,y)/p(x)p(y))

    l o g ( p ( x , y ) / p ( x ) p ( y ) ) = l o g ( p ( x . y ) ) − l o g p ( x ) − l o g p ( y ) log{(p(x,y)/{p(x)p(y))}} = log(p(x.y)) - logp(x) - logp(y) log(p(x,y)/p(x)p(y))=log(p(x.y))logp(x)logp(y)

    I ( X , Y ) = − H ( X , Y ) + H ( X ) + H ( Y ) I(X,Y) = -H(X,Y) + H(X) + H(Y) I(X,Y)=H(X,Y)+H(X)+H(Y)

    = H ( Y ) − H ( Y ∣ X ) = H(Y) - H(Y|X) =H(Y)H(YX)

    = H ( X ) − H ( X ∣ Y ) = H(X) - H(X|Y) =H(X)H(XY)

    = H ( x , y ) − H ( X ∣ Y ) − H ( Y ∣ X ) = H(x,y) - H(X|Y) - H(Y|X) =H(x,y)H(XY)H(YX)

    维基百科annotation:

    ​ 在概率论信息论中,两个随机变量互信息(mutual Information,MI)度量了两个变量之间相互依赖的程度。具体来说,对于两个随机变量,MI是在获得一个随机变量的信息之后,观察另一个随机变量所获得的“信息量”(单位通常为比特)。互信息的概念与随机变量的紧密相关,信息论中的基本概念,它量化的是随机变量中所包含的“信息量”。

    (通俗点讲就是两个或多个有联系的变量,其中一个变量发生变化后给另外变量所带来的的信息量)

  2. 条件熵
    H ( X ∣ Y ) = ∑ y ∈ Y p ( y ) H ( X ∣ y ) = ∑ y ∈ Y ∑ x ∈ X p ( y ) − p ( x / y ) l o g ( p ( x / y ) ) H(X|Y) = \sum_{y∈Y}p(y)H(X|y) = \sum_{y∈Y}\sum_{x∈X}p(y){-p(x/y)log(p(x/y))} H(XY)=yYp(y)H(Xy)=yYxXp(y)p(x/y)log(p(x/y))

    . . . . . . 省 略 一 万 行 推 导 提 示 : p ( x / y ) = p ( x , y ) / p ( y ) ......省略一万行推导 提示 :p(x/y) = p(x,y)/p(y) ......:p(x/y)=p(x,y)/p(y)

    = H ( X , Y ) − H ( Y ) = H(X,Y) - H(Y) =H(X,Y)H(Y)

    给条件概率一个意思。度量在已知其中一个变量情况下另一个变量的信息量变化情况

  3. 联合熵
    H ( X , Y ) = ∑ x ∈ X ∑ y ∈ Y − p ( x , y ) l o g p ( x , y ) H(X,Y) = \sum_{x∈X}\sum_{y∈Y}{-p(x,y)log{p(x,y)}} H(X,Y)=xXyYp(x,y)logp(x,y)
    联合熵用来度量多件事情同时发生的信息量

  4. 交叉熵/相对熵在DL最大似然估计会用到,稍后再讲

    最后盗张图再加上灵魂画手,最直观的展现下联合熵/条件熵/互信息之间的关系

    ***这张图中间应该是 I(X,Y) ***

在这里插入图片描述

  • 6
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值