kl散度的理解

2021-09-11 07:20:43 字數 1421 閱讀 6490

在看**《detecting regions of maximal divergence for spatio-temporal anomaly detection》時,文中提到了這三種方法來比較時間序列中不同區域概率分布的差異。

kl散度、js散度和交叉熵

三者都是用來衡量兩個概率分布之間的差異性的指標。不同之處在於它們的數學表達。

對於概率分布p(x)和q(x)

1)kl散度(kullback–leibler divergence)

又稱kl距離,相對熵。

當p(x)和q(x)的相似度越高,kl散度越小。

kl散度主要有兩個性質:

(1)不對稱性

儘管kl散度從直觀上是個度量或距離函式,但它並不是乙個真正的度量或者距離,因為它不具有對稱性,即d(p||q)!=d(q||p)。

(2)非負性

相對熵的值是非負值,即d(p||q)>0。

2)js散度(jensen-shannon divergence)

js散度也稱js距離,是kl散度的一種變形。

但是不同於kl主要又兩方面:

(1)值域範圍

js散度的值域範圍是[0,1],相同則是0,相反為1。相較於kl,對相似度的判別更確切了。

(2)對稱性

即 js(p||q)=js(q||p),從數學表示式中就可以看出。

3)交叉熵(cross entropy)

在神經網路中,交叉熵可以作為損失函式,因為它可以衡量p和q的相似性。

交叉熵和相對熵的關係:

以上都是基於離散分布的概率,如果是連續的資料,則需要對資料進行probability density estimate來確定資料的概率分布,就不是求和而是通過求積分的形式進行計算了。

個人理解:

1、kl散度本質是用來衡量兩個概率分布的差異一種數學計算方式;由於用到比值除法不具備對稱性;

2、神經網路訓練時為何不用kl散度,從數學上來講,它們的差異在於kl散度多減了乙個 h(p);p代表真實分布,q代表估計的分布

從損失函式角度來看,在訓練樣本固定的情況下,h(p)是個常數,對梯度更新沒有價值;所以兩者的最優解是一樣的;

KL散度 JS散度

kl divergence kullback leibler divergence kl散度,kl距離,又叫相對熵 relative entropy 衡量兩個概率分布之間的不同程度,是描述兩個概率分布p和q差異的一種方法就是資訊理論學的相對熵 最簡單的情況 當kl divergence為0時,兩個分...

KL散度與JS散度

js散度 jensen shannon divergence 又稱kl距離,相對熵。kl散度是描述兩個概率分布p和q之間差異的一種方法。直觀地說,可以用來衡量給定任意分布偏離真實分布的程度,如果兩個分布完全匹配,那麼kl p q 0,否則它的取值應該是0 inf 之間。kl散度越小,真實分布與近視分...

KL散度 JS散度 Wasserstein距離

kl散度又稱為相對熵,資訊散度,資訊增益。kl散度是兩個概率分布p和q 差別的非對稱性的度量。kl散度是用來 度量使用基於q的編碼來編碼來自p的樣本平均所需的額外的位元數。典型情況下,p表示資料的真實分布,q表示資料的理論分布,模型分布,或p的近似分布。定義如下 因為對數函式是凸函式,所以kl散度的...