熵(Entropy):机器学习

时间:2021-07-01 19:57:51

熵(Entropy):机器学习

定义

从信息的角度来说,熵(Entropy)是一种从定量的角度来衡量信息(Information) 多少的指标。简单的说,就是信息所包含的不确定性的大小度量。一个信息所包含的事件的不确定性越大,它所含的信息就越多。我的理解是在这个信息还未获得时,这个信息所描述的事件的不确定性的大小。

举两个例子,当你获得一条可靠的信息:明天太阳从东方升起。这个信息所包含的信息量很少,因为就算你没获得这个信息,你也知道太阳确定以以及肯定是东方升起,这个信息毫无价值。但是当你获得一条可靠的信息:下期彩票的中奖号码是XXXXXXXX时,这个信息就非常有价值了,因为可能的中奖号码有很多,每个概率都很低。
下面给出熵的定义:

H ( X ) = i = 1 N p i l o g 2 p i

H ( X ) 表示X包含的信息, p i X i 种可能的概率。
例如,明天太阳升起,有 X = { 西 } 两种可能,假设 p ( X = ) = 0.99999 p ( X = 西 ) = 0.00001 ,那么我们可以发现 H ( X ) 0 ,几乎不包含信息,这从直观上反映了这个定义的合理性。
可以证明以下公式成立:
H ( X Y ) H ( X ) + H ( Y )

等号当且仅当 X Y 是相互独立时成立。

SOURCE CODING THEOREM

对Source X进行编码的编码率R(bit/symbol)理论下界是:

R H ( X )

具体例子看信息编码方面的资料吧。

联合熵(Joint Entropy)

定义

X Y 两个事件联合熵定义为:

H ( X Y ) = x , y p ( x , y ) l o g 2 p ( x , y )

其中 p ( x , y ) 是联合概率密度(joint probability)

条件熵(Conditional Entropy)

首先举一个栗子,我们发现事件:今天天气情况 Y = { } 和事件小涛今天是否去上课 X = { } 之间有一个联合概率。当今天下雨时,小涛有大概率不去上课;当天气晴朗时,他也有不小的概率不去上课(哈哈哈)。那么,对于小涛有没有去上课这个事件 X 来说,它有一个不等于零的熵H(X)(有不确定性),那么,当我们已知今天下雨 Y = 的前提下,事件 X 的熵(不确定性)发生变化了吗?这个时候的熵就变成 H ( X | Y = )

定义

H ( X | Y ) = i = 1 Q H ( X | Y = y i ) P ( Y = y i )

利用条件概率公式:

H ( X | Y ) = i = 1 Q j = 1 q P ( x j , y i ) l o g 2 P ( x j | y i )

这个公式定义了,在已知事件Y发生的前提下,事件X的熵的大小。很明显,如果事件X,Y是相互独立的事件,它们俩之间不存在任何的关联(但是现实中哪有不存在任何关联的两个事件呢,比如本泽马的锅),那么 H ( X | Y ) = H ( X )
可以证明:
H ( X Y ) = H ( X | Y ) + H ( Y )

这事实上就是条件概率和联合概率 P ( X Y ) = P ( X | Y ) P ( Y ) 的熵的表述。