算法工程師的數學基礎|信息論

【算法工程師的數學基礎】系列將會從線性代數、微積分、數值優化、概率論、信息論五個方面進行介紹,感興趣的歡迎關注【搜索與推薦Wiki】公衆號,獲得最新文章。

《算法工程師的數學基礎》已更新:


信息論

信息論(information theory)是數學、物理、統計、計算機科學等多個學科的交叉領域。在機器學習相關領域,信息論也有着大量的應用。比如特徵抽取、統計推斷、自然語言處理等。

自信息和熵

熵(Entropy)最早是物理學的概念,用於表示一個熱力學系統的無序程度。在信息論中,熵用來衡量一個隨機事件的不確定性。假設對一個隨機變量XX(取值集合爲RR,概率分佈爲p(x),xRp(x), x\in R)進行編碼,自信息I(x)I(x)是變量X=xX=x時的信息量或者編碼長度,定義爲:
I(x)=log(p(x)) I(x) = -log(p(x))
那麼隨機變量XX的平均編碼長度,即熵定義爲:
H(X)=EX[I(x)]=EX[log(p(x))]=xRp(x)logp(x) H(X) = E_X[I(x)] \\ = E_X[-log(p(x))] \\ = -\sum_{x \in R} p(x)log\,p(x)
其中當p(xi)=0p(x_i)=0時,我們定義0log0=00log 0=0,這與極限一致,limp0+plogp=0\underset{p \rightarrow 0+}{lim} p \, log \,p=0

熵是一個隨機變量的平均編碼長度,即自信息的數學期望。熵越高,則隨機變量的信息越多;熵越低,則信息越少。如果變量XX當且僅當在xxp(x)=1p(x)=1,則熵爲0。也就是說,對於一個確定的信息,其熵爲0,信息量也爲0。如果其概率分佈爲一個均勻分佈,則熵越大。假設一個隨機變量XX有三種可能值x1,x2,x3x_1, x_2, x_3,不同概率分佈對應的熵如下:

p(x1)p(x_1) p(x2)p(x_2) p(x3)p(x_3)
1 0 0 0
12\frac{1}{2} 14\frac{1}{4} 14\frac{1}{4} 32\frac{3}{2}
13\frac{1}{3} 13\frac{1}{3} 13\frac{1}{3} log(3)log(3)

聯合熵和條件熵

對於兩個離散隨機變量X,YX,Y,假設XX的取值集合爲$\chi_1 Y的取值爲\chi_2滿,其聯合概率分佈滿足爲p(x,y)$,則:

XXYY的聯合熵(Joint Entropy)爲:
H(X,Y)=xχ1yχ2p(x,y)logp(x,y) H(X,Y) = - \sum_{x \in \chi_1} \sum_{y \in \chi_2} p(x,y) log\,p(x,y)
XXYY的條件熵(Conditiona Entropy)爲:
H(XY)=xχ1yχ2p(x,y)logp(xy)=xχ1yχ2p(x,y)logp(x,y)p(y) H(X|Y) = - \sum_{x \in \chi_1} \sum_{y \in \chi_2} p(x,y) log\,p(x|y) \\ =- \sum_{x \in \chi_1} \sum_{y \in \chi_2} p(x,y) log \frac{p(x,y)}{p(y)}
根據其定義,條件熵也可以寫爲:
H(XY)=H(X,Y)H(Y) H(X|Y)=H(X,Y)-H(Y)

互信息

互信息(mutual information)是衡量已知一個變量時,另一個變量不確定性得減少程度。兩個離散隨機變量XXYY的互信息定義爲:
I(X;Y)=xχ1yχ2p(x,y)logp(x,y)p(x),p(y) I(X;Y) = \sum_{x \in \chi_1} \sum_{y \in \chi_2} p(x,y) log\, \frac{p(x,y)}{p(x), p(y)}
互信息的一個性質爲:
I(X;Y)=H(X)H(XY)=H(Y)H(YX) I(X;Y)=H(X)-H(X|Y)=H(Y)-H(Y|X)
如果XXYY相互獨立,即XX不對YY提供任何信息,反之亦然,因此他們得互信息爲0。

互信息一個非常重要得用途是特徵選擇。使用互信息理論進行特徵抽取是基於如下假設:在某個特定類別出現頻率高,但在其他類別出現頻率比較低的詞條與該類的互信息比較大。

交叉熵和散度

交叉熵

對應分佈爲p(x)p(x)的隨機變量,熵H(p)H(p)表示最優編碼長度。交互熵(cross entropy) 是按照概率分佈qq的最優編碼對真實分佈爲pp的信息進行編碼得長度,定義爲:
H(p,q)=Ep[logq(x)]=xp(x)logq(x) H(p,q) = E_p[-log \, q(x)] \\ =-\sum_{x} p(x) log\, q(x)
在給定pp的情況下,如果qqpp越接近,交叉熵越小;如果qqpp越遠,交叉熵就越大。

KL散度

KL散度(Kullback-Leibler divergence)也叫KL距離或者相對熵(relative entropy),是用概率分佈qq來近似pp時所造成得信息損失量。KL散度是按照概率分佈qq的最優編碼對真實分佈爲pp的信息進行編碼,其平均編碼長度H(p,q)H(p,q)pp的最優編碼長度H(p)H(p)之間得差異。對於離散概率分佈ppqq,從ppqq的KL散度定義爲:
DKL(pq)=H(p,q)H(p)=xp(x)logp(x)q(x) D_{KL} (p||q)=H(p,q)- H(p) \\ =\sum_{x} p(x) log\frac{p(x)}{q(x)}
其中爲了保證連續性,定義0log00=0,0log0q=00 log\frac{0}{0} = 0, 0 log\frac{0}{q} = 0

KL散度可以是衡量兩個概率分佈之間得距離。KL散度總是非負的,DKL(pq)0D_{KL}(p||q) \geq 0。只有當p=qp = q時,DKL(pq)=0D_{KL}(p||q) = 0

如果兩個分佈越接近,KL散度越小;如果兩個分佈越遠,KL散度就越大。但KL散度並不是一個真正的度量或距離,一個是KL散度不滿足距離的對稱性,二是KL散度不滿足距離的三角不等式性質。

JS散度

JS散度(Jensen-Shannon divergence)是一種對稱的衡量兩個分佈相似度的度量方式,定義爲:
DJS(pq)=12DKL(pm)+12DKL(qm) D_{JS}(p||q) = \frac{1}{2} D_{KL}(p||m) + \frac{1}{2} D_{KL}(q||m)
其中m=12(p+q)m=\frac{1}{2}(p+q)

JS散度是KL散度的一種改進,但兩種散度有存在一個問題,即如果兩個分佈p,qp,q沒有重疊或者重疊非常少時,KL散度和JS散度都很難衡量兩個分佈的距離。

Wasserstein距離

Wasserstein距離也是用於衡量兩個分佈之間的距離。對於兩個分佈q1,q2q_1, q_2pthWassersteinp^{th}-Wasserstein距離定義爲:
Wp(q1,q2)=(infγ(x,y)τ(q1,q2)E(x,y)γ(x,y)[d(x,y)p])1p W_p(q_1, q_2) = (\underset{ \gamma (x,y) \in \tau (q_1, q_2)}{inf} E_{(x,y)\in \gamma (x,y)}[ d(x,y)^p ] )^{\frac{1}{p}}
其中τ(q1,q2)\tau(q_1, q_2)是邊際分佈爲q1q_1q2q_2的所有可能的聯合分佈集合,d(x,y)d(x,y)xxyy的距離,比如lpl_p距離等。

如果將兩個分佈看作是兩個土堆,聯合分佈γ(x,y)\gamma(x,y)看作是從土堆q1q_1的位置xx到土堆q2q_2的位置yy的搬運土的數量,並有:
xγ(x,y)=q2(y)yγ(x,y)=q1(x) \sum_{x} \gamma(x,y) = q_2(y) \\ \sum_{y} \gamma(x,y) = q_1(x)
q1q_1q2q_2γ(x,y)\gamma(x,y)的兩個邊際分佈。

E(x,y)γ(x,y)[d(x,y)p]E_{(x,y)\in \gamma (x,y)}[ d(x,y)^p ]可以理解爲聯合分佈γ(x,y)\gamma(x,y)下把形狀爲q1q_1的土堆搬運到形狀爲q2q_2的土堆所需的工作量

E(x,y)γ(x,y)[d(x,y)p]=(x,y)γ(x,y)d(x,y)p E_{(x,y)\in \gamma (x,y)}[ d(x,y)^p ] = \sum_{(x,y)} \gamma(x,y) d(x,y)^p
其實從土堆q1q_1中的點xx到土堆q2q_2中的點yy的移動土的數量和距離分別爲γ(x,y)\gamma(x,y)d(x,y)pd(x,y)^p。因此,Wasserstein距離可以理解爲搬運土堆的最小工作量,也稱爲推土機距離(Earth-Mover’s Distance, EMD) 。下圖給出了兩個離散變量分佈的Wassertein距離示例。c中同顏色方塊表示分佈q1q_1中爲相同位置。

兩個離散變量分佈的Wassertein距離示例

Wassertein距離相對KL散度和JS散度的優勢在於:即使兩個分佈沒有重疊或者重疊非常少,Wassertein距離仍然能反應出兩個分佈的遠近。

對於RnR^n空間中的兩個高斯分佈p=N(u1,σ12)p=N(u_1, \sigma_1 ^2)q=N(u2,σ22)q=N(u_2, \sigma_2 ^2),他們的2ndWassertein2^{nd}-Wassertein距離爲:
DW(pq)=u1u22+tr(σ12+σ122((σ22)1/2(σ12)(σ22)1/2)1/2) D_W(p||q) = ||u_1 - u_2||^2 + tr( \sigma_1^2+ \sigma_1^2- 2( (\sigma_2^2)^{1/2} (\sigma_1^2) (\sigma_2^2)^{1/2}) ^{1/2})
當兩個分佈的方差爲0時,2ndWassertein2^{nd}-Wassertein距離等價於歐式距離。


至此完更!


【技術服務】,詳情點擊查看: https://mp.weixin.qq.com/s/PtX9ukKRBmazAWARprGIAg

掃一掃 關注微信公衆號!號主 專注於搜索和推薦系統,嘗試使用算法去更好的服務於用戶,包括但不侷限於機器學習,深度學習,強化學習,自然語言理解,知識圖譜,還不定時分享技術,資料,思考等文章!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章