信息熵的直观理解
?
在機(jī)器學(xué)習(xí)算法(如二叉樹)、特征選擇(互信息)中經(jīng)常用到熵的概念,信息熵的概念以及介紹網(wǎng)上有很多,這里主要做一個(gè)直觀的介紹。
1.?信息的度量
2. 信息熵
?
一、 信息量
常常把消息中有意義的內(nèi)容成為信息。我們常常說(shuō),某人說(shuō)的某句話信息量很大,具體在信息論中,其實(shí)指的是他說(shuō)的這句話消除的不確定性多。信息的度量定義為消除不確定性的多少。(信息是用來(lái)消除不確定性的東西--Shannon)
信息量函數(shù):
$I=-\ln p_{i}$
其中,$p_{i}$是事件$x_{i}$發(fā)生的概率($x_{i} \in X$)
直觀上,概率越小,即事件發(fā)生的概率越小,它指出的信息越具體,相應(yīng)地,信息量就越大。怎么理解這句話呢,舉個(gè)栗子。有一個(gè)30*30的座位表,你未來(lái)的女朋友在其中的一個(gè)座位上入座,但是你并不知道她到底在哪個(gè)座位上(這也是你為什么沒(méi)有女朋友的原因嗎,哈哈哈。。。)。如果天上的某位月老1告訴你,她坐在第6排,那么范圍會(huì)縮小很多。月老2告訴你“她坐在第6排第6列”。“她坐在第6排”和“她坐在第6排第6列”,直觀上顯然后者包含的信息量更多。那么如何定量的比較這兩句話的信息量大小呢?
* 對(duì)于前者,事件發(fā)生的概率是 $p = \frac{30}{30 \times 30}= \frac{1}{30}$,那么信息量 $I=- \ln p_{i}= 3.4$
* 對(duì)于后者,事件發(fā)生的概率是 $p = \frac{1}{30 \times 30} = \frac{1}{900}$,那么信息量 $I=- \ln p_{i}= 6.8$
對(duì)于前者,月老1給出的信息還是太少,即從原來(lái)什么都不知道消除的不確定性還是太少,同時(shí)月老1的預(yù)言發(fā)生的概率也比較大。月老2給出的信息非常具體,消除的不確定性很多,這句話發(fā)生的概率對(duì)應(yīng)地也比較小。也可以這么理解,給出的信息越具體,發(fā)生的概率越小,風(fēng)險(xiǎn)越高,因?yàn)槟悴恢浪f(shuō)的到底對(duì)不對(duì)(信息量大不代表信息準(zhǔn)確)。
總結(jié)一句話,一個(gè)事件的信息量就是這個(gè)事件發(fā)生的概率的負(fù)對(duì)數(shù)。
?
二、信息熵
簡(jiǎn)單的講,信息熵(entropy)就是平均而言發(fā)生一個(gè)事件我們得到的信息量大小。所以數(shù)學(xué)上,信息熵其實(shí)是信息量的期望。
$H = -\sum_{x \in X} P(x) logP(x)$
$X$是事件的集合。在理解了信息量的概念后,公式還是很直觀的,就是信息量的期望。
在信息論中,熵是信息不確定性的一個(gè)測(cè)度,熵越大表示信息的不確定性越高。比如對(duì)明天的天氣做預(yù)測(cè),
a. 預(yù)測(cè)1:100%晴天
$H_{1}=0.0$
b. 預(yù)測(cè)2:50%晴天, 50%陰天
$H_{2}=-\frac{1}{2} \ln (\frac{1}{2})-\frac{1}{2} \ln (\frac{1}{2})=1.0$
c. 預(yù)測(cè)3:30%晴天, 30%陰天,40%
$H_{3}=-\frac{3}{10}\ln \frac{3}{10} -\frac{3}{10}\ln \frac{3}{10}?- \frac{4}{10} \ln \frac{4}{10}=1.6$
# 計(jì)算信息熵import math x = [0.3, 0.3, 0.4] H = sum(map(lambda x : -x * math.log(x, 2), x))
從上面這個(gè)例子也可以看出來(lái),不確定性越大,信息熵越大。
posted on 2017-05-16 22:39?詹晴天 閱讀(...) 評(píng)論(...) 編輯 收藏轉(zhuǎn)載于:https://www.cnblogs.com/satchel/p/6864116.html
總結(jié)
- 上一篇: ShellCode入门(提取ShellC
- 下一篇: 模板——RMQ