信息量,相對熵,交叉熵的理解

最近學習深度學習的時候,總是會把幾種熵搞混,於是好好地理解了一番過後,對他們的認識就更加深刻了一些。

這些指數本來是信息論的知識,是用來度量信息的參數(能夠想到對信息這種抽象的事物的特徵進行衡量,真乃神人也),引入到機器學習中,因爲機器學習中有用到概率論的知識,而信息論中也同樣有概率論做鋪墊,因此也就自然的拿來做機器學習中的效果評估和優化目標。閒話少說,下面就言簡意賅地對這幾個熵進行說明。

信息量

一般來說,一件不經常發生的事情所包含的信息比經常發生的事件包含更多的信息。比如一臺電腦常年工作正常,這是經常發生的,或者說是大概率事件。但是有一天突然死機了,這是不經常發生的,或者說是小概率事件。那麼這個小概率事件就說明了更多的問題。所以信息熵就定義爲

                                                                            I(x)=\log_{2}(\frac{1}{p(x)})=-\log_{2}(p(x))

信息熵

信息熵又叫香農熵,它是總體信息量的期望,因此自然而然它的定義就是

                                                                           H(X)=-\sum_{i=1}^{n}p(x_{i})\log_{2}p(x_{i})

相對熵

相對熵又叫 KL散度,他是衡量兩個分佈的差異性,或者說兩個分佈的距離。如果用 P(x) 表示真實的分佈,Q(x) 表示模型近似的分佈,他們之間的距離可以用 \frac{P(x)}{Q(x)} 來衡量,如果比值爲 1 ,就說明他們很相近(很相像)。那麼對於整個分佈來說,就是他們的比值的期望。因此相對熵的定義爲

                                                                   D_{KL}(P||Q)=\sum_{i=1}^{n}P(x_{i})\log_{2}(\frac{P(x_{i})}{Q(x_{i})})

交叉熵

如果將相對熵展開

                                                                   D_{KL}(P||Q)=\sum_{i=1}^{n}P(x_{i})\log_{2}P(x_{i})-\sum_{i=1}^{n}P(x_{i})\log_{2}Q(x_{i})

                                                                                          =-H(P)-\sum_{i=1}^{n}P(x_{i})\log_{2}Q(x_{i})

可以發現前面部分就是信息熵,他是常量,所以衡量兩個分佈的距離就只需要比較後面的部分,而後面的部分就是交叉熵

                                                                           H(p,q)=-\sum_{i=1}^{n}P(x_{i})\log_{2}Q(x_{i})

(交叉這個名稱可能是因爲參數既含有 p 又含有 q )

所以:KL散度和交叉熵的關係爲

                                                                          H(P,Q)=H(P)+D_{KL}(P||Q)

 

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