javascript
机器学习_JS散度详解
JS散度全稱Jensen-Shannon散度,簡稱JS散度。在概率統(tǒng)計中,JS散度也與KL散度一樣具備了測量兩個概率分布相似程度的能力,它的計算方法基于KL散度,繼承了KL散度的非負性等,但有一點重要的不同,JS散度具備了對稱性。
JS散度的公式如下所示,我們設定兩個概率分布為PPP和QQQ,另外我們還設定M=0.5×(P+Q)M = 0.5 \times (P + Q)M=0.5×(P+Q),KL為KL散度公式。
JSD(P∣∣Q)=12KL(P∣∣M)+12KL(Q∣∣M)JSD(P||Q) = \frac{1}{2}KL(P||M) + \frac{1}{2}KL(Q||M) JSD(P∣∣Q)=21?KL(P∣∣M)+21?KL(Q∣∣M)
如果我們把KL散度公式寫入展開的話,結(jié)果如下所示:
JSD(P∣∣Q)=∫p(x)log?p(x)p(x)+q(x)2dx+∫q(x)log?q(x)p(x)+q(x)2dxJSD(P||Q) = \int p(x)\log \frac{p(x)}{\frac{p(x) +q(x)}{2}} dx+ \int q(x)\log \frac{q(x)}{\frac{p(x) +q(x)}{2}}dxJSD(P∣∣Q)=∫p(x)log2p(x)+q(x)?p(x)?dx+∫q(x)log2p(x)+q(x)?q(x)?dx
深度學習中使用KL散度和JS散度進行度量的時候存在一個問題:
如果兩個分布PPP,QQQ離得很遠,完全沒有重疊的時候,那么KL散度值是沒有意義的,而JS散度值是一個常數(shù)log?2\log2log2。這對以梯度下降為基礎的深度學習算法有很大影響,這意味梯度為0,即梯度消失。
總結(jié)
以上是生活随笔為你收集整理的机器学习_JS散度详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop集群搭建及配置⑥ —— Ha
- 下一篇: KL散度、JS散度以及交叉熵对比