javascript
机器学习中的数学——距离定义(二十一):JS散度(Jensen–Shannon Divergence)
分類目錄:《機器學習中的數(shù)學》總目錄
相關(guān)文章:
· 距離定義:基礎(chǔ)知識
· 距離定義(一):歐幾里得距離(Euclidean Distance)
· 距離定義(二):曼哈頓距離(Manhattan Distance)
· 距離定義(三):閔可夫斯基距離(Minkowski Distance)
· 距離定義(四):切比雪夫距離(Chebyshev Distance)
· 距離定義(五):標準化的歐幾里得距離(Standardized Euclidean Distance)
· 距離定義(六):馬氏距離(Mahalanobis Distance)
· 距離定義(七):蘭氏距離(Lance and Williams Distance)/堪培拉距離(Canberra Distance)
· 距離定義(八):余弦距離(Cosine Distance)
· 距離定義(九):測地距離(Geodesic Distance)
· 距離定義(十): 布雷柯蒂斯距離(Bray Curtis Distance)
· 距離定義(十一):漢明距離(Hamming Distance)
· 距離定義(十二):編輯距離(Edit Distance,Levenshtein Distance)
· 距離定義(十三):杰卡德距離(Jaccard Distance)和杰卡德相似系數(shù)(Jaccard Similarity Coefficient)
· 距離定義(十四):Ochiia系數(shù)(Ochiia Coefficient)
· 距離定義(十五):Dice系數(shù)(Dice Coefficient)
· 距離定義(十六):豪斯多夫距離(Hausdorff Distance)
· 距離定義(十七):皮爾遜相關(guān)系數(shù)(Pearson Correlation)
· 距離定義(十八):卡方距離(Chi-square Measure)
· 距離定義(十九):交叉熵(Cross Entropy)
· 距離定義(二十):相對熵(Relative Entropy)/KL散度(Kullback-Leibler Divergence)
· 距離定義(二十一):JS散度(Jensen–Shannon Divergence)
· 距離定義(二十二):海林格距離(Hellinger Distance)
· 距離定義(二十三):α-散度(α-Divergence)
· 距離定義(二十四):F-散度(F-Divergence)
· 距離定義(二十五):布雷格曼散度(Bregman Divergence)
· 距離定義(二十六):Wasserstein距離(Wasserstei Distance)/EM距離(Earth-Mover Distance)
· 距離定義(二十七):巴氏距離(Bhattacharyya Distance)
· 距離定義(二十八):最大均值差異(Maximum Mean Discrepancy, MMD)
· 距離定義(二十九):點間互信息(Pointwise Mutual Information, PMI)
JS散度度量了兩個概率分布的相似度,是KL散度的變體,JS散度解決了KL散度非對稱的問題。一般地,JS散度是對稱的,其取值是0到1之間:
JS(p,q)=12KL(p∣∣p+q2)+12KL(q∣∣p+q2)\text{JS}(p,q)=\frac{1}{2}\text{KL}(p||\frac{p+q}{2})+\frac{1}{2}\text{KL}(q||\frac{p+q}{2})JS(p,q)=21?KL(p∣∣2p+q?)+21?KL(q∣∣2p+q?)
下面我們來看一下JS散度的Python實現(xiàn):
def JensenShannonDivergence(p, q):p = np.array(p)q = np.array(q)M = (p + q)/2return 0.5 * np.sum(p*np.log(p/M)) + 0.5 * np.sum(q*np.log(q/M))總結(jié)
以上是生活随笔為你收集整理的机器学习中的数学——距离定义(二十一):JS散度(Jensen–Shannon Divergence)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎样知道android的手机号码,怎么知
- 下一篇: 计算KL散度与JS散度的MATLAB程序