定義
直覺
直覺上也是衡量兩個分佈的差距
由下圖可看出
KL divergence就是 當下Cross entropy與目標Cross entropy的差距,也就是算當下的編碼方法最多還可以下降多少。
(Review,Cross Entropy是以假分佈編碼,並以真分佈算期待值)
值得注意的是,KL divergence不能是嚴格定義的距離,因為不符合交換率
即D(P||Q) != D(Q||P)
一個例子
開場
以上是外星蠕蟲牙齒數目的分佈,我們需要將這個數據以最小成本的方式傳回地球
但是這個分佈由於亂度較高,需要較多的"成本"傳輸
因此我們想用Uniform 與 binomial 來近似
複習: 如何算Uniform?
n*p = 1 ,已知n=11,可得知 p=1/11
複習: 如何算binomial?
首先複習機率分佈:
P(x=k) = C(n,k)*P^k*(1-p)^(n-k)
(k次成功,n-k次失敗,並且可以有C(n,k)種可能)
利用"期待值 = np " ,先用期待值定義式算出蟲蟲牙齒分佈期待值
然後除以11就是binomial的p,各項再套機率分佈式即可知道
如何測量哪一個分佈更好?
當然是代入KL divergence 算兩個分佈的差距囉
上圖是二項分佈的例子,Uniform也可以算,把分母全部換成1/11即可
結論
-
Uniform 與真實分佈的 KL divergence 是 0.136
Binomial 與真實分佈的 KL divergence 是 0.427
所以傳Uniform是更貼近真實分佈的 -
變動Binomial的P,也可以計算KL divergence
但是用期待值去估計的方法是最佳的 (紅點)