更新時間:2019-11-05 來源:黑馬程序員 瀏覽量:
我們都知道,計算機的存儲單位有KB、MB、GB、TB等,換算起來,1TB=1024GB、1GB=1024MB、1MB=1024KB、1KB=1024B。1B我們稱為一個字節(jié),一個字節(jié)有8位,即1B=8bit。bit表示計算機的位,同時它也是信息熵的度量單位。
什么是信息熵?
信息是個很抽象的概念。人們常常說信息很多,或者信息較少,但卻很難說清楚信息到底有多少。比如一本五十萬字的中文書到底有多少信息量。
直到1948年,香農提出了“信息熵”的概念,才解決了對信息的量化度量問題。信息熵這個詞是C.E.香農從熱力學中借用過來的。Shannon
借鑒了熱力學的概念,把信息中排除了冗余后的平均信息量稱為“信息熵”,并給出了計算信息熵的數學表達式。
通俗的理解,當一個事物有多種可能發(fā)生的情況時,具體單個情況發(fā)生的不確定性叫做熵,而能夠消除這種情況發(fā)生的不確定性的事物叫做信息。二者數量相等,意義相反,我們可以通過獲取信息來消除不確定性(熵) 。能夠消除不確定性的信息有三種類型:
1) 調整概率
2) 排除干擾
3) 確定情況
以商場抓獎活動為例,你的面前有四個顏色分別為紅、黃、藍、綠的小球,其中一個小球里面有大獎。如果四個小球獲獎概率相等(都是1/4),那么此時的信息熵最大;如果確定了紅色小球里面有獎,那么此時的信息熵最小。
如果我們告訴客戶,藍色小球有一半的概率有獎,這就是調整概率,使得藍色小球中獎的不確定性降低,其他小球中獎的不確定性增加;如果我們告訴客戶,綠色小球肯定沒有獎,這就是排除干擾,使得綠色小球沒有了不確定性,其他小球獲獎的不確定性也降低了;如果我們直接告訴客戶紅色小球里面有獎,這就是確定情況,使得消除了各個小球的不確定性。
定量看信息與信息熵
我們知道,當事物發(fā)生的不確定性越大,它的信息熵越大,反之,信息熵越小。但是我們如何量化信息呢,為何信息熵的還有單位(bit)?
弄清這個問題前,我們先看一下我們是如何定義其他常見的物理量(長度、質量、時間)的呢?
以長度為例,米是如何定義出來的,我們如何去量化一個物體的長度呢?答案是我們選擇了參照物標準,我們規(guī)定了一個物體長度為1米,其他物體的長度就相當于多少倍參照物體的長度。比如一個物體的長度是參照物的長度的兩倍,參照物長度1米,那么這個物體的長度就是2米。
與長度、質量、時間相同,信息熵也是一個物理量。把長度定義引申到信息熵,我們如果也定義一個參照事件的不確定性(信息熵),只要看待測事件的不確定性(信息熵)相當于多少個參照事件的不確定性(信息熵)即可。
拋一枚硬幣,有正、反兩種等概率情況,這個事件所能產生的結果的信息熵我們規(guī)定為1bit,上文中4個小球抓獎,有四種等概率情況,這個事件所能產生的結果的信息熵相當于我們拋兩次硬幣所產生的結果,因此為2bit。不過要注意,如果是8個小球抓獎,有八種等概率情況,信息熵不是4bit,而是3bit(2^3=8),因為八種等概率情況相當拋3次硬幣所產生的結果,它們之間是指數關系。
到這里,我們就得到了信息熵的公式了,它的單位是bit。
本文來自:黑馬程序員 大數據學院 cloud.itheima.com