machine learning - Information Entropy、Cross Entropy、Relative Entropy (機器學習 - 資訊熵、交叉熵、相對熵)

◎前置概念

  • 熵代表的是不確定性,熵越大表示不確定性越大,如 : 若1~10為每個數出現機率一樣,不確性增加,即熵越大,若某數的出現機率為99%,不確性降低,即熵越低。
  • 若某一變量機率分布為1/2,則編碼長度1個bit($\log\frac{1}{P}$)即可表示。若某一變量機率分布為1/4,則2個bit即可表示,以此類推。
  • 熵可表示為 隨機變量的位元量 X 發生機率 的 總和(數學期望) 。
  • Relative Entropy 等於 Kullback–Leibler divergence。
  • 機器學習目的即為了讓Relative Entropy盡可能接近0,接近實際分布。
  • 求最小Relative Entropy,即為求maximum likelihood estimation


◎簡述

  • Information Entropy : 知道實際分布,最短的平均編碼長度為多少。
  • Cross Entropy : 不知道實際分布,推估出來的平均編碼長度為多少。
  • Relative Entropy : 不知道實際分布,比最短平均編碼長度增加多少。


◎Information   Entropy

依照實際分布,最短編碼長度為
$H(p)=-\sum_{x}^{}p(x)\log p(x)$

◎Cross  Entropy

依照估算分布,所得出的編碼長度
$H(p,q)=-\sum_{x}^{}p(x)\log q(x)$,p為實際分布,q為估算分布(非實際)。
Cross Entropy越低,表示越接近實際分布,即當p = q時,Cross Entropy相等於Information Entropy
$H(p,q)  \geq  H(p)$

◎Relative  Entropy

抽樣分布得出的編碼長度與實際分布"多"了多少
$H(p||q) \geq 0 $
$H(p||q) = H(p,q) - H(p) = \sum_{x}^{}p(x)\log\frac{1}{q(x)} - \sum_{x}^{}p(x)\log\frac{1}{p(x)}    =  \sum_{x}^{}p(x)\log\frac{p(x)}{q(x)}$
$H(p||q) \neq H(q||p)$

◎範例
假定一個實際分布中含有{1, 2, 3, 4},取出數字1, 2, 3, 4為$\frac{1}{2}$、$\frac{1}{4}$、$\frac{1}{8}$、$\frac{1}{8}$
其 Information Entropy為 $\frac{1}{2}\times\log 2+ \frac{1}{4}\times\log 4+ \frac{1}{8}\times\log 8 + \frac{1}{8}\times\log 8 = 1.75$
而因為我們不知道實際分布,我們假定各個數字出現機率相等,皆為$\frac{1}{4}$,
其 Cross Entropy為$\frac{1}{2}\times\log 4+ \frac{1}{4}\times\log 4+ \frac{1}{8}\times\log 4 + \frac{1}{8}\times\log 4  = 2 $。
其 Relative Entropy 為 $2- 1.75 =  \frac{1}{2}\log\frac{4}{2} +  \frac{1}{4}\log\frac{4}{4} + \frac{1}{8}\log\frac{4}{8} + \frac{1}{8}\log\frac{4}{8} = 0.25$



留言