@
0. 前言
通常論文中會有一些數學公式來證明作者理論,我覺得讀論文不搞懂原理與證明,只了解了框架與流程,是不會有自己的創新以及idea,本文也是記錄我自己在讀paper遇到的一些數學理論,前面會敘述一些簡單的數學知識。
1. 熵
1.1 熵的定義
在信息論中,熵用來衡量一個隨機事件的不確定性。假設對一個隨機變量\(X\)(取值集合為\(\chi\),概率分布為\(p(x)\), \(x \in \chi\))進行編碼,自信息\(I(x)\)是變量\(X=x\)時的信息量或編碼長度,定義為:
熵表示隨機變量的信息以及穩定性,熵越大,信息越多,不確定性越大,反之同理。比如有兩個隨機樣本概率分別為0.5,0.5與概率分別為0.9,0.1相比,明顯是前者的不確定性大於后者,所以前者熵大於后者,熵也是隨機變量X的平均編碼長度,具體公式如下:
1.2 聯合熵與條件熵
對於兩個離散隨機變量X和Y,假設X取值集合為\(\chi\),Y取值集合為\(\gamma\),其聯合概率分別滿足為\(p(x, y)\)則
X和Y的聯合熵為
X和Y的條件熵為
根據其定義,條熵也可以寫為:
1.3 互信息
互信息是衡量已知一個變量時,另一個變量不確定性的減少程度。兩個離散隨機變量X和Y的互信息定義為:
互信息的一個性質為:
如果相互獨立,則相互不提供任何信息,他們的互信息為0
1.4 交叉熵
對應分布為\(p(x)\)的隨機變量,熵\(H(p)\)表示其最優編碼長度。交叉熵是按照概率分布\(q\)的最優編碼對真實分布為\(p\)的信息進行編碼的長度,定義為:
給定\(p\)情況下,如果\(q\)和\(p\)越接近,交叉熵越小,如果\(q\)和\(p\)越遠,交叉熵就越大。
2. 散度
2.1 KL散度
\(KL\)散度,也叫\(KL\)距離或者相對熵,使用概率分布\(q\)來近似\(p\)時所造成的信息損失量。\(KL\)散度是按照概率分布\(q\)的最優編碼對真實分布為\(p\)的信息進行編碼,其平均編碼長度\(H(p, q)\)和\(p\)的最優平均編碼長度\(H(p)\)之間的差異。對於離散概率分布\(p\)和\(q\),從\(q\) 到\(p\)的\(KL\)散度定義為:
其中為了保持連續性,定義\(0\ log\frac{0}{0} = 0, 0\ log\frac{0}{q} = 0\)
\(KL\)散度可以是衡量兩個概率分布之間的距離。\(KL\)散度總是非負的,\(D_{KL}(p∥q) ≥0\)。只有當\(p = q\) 時,\(D_{KL}(p∥q) = 0\)。如果兩個分布越接近,\(KL\)散度越小;如果兩個分布越遠,\(KL\)散度就越大。但\(KL\)散度並不是一個真正的度量或距離,一是\(KL\)散度不滿足距離的對稱性,二是\(KL\)散度不滿足距離的三角不等式性質。
也可以查看另一種解釋:如何理解KL散度
2.2 JS散度
\(JS\)散度(Jensen–Shannon divergence)是一種對稱的衡量兩個分布相似度的度量方式,定義為
其中\(m = \frac{1}{2}(p+q)\).
\(JS\)散度是\(KL\)散度一種改進。但兩種散度有存在一個問題,即如果兩個分布 \(p, q\) 個分布沒有重疊或者重疊非常少時,\(KL\) 散度和 \(JS\) 散度都很難衡量兩個分布的距離.