机器算法学习-1.信息熵

1 定义

熵的概念源自热物理学。熵代表了系统的混乱程度,微观状态的数量越大,混乱程度越高,熵越大。

信息理论的鼻祖之一Claude E. Shannon把信息(熵)定义为离散随机事件的出现概率
所谓信息熵,是一个数学上颇为抽象的概念,在这里不妨把信息熵理解成某种特定信息的出现概率。而信息熵和热力学熵是紧密相关的。根据Charles H. Bennett对Maxwell’s Demon的重新解释,对信息的销毁是一个不可逆过程,所以销毁信息是符合热力学第二定律的。而产生信息,则是为系统引入负(热力学)熵的过程。所以信息熵的符号与热力学熵应该是相反的。
一般而言,当一种信息出现概率更高的时候,表明它被传播得更广泛,或者说,被引用的程度更高。我们可以认为,从信息传播的角度来看,信息熵可以表示信息的价值。这样子我们就有一个衡量信息价值高低的标准,可以做出关于知识流通问题的更多推论。

2 解释

信息熵是信息论中用于度量信息量的一个概念。一个系统越是有序,信息熵就越低;反之,一个系统越是混乱,信息熵就越高。所以,信息熵也可以说是系统有序化程度的一个度量。
信息量度量的是一个具体事件发生了所带来的信息,而熵则是在结果出来之前对可能产生的信息量的期望——考虑该随机变量的所有可能取值,即所有可能发生事件所带来的信息量的期望。

举个栗子: 假定你的朋友告诉你“你中了一千万的彩票”, 你内心的惊愕程度就由于这个信息“你中了一千万的彩票”带来的,所以这个惊愕度就是事件“你中了一千万的彩票”的信息熵。

简单来讲信息熵则是为了量化信息的不确定而设计的度量。当一个事件发生概率很小并发生了,事件的信息量大。当一个事件发生概率很大并发生了,事件的信息量小
信息的大小跟随机事件的概率有关。越小概率的事情发生了产生的信息量越大,如外星人进攻地球了;越大概率的事情发生了产生的信息量越小,如太阳从东边升起来了(每天都在发生,几乎没有接收什么新信息)。

3 公式

信息量度量的是一个具体事件发生了所带来的信息,而熵则是在结果出来之前对可能产生的信息量的期望——考虑该随机变量的所有可能取值,即所有可能发生事件所带来的信息量的期望。即

H ( X ) = − s u m ( P ( x ) log ⁡ 2 P ( x ) ) H(X) = -sum(P(x) \log_2P(x)) H(X)=sum(P(x)log2P(x))

转换一下为

H ( X ) = − ∑ i = 1 n P ( x i ) log ⁡ 2 P ( x i ) H(X) = -\sum_{i=1}^{n} P(x_i) \log_2P(x_i) H(X)=i=1nP(xi)log2P(xi)

单位为比特,其中 P ( x i ) P(x_i) P(xi)代表随机事件X为 x i x_i xi的概率。

  1. 为什么选择累加
    当我们同时得知两个不相关的事件x和y,那么我们观察到的俩个事件同时发生时获得的信息应该等于观察到的事件各自发生时获得的信息之和。
    因此信息量函数应该满足累加性,当随机变量X和随机变量Y是相互独立时: P ( x y ) = P ( x ) ∗ P ( y ) P(xy)=P(x)*P(y) P(xy)=P(x)P(y)
    信息量应满足: H ( x + y ) = H ( x ) + H ( y ) H(x+y)=H(x)+H(y) H(x+y)=H(x)+H(y)
  2. 为什么选择对数函数
    之前提过事件的信息量和概率有关,又要满足累加性,因此对数函数最可以体现概率密度函数和信息量之间的关系。
    H ( x ) = − l o g 2 P ( x ) H(x) = -log_2P(x) H(x)=log2P(x)
    H ( x + y ) = − l o g 2 P ( x , y ) = − l o g 2 ( P ( x ) ∗ P ( y ) ) = − ( l o g P ( x ) + l o g P ( y ) ) H(x+y)=-log_2P(x,y)=-log_2(P(x)*P(y))=-(logP(x)+logP(y)) H(x+y)=log2P(x,y)=log2(P(x)P(y))=(logP(x)+logP(y))
    为了求出整个随机变量的平均信息量,即随机变量信息量的期望,即可得出:
    H ( X ) = − ∑ i = 1 n P ( x i ) log ⁡ 2 P ( x i ) H(X) = -\sum_{i=1}^{n} P(x_i) \log_2P(x_i) H(X)=i=1nP(xi)log2P(xi)
  3. 为什么要加负号
    加负号的意思是信息量要取概率的负对数,因为信息量的定义是概率的倒数的对数。一件事发生的概率在0-1之间,取对数后小于零,概率的倒数的对数才能大于零;同时根据之前说的为了使概率越大,信息量越小,取了倒数才能体现这种关联,也就是对数前加负号。
  4. 为什么log底数为2
    理论上熵中的对数函数可以采用任何底数,通常遵循信息论的普遍传统,使用2作为对数的底。
    信息熵公式中的底数2是由信息论的创始人香农(Claude Shannon)引入的,他在1948年发表的论文《通信的数学原理》中使用了这个底数。这是基于两个主要原因:
    1.在二进制系统中,信息的单位是比特(bit),表示一位信息的传输或存储。因此,使用底数2可以更准确地表示信息的单位。
    2.底数2的信息熵具有一些重要的数学性质,例如当所有事件的概率相等时,信息熵最大,对数函数的导数形式简单等。这些性质使得基于底数2的信息熵在信息论和通信领域得到了广泛的应用。

熵中如采用 l o g 2 log_2 log2 ,则对应的单位为比特(bit);如果采用 l o g 3 log_3 log3 ,则对应的单位为Tet,如果采用 l o g e log_e loge ,即采用 l n ln ln 的话,对应单位为nat;采用 l o g 10 log_{10} log10 ,对应单位为Hart。

4 其他概念

4.1 条件熵

熵是对事件结果不确定性的度量,但在知道有些条件时,不确定性会变小。例如,一个人身体出了问题去看中医,身体出了什么问题这个事件的不确定性会随着老中医不断望闻问切获取信息和知道条件而降低。
条件熵衡量的就是在某个条件 X 下,事件 Y 的不确定性,记作 H ( Y ∣ X ) H(Y|X) H(YX)。其定义式为

H ( Y ∣ X ) = ∑ i = 1 n p i H ( Y ∣ X = x i ) H(Y|X)=\sum_{i=1}^{n}p_iH(Y|X=x_i) H(YX)=i=1npiH(YX=xi)

理解为,X 事件每个可能性的结果的熵乘以发生概率的求和。

关于条件熵,再以单项选择题来举例子。在学霸圈做单项选择题有一个秘籍:三长一短选最短,三短一长选最长。姑且假设学霸的秘籍一般都是正确的。

如果在某场考试中,有10%的单项选题是三长一短,10%的选题是三短一长。计算该考试单项选题的关于长短题的条件熵:

选择类型选择概率分布该类型发生概率
三长一短(1,0,0,0)0.1
三短一长(1,0,0,0)0.1
都一样长(0.25,0.25,0.25,0.25,)0.8

H(三长一短)=0bit

H(三短一长)=0bit

H(都一样长)=2bit

得到结果,条件熵为 0.1 ∗ 0 + 0.1 ∗ 0 + 0.8 ∗ 2 = 1.6 b i t 0.1*0+0.1*0+0.8*2=1.6bit 0.10+0.10+0.82=1.6bit

如果随机进行选择,熵就是 − 0.25 ∗ l o g 0.25 − 0.25 ∗ l o g 0.25 − 0.25 ∗ l o g 0.25 − 0.25 ∗ l o g 0.25 = 2 b i t -0.25*log0.25-0.25*log0.25-0.25*log0.25-0.25*log0.25=2bit 0.25log0.250.25log0.250.25log0.250.25log0.25=2bit

可见,学霸的秘诀就是好用,将信息熵由2bit降为了1.6bit,降幅达到了20%。

4.2 信息增益

信息增益是知道了某个条件后,事件的不确定性下降的程度。写作 g(X,Y)。它的计算方式为熵减去条件熵,如下

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

表示的是,知道了某个条件后,原来事件不确定性降低的幅度。

在上面单项选择的例子中,通过了解每个考题的长度信息,可以将信息熵由2bit降为了1.6bit。其中,信息增益就是0.4bit。

4.3 信息增益率

假如某个条件极其严格,比如某个同学提前知道了所有选题的答案,那么将选题的序号作为条件,不存在任何不确定性,所以可以得到最大的信息增益。但是这个条件是没有意义的,假设老师换一份考卷答案就全部作废了。

信息增益率在信息增益的基础上增加了惩罚项,惩罚项是特征的固有值,是避免上述情况而设计的。

写作 gr(X,Y)。定义为信息增益除以特征的固有值,如下

g r ( X , Y ) = g ( X , Y ) H ( Y ) g_r(X,Y)=\frac{g(X,Y)}{H(Y)} gr(X,Y)=H(Y)g(X,Y)

继续以单项选择题为例,通过分析选题的长短特征之后,信息增益g(X,Y)为2bit,惩罚项 H ( Y ) = − 0.1 ∗ l o g 0.1 − 0.1 ∗ l o g 0.1 − 0.8 ∗ l o g 0.8 = 0.92 H(Y)=-0.1*log0.1-0.1*log0.1-0.8*log0.8=0.92 H(Y)=0.1log0.10.1log0.10.8log0.8=0.92

信息增益率为0.4/0.92=43%,其中,信息增益率为43%。

4.4 基尼系数

与熵一样,基尼系数表征的也是事件的不确定性,将熵定义式中的“-logpi”替换为 1-pi 就是基尼系数。
G i n i ( p ) = ∑ i = 1 n p i ( 1 − p i ) Gini(p)=\sum_{i=1}^{n}p_i(1-p_i) Gini(p)=i=1npi(1pi)

变形得到
G i n i ( p ) = ∑ i = 1 n ( p i − p i 2 ) = 1 − ∑ i = 1 n p i 2 Gini(p)=\sum_{i=1}^{n}(p_i-p_i^2)=1-\sum_{i=1}^{n}p_i^2 Gini(p)=i=1n(pipi2)=1i=1npi2

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值