日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

概率分布之间的距离度量以及python实现(四)

發(fā)布時(shí)間:2023/12/13 综合教程 34 生活家
生活随笔 收集整理的這篇文章主要介紹了 概率分布之间的距离度量以及python实现(四) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、f 散度(f-divergence)

KL-divergence 的壞處在于它是無界的。事實(shí)上KL-divergence 屬于更廣泛的 f-divergence 中的一種。

如果P和Q被定義成空間中的兩個(gè)概率分布,則f散度被定義為:

一些通用的散度,如KL-divergence, Hellinger distance, 和total variation distance,都是f散度的一種特例。只是f函數(shù)的取值不同而已。

在python中的實(shí)現(xiàn) :

import numpy as np
import scipy.stats
 
p=np.asarray([0.65,0.25,0.07,0.03])
q=np.array([0.6,0.25,0.1,0.05])

def f(t):
    return t*np.log(t)
    
#方法一:根據(jù)公式求解
f1=np.sum(q*f(p/q))

#方法二:調(diào)用scipy包求解
f2=scipy.stats.entropy(p, q) 

  

2、Hellinger distance

1 定義

1.1 度量理論

為了從度量理論的角度定義Hellinger距離,我們假設(shè)P和Q是兩個(gè)概率測度,并且它們對于第三個(gè)概率測度λ來說是絕對連續(xù)的,則P和Q的Hellinger距離的平方被定義如下:

這里的dP/dQ/dλ分別是P和Q的Radon–Nikodym微分。這里的定義是與λ無關(guān)的,因此當(dāng)我們用另外一個(gè)概率測度替換λ時(shí),只要P和Q關(guān)于它絕對連續(xù),那么上式就不變。為了簡單起見,我們通常把上式改寫為:

1.2 基于Lebesgue度量的概率理論

為了在經(jīng)典的概率論框架下定義Hellinger距離,我們通常將λ定義為Lebesgue度量,此時(shí)dP/dQ/dλ就變?yōu)榱宋覀兺ǔKf的概率密度函數(shù)。如果我們把上述概率密度函數(shù)分別表示為 f 和 g ,那么可以用以下的積分形式表示Hellinger距離:

上述等式可以通過展開平方項(xiàng)得到,注意到任何概率密度函數(shù)在其定義域上的積分為1。

根據(jù)柯西-施瓦茨不等式(Cauchy-Schwarz inequality),Hellinger距離滿足如下性質(zhì):

1.3 離散概率分布

對于兩個(gè)離散概率分布 P=(p1,p2,...,pn)和 Q=(q1,q2,...,qn),它們的Hellinger距離可以定義如下:

上式可以被看作兩個(gè)離散概率分布平方根向量的歐式距離,如下所示:

也可以寫成:

在python中的實(shí)現(xiàn):

import numpy as np
 
p=np.asarray([0.65,0.25,0.07,0.03])
q=np.array([0.6,0.25,0.1,0.05])

#方法一:
h1=1/np.sqrt(2)*np.linalg.norm(np.sqrt(p)-np.sqrt(q))

#方法二:
h2=np.sqrt(1-np.sum(np.sqrt(p*q)))

3、巴氏距離(Bhattacharyya Distance)

在統(tǒng)計(jì)中,Bhattacharyya距離測量兩個(gè)離散或連續(xù)概率分布的相似性。它與衡量兩個(gè)統(tǒng)計(jì)樣品或種群之間的重疊量的Bhattacharyya系數(shù)密切相關(guān)。Bhattacharyya距離和Bhattacharyya系數(shù)以20世紀(jì)30年代曾在印度統(tǒng)計(jì)研究所工作的一個(gè)統(tǒng)計(jì)學(xué)家A. Bhattacharya命名。同時(shí),Bhattacharyya系數(shù)可以被用來確定兩個(gè)樣本被認(rèn)為相對接近的,它是用來測量中的類分類的可分離性。

對于離散概率分布 p和q在同一域 X,巴氏距離被定義為:

其中BC(p,q)是Bhattacharyya系數(shù):

對于連續(xù)概率分布,Bhattacharyya系數(shù)被定義為:

從公式可以看出,Bhattacharyya系數(shù)BC(P,Q)可以和前面的Hellinger距離聯(lián)系起來,此時(shí)Hellinger距離可以被定義為:

因此,求得巴氏系數(shù)之后,就可以求得巴氏距離和Hellinger距離。

在python中的實(shí)現(xiàn):

import numpy as np
 
p=np.asarray([0.65,0.25,0.07,0.03])
q=np.array([0.6,0.25,0.1,0.05])

BC=np.sum(np.sqrt(p*q))

#Hellinger距離:
h=np.sqrt(1-BC)

#巴氏距離:
b=-np.log(BC)

 

4、MMD距離(Maximum mean discrepancy)

最大均值差異(Maximum mean discrepancy),度量在再生希爾伯特空間中兩個(gè)分布的距離,是一種核學(xué)習(xí)方法。兩個(gè)隨機(jī)變量的距離為:

其中k(.)是映射,用于把原變量映射到高維空間中。X,Y表示兩種分布的樣本,F(xiàn)表示映射函數(shù)集。

基于兩個(gè)分布的樣本,通過尋找在樣本空間上的映射函數(shù)K,求不同分布的樣本在K上的函數(shù)值的均值,通過把兩個(gè)均值作差可以得到兩個(gè)分布對應(yīng)于K的mean discrepancy。尋找一個(gè)K使得這個(gè)mean discrepancy有最大值,就得到了MMD。最后取MMD作為檢驗(yàn)統(tǒng)計(jì)量(test statistic),從而判斷兩個(gè)分布是否相同。如果這個(gè)值足夠小,就認(rèn)為兩個(gè)分布相同,否則就認(rèn)為它們不相同。更加簡單的理解就是:求兩堆數(shù)據(jù)在高維空間中的均值的距離。

近年來,MMD越來越多地應(yīng)用在遷移學(xué)習(xí)中。在遷移學(xué)習(xí)環(huán)境下訓(xùn)練集和測試集分別取樣自分布p和q,兩類樣本集不同但相關(guān)。我們可以利用深度神經(jīng)網(wǎng)絡(luò)的特征變換能力,來做特征空間的變換,直到變換后的特征分布相匹配,這個(gè)過程可以是source domain一直變換直到匹配target domain。匹配的度量方式就是MMD。

在python中的實(shí)現(xiàn),根據(jù)核函數(shù)不同,公式可能不一樣,根據(jù)公式編程即可。

5、Wasserstein distance

Wasserstein 距離,也叫Earth Mover's Distance,推土機(jī)距離,簡稱EMD,用來表示兩個(gè)分布的相似程度。

Wasserstein distance 衡量了把數(shù)據(jù)從分布“移動(dòng)成”分布時(shí)所需要移動(dòng)的平均距離的最小值(類似于把一堆土從一個(gè)形狀移動(dòng)到另一個(gè)形狀所需要做的功的最小值)

EMD是2000年IJCV期刊文章《The Earth Mover's Distance as a Metric for Image Retrieval》提出的一種直方圖相似度量(作者在之前的會(huì)議論文中也已經(jīng)提到,不過鑒于IJCV的權(quán)威性和完整性,建議參考這篇文章)。

假設(shè)有兩個(gè)工地P和Q,P工地上有m堆土,Q工地上有n個(gè)坑,現(xiàn)在要將P工地上的m堆土全部移動(dòng)到Q工地上的n個(gè)坑中,所做的最小的功。

每堆土我們用一個(gè)二元組來表示(p,w),p表示土堆的中心,w表示土的數(shù)量。則這兩個(gè)工地可表示為:

每個(gè)土堆中心pi到每個(gè)土坑中心qj都會(huì)有一個(gè)距離dij,則構(gòu)成了一個(gè)m*n的距離矩陣。

那么問題就是我們希望找到一個(gè)流(flow),當(dāng)然也是個(gè)矩陣[fij],每一項(xiàng)fij代表從pi到qj的流動(dòng)數(shù)量,從而最小化整體的代價(jià)函數(shù):

問題描述清楚了:就是把P中的m個(gè)坑的土,用最小的代價(jià)搬到Q中的n個(gè)坑中,pi到qj的兩個(gè)坑的距離由dij來表示。fij是從pi搬到qj的土的量;dij是pi位置到qj位置的代價(jià)(距離)。要最小化WORK工作量。EMD是把這個(gè)工作量歸一化以后的表達(dá),即除以對fij的求和。

EMD公式:

更多關(guān)于EMD的理解請參考:

http://blog.csdn.net/zhangping1987/article/details/25368183

在python中的實(shí)現(xiàn):調(diào)用opencv

import numpy as np
import cv

#p、q是兩個(gè)矩陣,第一列表示權(quán)值,后面三列表示直方圖或數(shù)量
p=np.asarray([[0.4,100,40,22],
            [0.3,211,20,2],
            [0.2,32,190,150],
            [0.1,2,100,100]],np.float32)
q=np.array([[0.5,0,0,0],
            [0.3,50,100,80],
            [0.2,255,255,255]],np.float32)
pp=cv.fromarray(p)
qq=cv.fromarray(q)
emd=cv.CalcEMD2(pp,qq,cv.CV_DIST_L2)

  

最后計(jì)算出來的emd:

emd = 160.542770

總結(jié)

以上是生活随笔為你收集整理的概率分布之间的距离度量以及python实现(四)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 越南av| 污片在线观看 | 麻豆91精品 | 你懂得在线 | 一级二级三级视频 | 国产成人啪免费观看软件 | 综合久久99 | 图片区 小说区 区 亚洲五月 | 天天干导航 | 国产精品va无码一区二区 | 99精品视频在线播放免费 | 黑人玩弄人妻一区二区三区四 | 激情二区| 午夜久久影院 | 国产精品久久久久久久裸模 | 欧美bbbbbbbbbbbb精品 | xxxx视频在线观看 | 成人av不卡 | 性歌舞团一区二区三区视频 | 精品国产av一区二区 | 久久av免费看 | 欧美性爱视频久久 | 美女脱光衣服让男人捅 | 啪啪自拍 | 香蕉久久a毛片 | 一本大道熟女人妻中文字幕在线 | 三区在线视频 | 国产又黄又爽又色 | 日本少妇毛茸茸高潮 | 无码少妇精品一区二区免费动态 | 中文字幕一区二区久久人妻网站 | 午夜激情福利在线 | 免费萌白酱国产一区二区三区 | 国产又粗又猛视频 | 欧美一级色图 | 免费日皮视频 | 五月激情丁香网 | 女同视频网站 | 国产精品久久..4399 | 特黄一区二区三区 | 久久精品一区二区三区四区 | 黄色一级小视频 | 人人爱爱人人 | 免费不卡av在线 | 亚洲va久久久噜噜噜久久天堂 | 日本极品喷水 | 成熟妇人a片免费看网站 | 在线观看91av | 蜜桃网站| 台湾佬综合网 | 天堂久久久久 | 久久麻豆精品 | 国产又粗又大又长 | 国产123区在线观看 91国产一区二区 | 明日花绮罗高潮无打码 | 亚洲AV无码精品色毛片浪潮 | aa免费视频| 天天干夜夜怕 | 国产激情一区二区三区视频免樱桃 | 成人黄色短视频在线观看 | 男女网站免费 | 中文日韩av | 国产妇女馒头高清泬20p多 | 阿v免费视频 | 成人精品三级av在线看 | 欧美激情综合色综合啪啪五月 | 91超碰在线 | 午夜动态图 | 福利精品在线 | 欧美变态视频 | 国产成人av一区二区三区不卡 | 国产超碰人人 | 成年人小视频 | 亚洲欧美自拍另类 | 无码人妻精品一区二区中文 | 国产精品第2页 | 国产视频xxxx | 亚洲女人天堂网 | 一区二区精品区 | 亚洲玖玖爱 | 亚洲免费黄色网址 | 波多野结衣办公室双飞 | 高h校园不许穿内裤h调教 | 成人免费网站视频 | 草久久免费视频 | 中文字幕一区二区免费 | 久久久噜噜噜www成人网 | 四级黄色片 | 致命弯道8在线观看免费高清完整 | 国产成人精品在线 | 一区三区视频在线观看 | 女人裸体又黄 | 国产精品麻豆一区二区三区 | 日韩3p | 色综合九九 | 在线免费观看亚洲视频 | 色xxxxx| 成年人福利 | 蜜桃av一区二区 |