資訊熵
從資訊編碼的角度舉個例子,假設一個信源是一個隨機變數X,且該隨機變數取值的正確分佈p如下:
那麼可以簡單認為,平均每傳送4個符號其中就有2個A,1個B,1個C。因為我們知道通道傳輸是隻能傳二進位制編碼的,所以必須對A、B、C進行編碼,根據哈夫曼樹來實現,如下所示:
也就是說A被編碼為0,B被編碼為10,C被編碼為11。所以每4個字元的平均編碼長度為: ,因為平均有2個A,1個B,1個C。
那麼這個隨機變數的資訊熵是什麼呢?
正好也是1.5。所以說資訊熵是隨機變數平均編碼的最小長度。
交叉熵
有了資訊熵的概念後,然後就去看看交叉熵的物理含義。假設我們用一個錯誤的分佈q,對隨機變數編碼,q的分佈如下:
那麼我們得到的哈夫曼樹為:
也就是說A被編碼為11,B被編碼為10,C被編碼為0。但是實際上,平均每4個字元還是2個A,1個B,1個C。所以在這種情況下,平均編碼長度變成了:
那麼這時候的交叉熵H(p,q)是什麼呢?計算如下:
正好也是1.75的,所以這就是交叉熵的物理含義。
相對熵/KL散度
有了交叉熵和資訊熵,那麼相對熵更好理解了。其實際含義就是用錯誤分佈對隨機變數編碼時,其產生多餘的編碼長度。這裡就是 。
當然交叉熵是一定大於等於資訊熵的,具體為什麼,可以看看最高贊 @Noriko Oshima 回答給的連結Gibbs" inequality。
資訊熵
從資訊編碼的角度舉個例子,假設一個信源是一個隨機變數X,且該隨機變數取值的正確分佈p如下:
那麼可以簡單認為,平均每傳送4個符號其中就有2個A,1個B,1個C。因為我們知道通道傳輸是隻能傳二進位制編碼的,所以必須對A、B、C進行編碼,根據哈夫曼樹來實現,如下所示:
也就是說A被編碼為0,B被編碼為10,C被編碼為11。所以每4個字元的平均編碼長度為: ,因為平均有2個A,1個B,1個C。
那麼這個隨機變數的資訊熵是什麼呢?
正好也是1.5。所以說資訊熵是隨機變數平均編碼的最小長度。
交叉熵
有了資訊熵的概念後,然後就去看看交叉熵的物理含義。假設我們用一個錯誤的分佈q,對隨機變數編碼,q的分佈如下:
那麼我們得到的哈夫曼樹為:
也就是說A被編碼為11,B被編碼為10,C被編碼為0。但是實際上,平均每4個字元還是2個A,1個B,1個C。所以在這種情況下,平均編碼長度變成了:
那麼這時候的交叉熵H(p,q)是什麼呢?計算如下:
正好也是1.75的,所以這就是交叉熵的物理含義。
相對熵/KL散度
有了交叉熵和資訊熵,那麼相對熵更好理解了。其實際含義就是用錯誤分佈對隨機變數編碼時,其產生多餘的編碼長度。這裡就是 。
當然交叉熵是一定大於等於資訊熵的,具體為什麼,可以看看最高贊 @Noriko Oshima 回答給的連結Gibbs" inequality。