JS散度相似度衡量指標。
https://blog.csdn.net/wateryouyo/article/details/52831115
https://blog.csdn.net/FrankieHello/article/details/80614422?utm_source=copy
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來確定數據的概率分布,就不是求和而是通過求積分的形式進行計算了。
