Wasserstein metric的通俗解释
Wasserstein metric的通俗解釋
?關注他166 人贊同了該文章本文收錄在無痛的機器學習第二季目錄。
Wasserstein GAN可以算是GAN界的一大突破了,有關它的介紹和使用心得的文章也已經滿天飛了,感興趣的童鞋隨便一搜就能好多,今天就不說太多大家說過的內容,我們從一個十分通俗的角度來看看這個目標函數究竟做了些什么。
一個簡單的例子
如果直接去看Wasserstein metric的定義,相信對實變函數、泛函分析、測度論等數學學科不熟悉的人來說簡直是云里霧里:
這公式都說了些什么,看到就頭疼,看看旁邊的解釋,稍微明白一點,但還是暈暈乎乎的。下面我們就從一個簡單的例子開始說起,然后慢慢過渡到這個公式上來。
我們使用最優運輸里面的一個小例子,假設我國的某市要修建立交橋,修高速公路需要石頭,現在已經查明城市附近有幾個山頭有石頭,我們希望把石頭采集來并運輸到立交橋的幾個建造地點,如圖所示:
我們假設其他的工作都沒有花費,只有運輸這一步花費,那么從這些石頭產生地把石頭運到建橋處,怎么最省錢呢?
為了計算方便,我們需要再做一些設定:
- 石頭a處有100單位石頭
- 石頭b處有50單位石頭
- 石頭c處有100單位石頭
- 橋A處需要100單位石頭
- 橋B處需要50單位石頭
- 橋C處需要100單位石頭
各個點的距離如下所示:
d(a,A)=10, d(a,B)=20, d(a,C)=30 d(b,A)=25, d(b,B)=25, d(b,C)=25 d(c,A)=20, d(c,B)=30, d(c,C)=10我們假設每搬運1單位石頭行走1單位距離,我們要花費1塊錢,那么最優的搬運路徑是什么,怎么最省錢?
這個問題其實也不算很復雜,我們令x[s][t]表示把s石頭處運往t橋處的石頭數量,那么就有下面的公式:
min 10*x[a][A]+20*x[a][B]+30*x[a][C]+25*x[b][A]+25*x[b][B]+25*x[b][C]+20*x[c][A]+30*x[c][B]+10*x[c][C] s.t. # 石頭的約束 x[a][A]+x[a][B]+x[a][C]=100 x[b][A]+x[b][B]+x[b][C]=50 x[c][A]+x[c][B]+x[c][C]=100 # 橋的約束 x[a][A]+x[b][A]+x[c][A]=100 x[a][B]+x[b][B]+x[c][B]=50 x[a][C]+x[b][C]+x[c][C]=100那么這個問題能不能求出最優解呢?當然可以,這道線性規劃的問題就交給感興趣的童鞋自行研究答案了。總之我們列出了公式,并給明了對應的約束條件,大家對這個問題應該已經十分清晰了。
不過話說回來,這個問題和Wasserstein有關系么?當然有。我們需要對上面的公式做一些抽象了。
首先是最小化的函數,我們用表示石頭到橋的距離,用表示運輸石頭的數量,這樣目標函數就變成了:
其中的表示了s,t的所有組合形式,這個問題下,我們有9種組合形式。
然后就是下面的約束內容了,我們再定義表示石頭處擁有石頭的數量,表示橋需要的石頭數量,那么就有
怎么樣,和上面的公式是不是靠近了不少?
升級版問題
下面我們要把問題升級一下,前面的數字都是幾百幾百的,和我們想要的公式不太一樣,我們能不能把它們歸一化一下,也就是說,把每個數字都除以它們的總和?
這樣就有:
- 石頭a有0.4的石頭(100/250)
- 石頭b有0.2的石頭
……
- 橋A需要0.4的石頭(100/250)
……
這樣帶來一個好處,我們發現它從數值上和概率值很像了:
嗯,專業來說這個就可以想象成概率測度函數了,我們完成了一個關鍵的變化,此時我們需要變換一下符號:
s(s)變成,表示對所有石頭的“概率測度”,它的空間是a,b,c三處的石頭
t(t)變成,表示對所頭橋的“概率測度”,它的空間是A,B,C三處的橋
那么m(s,t)呢?看上去和我們學過的聯合概率很像嘛,當然這里我們學術一點,管它叫積空間,積空間上的“概率測度”函數就是之前的m(s,t),我們現在管它叫
好了,到這里,我們可以再看看我們對問題的描述了:
s.t.
嗯,感覺離最終想要的目標不遠了。我們還發現了一個現象,如果把想象成一個聯合分布,那么它的兩個邊緣分布分別就是和,這樣兩個約束條件也可以用一句話來描述了。
升級2.0的問題
下面完成問題解釋的最后一步,前面看到的問題都是離散問題,我們能不能把它表示成連續的問題?我們有一片石頭上,每一處都有若干的石頭,我們有一片區域都要建橋,每個點上都可能需要石頭,于是前面提到的、和全部變成了連續分布,于是問題又變成了:
要滿足邊緣分布的約束
嗯,到目前為止,兩邊的形狀可以說是幾乎一樣了。但是似乎還差一點,剩下的那點實際上就是“高級數學”的抽象與歸納了。關于剩下的問題,我們下次再說。
編輯于 2017-11-22「真誠贊賞,手留余香」贊賞還沒有人贊賞,快來當第一個贊賞的人吧!機器學習深度學習(Deep Learning)生成對抗網絡(GAN)?總結
以上是生活随笔為你收集整理的Wasserstein metric的通俗解释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MYSQL返回指定时间间隔函数DATE_
- 下一篇: selenium.common.exce