白話資訊熵
距離有近有遠,時間有長有短,溫度有高有低,我們知道可以用米或者千米來度量距離,用時分秒可以來度量時間的長短,用攝氏度或者華氏度來度量溫度的高低,那麼我們常說這句話資訊多,那句話資訊少,那麼資訊的多少用什麼度量呢?資訊量!
資訊量是度量知曉一個未知事物需要查詢的資訊的多少,單位是位元。比如昨天你錯過一場有8匹賽馬的比賽,編號為1~8號,每匹馬贏的概率都一樣,那麼你需要獲得多少資訊(也就是猜測多少次)才可以知道哪匹馬獲勝?利用二分法,猜測三次即可,如下圖:
那麼你需要的資訊量就是3位元。資訊量度量的是從未知到已知所需資訊的多少,比如上圖,一開始不知道哪匹馬 獲勝,我們開始猜測,最後猜測是1號獲勝,其中需要3位元資訊。
但是因為每匹馬是等概率獲勝的,而你又不知道哪匹馬獲勝,如果最後猜測出來是3號勝,這同樣也需要3位元資訊, 同理最後猜測出其它號的馬獲勝,每個都是需要3位元資訊。那麼現在我想計算一下,猜測出最後獲勝的馬,平均需要多少位元資訊呢?也就是對資訊量求期望(加權平均),我們給這個期望一個名字,就是資訊熵。這裡每匹馬獲勝是等概率的,當然平均也是3位元。
那麼假如現在1~8號獲勝的概率分別為{1/2、1/4、 1/8、 1/16、 1/64、 1/64、 1/64、 1/64},那麼現在你平均要猜測對少次呢?猜測的時候,肯定是按照概率大小的來測,如下圖:
對應上圖,猜測每匹馬獲勝至少要猜測的次數分別為1、2、3、4、6、6、6、6;那麼平均要猜測多少次呢?即:
也就是猜測出獲勝的馬匹,平均需要2次。由於我們描述事物的時候常常使用隨機變數,給出隨機變數取值的概率, 那麼該如求該隨機變數取某個值時的資訊量和該隨機變數的資訊熵呢?上例中我們用次數來表示資訊量,對資訊求期望作為資訊熵,那麼我們如何抽象成數學模型呢?
資訊量:隨機變數取某個值時,其概率倒數的對數就是資訊量。
其中底數可以是2,單位是位元,底數也可以是其他,單位也相應不同,這裡不予細究。
比如上例概率不等的時候,猜測6號獲勝的所需的資訊量為:
這恰好符合我們的認識。
資訊熵:資訊量的期望。
比如上例,設X為賽馬編號,則X的資訊熵為:
所以,這也符合我們之前的認識。
例:
如果上例還是不明白,再舉一個例子,一個箱子有9個球,4個紅色,3個綠色,2個黃色,如下圖:
我們從中抽取一個紅球、黃球、綠球所帶來的資訊量分別為:
由於從箱子裡抽取球,有三種可能,紅、黃、綠。設X為球的顏色,則:
即隨機變數X的資訊熵為1.53。
總結:
資訊量:從未知到已知所需資訊的含量。
資訊熵:資訊量的期望。
相關文章
- 資訊熵概念隨筆——資訊熵、資訊的熵熵
- 熵、資訊量、資訊熵、交叉熵-個人小結熵
- 資訊熵(夏農熵)熵
- [機器學習]資訊&熵&資訊增益機器學習熵
- ML-熵、條件熵、資訊增益熵
- 資訊熵,交叉熵與KL散度熵
- 歸一化(softmax)、資訊熵、交叉熵熵
- 白話Angular詞彙Angular
- 白話HTTPSHTTP
- 白話說框架框架
- 一文總結條件熵、交叉熵、相對熵、互資訊熵
- 資訊理論之從熵、驚奇到交叉熵、KL散度和互資訊熵
- 白話編譯原理編譯原理
- Python | 資訊熵 Information EntropyPython熵ORM
- 夏農熵-互資訊-entropy熵
- 白話 KMP 演算法KMP演算法
- 白話EM演算法演算法
- 白話原型和原型鏈原型
- [譯] RxJS: 白話 SubjectsJS
- 白話外掛框架原理框架
- 資訊熵相關知識總結熵
- 白話深度神經網路神經網路
- 概念剖析:白話主資料
- "白話"PHP檔案包含漏洞PHP
- 白話經典演算法演算法
- 近似熵-樣本熵-多尺度熵熵
- 熵,交叉熵,Focalloss熵
- 白話JavaScript原型鏈和繼承JavaScript原型繼承
- 白話說https執行原理HTTP
- 白話區塊鏈是什麼區塊鏈
- 白話比特幣原理解密比特幣解密
- 白話理解和使用DOCKER VOLUMEDocker
- 白話linux作業系統原理Linux作業系統
- 白話科普,10s 瞭解 APIAPI
- 《白話強化學習與Pytorch》強化學習PyTorch
- 資訊化基礎的最小熵值的散點聚集熵
- 白話 CGI,FastCGI,PHP-CGI,PHP-fpmASTPHP
- [java][網路程式設計]白話HTTPSJava程式設計HTTP