通俗理解條件熵


轉自:https://blog.csdn.net/xwd18280820053/article/details/70739368

1  信息熵以及引出條件熵

我們首先知道信息熵是考慮該隨機變量的所有可能取值,即所有可能發生事件所帶來的信息量的期望。公式如下:

我們的條件熵的定義是:定義為X給定條件下,Y的條件概率分布的熵對X的數學期望

這個還是比較抽象,下面我們解釋一下:

設有隨機變量(X,Y),其聯合概率分布為 

條件熵H(Y|X)表示在已知隨機變量X的條件下隨機變量Y的不確定性。

隨機變量X給定的條件下隨機變量Y的條件熵H(Y|X)

2  公式

下面推導一下條件熵的公式:

3  注意

注意,這個條件熵,不是指在給定某個數(某個變量為某個值)的情況下,另一個變量的熵是多少,變量的不確定性是多少?而是期望!

因為條件熵中X也是一個變量,意思是在一個變量X的條件下(變量X的每個值都會取),另一個變量Y熵對X的期望。

這是最容易錯的!

4  例子

下面通過例子來解釋一下:

假如我們有上面數據:

設隨機變量Y={嫁,不嫁}

我們可以統計出,嫁的個數為6/12 = 1/2

不嫁的個數為6/12 = 1/2

那么Y的熵,根據熵的公式來算,可以得到H(Y) =  -1/2log1/2 -1/2log1/2

為了引出條件熵,我們現在還有一個變量X,代表長相是帥還是帥,當長相是不帥的時候,統計如下紅色所示:

可以得出,當已知不帥的條件下,滿足條件的只有4個數據了,這四個數據中,不嫁的個數為1個,占1/4

嫁的個數為3個,占3/4

那么此時的H(Y|X = 不帥) = -1/4log1/4-3/4log3/4

p(X = 不帥) = 4/12 = 1/3

同理我們可以得到:

當已知帥的條件下,滿足條件的有8個數據了,這八個數據中,不嫁的個數為5個,占5/8

嫁的個數為3個,占3/8

那么此時的H(Y|X = 帥) = -5/8log5/8-3/8log3/8

p(X = 帥) = 8/12 = 2/3

5  計算結果

有了上面的鋪墊之后,我們終於可以計算我們的條件熵了,我們現在需要求:

H(Y|X = 長相)

也就是說,我們想要求出當已知長相的條件下的條件熵。

根據公式我們可以知道,長相可以取帥與不帥倆種

條件熵是另一個變量Y熵對X(條件)的期望。

公式為:

H(Y|X=長相) = p(X =帥)*H(Y|X=帥)+p(X =不帥)*H(Y|X=不帥)

然后將上面已經求得的答案帶入即可求出條件熵!

這里比較容易錯誤就是忽略了X也是可以取多個值,然后對其求期望!!

6  總結

其實條件熵意思是按一個新的變量的每個值對原變量進行分類,比如上面這個題把嫁與不嫁按帥,不帥分成了倆類。

然后在每一個小類里面,都計算一個小熵,然后每一個小熵乘以各個類別的概率,然后求和。

我們用另一個變量對原變量分類后,原變量的不確定性就會減小了,因為新增了Y的信息,可以感受一下。不確定程度減少了多少就是信息的增益。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM