Wasserstein metriğinin Kullback-Leibler sapmalarına göre avantajları nelerdir?


25

Wasserstein metriği ve Kullback-Leibler sapması arasındaki pratik fark nedir ? Wasserstein metriği, ayrıca Dünya'ya taşınanların mesafesi olarak da adlandırılır .

Wikipedia'dan:

Wasserstein (veya Vaserstein) metriği, belirli bir metrik uzay M üzerindeki olasılık dağılımları arasında tanımlanan bir mesafe fonksiyonudur.

ve

Kullback - Leibler ayrışması, bir olasılık dağılımının ikinci beklenen olasılık dağılımından nasıl ayrıldığının bir ölçüsüdür.

KL'nin makine öğrenmesi uygulamalarında kullanıldığını gördüm, ancak geçenlerde Wasserstein metriğine rastladım. Birini veya diğerini ne zaman kullanacağınız konusunda iyi bir kılavuz var mı?

( WassersteinVeya ile yeni bir etiket oluşturmak için yeterli itibarım yok Earth mover's distance.)



1
poster isteğine göre bir Wasserstein etiketi eklemek için gönderinin düzenlenmesi. Ayrıca bir cevap ekleyerek.
Lucas Roberts

Yanıtlar:


28

Kl farklılık kıyasla, metrik Wasserstein avantajları göz önüne alındığında, daha sonra en belirgin bir kl diverjans değil ise kl simetrik olmadığı W (yani, bir ölçüm olduğunu genel olarak) ve üçgen eşitsizlik tatmin etmez (örneğin, D K L ( R | | P ) D K L ( S | | P ) + D KDKL(P||S)DKL(S||P)genel olarak tutmaz).DKL(R,||P)DKL(S||P)+DKL(R,||S)

Pratik fark söz konusu olduğunda, en önemlilerinden biri, KL (ve diğer birçok önlemlerin) aksine, Wasserstein'ın metrik boşluğu hesaba katması ve bunun daha az soyut terimlerle ne anlama geldiğinin belki de en iyi şekilde açıklanabileceği (atlamaktan çekinmeyin) rakam, sadece üretmek için kod):

# define samples this way as scipy.stats.wasserstein_distance can't take probability distributions directly
sampP = [1,1,1,1,1,1,2,3,4,5]
sampQ = [1,2,3,4,5,5,5,5,5,5]
# and for scipy.stats.entropy (gives KL divergence here) we want distributions
P = np.unique(sampP, return_counts=True)[1] / len(sampP)
Q = np.unique(sampQ, return_counts=True)[1] / len(sampQ)
# compare to this sample / distribution:
sampQ2 = [1,2,2,2,2,2,2,3,4,5]
Q2 = np.unique(sampQ2, return_counts=True)[1] / len(sampQ2)

fig = plt.figure(figsize=(10,7))
fig.subplots_adjust(wspace=0.5)
plt.subplot(2,2,1)
plt.bar(np.arange(len(P)), P, color='r')
plt.xticks(np.arange(len(P)), np.arange(1,5), fontsize=0)
plt.subplot(2,2,3)
plt.bar(np.arange(len(Q)), Q, color='b')
plt.xticks(np.arange(len(Q)), np.arange(1,5))
plt.title("Wasserstein distance {:.4}\nKL divergence {:.4}".format(
    scipy.stats.wasserstein_distance(sampP, sampQ), scipy.stats.entropy(P, Q)), fontsize=10)
plt.subplot(2,2,2)
plt.bar(np.arange(len(P)), P, color='r')
plt.xticks(np.arange(len(P)), np.arange(1,5), fontsize=0)
plt.subplot(2,2,4)
plt.bar(np.arange(len(Q2)), Q2, color='b')
plt.xticks(np.arange(len(Q2)), np.arange(1,5))
plt.title("Wasserstein distance {:.4}\nKL divergence {:.4}".format(
    scipy.stats.wasserstein_distance(sampP, sampQ2), scipy.stats.entropy(P, Q2)), fontsize=10)
plt.show()

Wasserstein metrik ve Kullback-Leibler iki farklı dağılım çifti için ayrışmalar Burada, kırmızı ve mavi dağılımlar arasındaki önlemler, KL ayrımı için aynıdır, oysa Wasserstein mesafesi, olasılık kütlesini kırmızı yoldan mavi duruma “yol” olarak x ekseni kullanarak taşımak için gereken işi ölçer. Bu ölçü açıktır ki, olasılık kütlesi ne kadar uzaksa o kadar büyüktür (bu nedenle takma toprak hareketinin mesafesi). Hangisini kullanmak istediğinizi uygulama alanınıza ve neyi ölçmek istediğinize göre ayarlayabilirsiniz. Not olarak, KL sapması yerine, uygun ölçümler olan Jensen-Shannon mesafesi gibi başka seçenekler de vardır.


6

Wasserstein metriği, en yaygın olarak, hedefin, belirli bir yapılandırmadan, istenen maliyeti en düşük maliyet veya en düşük mesafedeki bir konfigürasyona taşımak olduğu optimum taşıma problemlerinde ortaya çıkar. Kullback-Leibler (KL) bir ayrışmadır (bir metrik değildir) ve istatistik, makine öğrenmesi ve bilgi teorisinde çok sık görülür.

Ayrıca, Wasserstein metriği , her iki önlemin de aynı olasılık alanı üzerinde olmasını gerektirmezken , KL farklılığı , her iki önlemin de aynı olasılık alanı üzerinde tanımlanmasını gerektirir .

Wasserstein mesafesi ile KL sapması arasındaki farkı görmek için belki de en kolay nokta, her ikisinin de kapalı form çözümleri olan çok değişkenli Gaussian durumundadır. Diyelim ki bu dağılımların k boyutu , μben ve kovaryans matrisleri var.Σbenben=1,2

W2(N-0,N-1)2=μ1-μ222+tr(Σ1+Σ2-2(Σ21/2Σ1Σ21/2)1/2)
DKL(N-0,N-1)=12(tr(Σ1-1Σ0)+(μ1-μ0)TΣ1-1(μ1-μ0)-k+ln(detΣ1detΣ0)).
Σ1=Σ2=wbenkμ1μ20-k terim ve log-determinant oranı da 0
W2(N-0,N-1)2=μ1-μ222
ve
DKL(N-0,N-1)=(μ1-μ0)TΣ1-1(μ1-μ0).
Varyans değişirse Wasserstein mesafesinin değişmediğine dikkat edin (örneğin wkovaryans matrislerinde büyük bir miktar olduğu gibi) oysa KL sapması yapar. Bunun nedeni, Wasserstein mesafesinin iki olasılık ölçüsünün eklem destek alanlarındaki bir mesafe işlevi olmasıdır. Buna karşılık, KL sapması bir sapmadır ve bu sapma, dağılımların bilgi alanına (sinyal-gürültü oranı) dayanarak değişir.


1

Wasserstein metriği, modellerin onaylanmasında yararlıdır çünkü üniteleri yanıtın kendisindedir. Örneğin, aynı sistemin iki stokastik gösterimini karşılaştırıyorsanız (örneğin, azalan bir sipariş modeli),P ve Sve cevap, yer değiştirme birimleridir, Wasserstein metriği de yer değiştirme birimleri içindedir. Stokastik temsilciliğinizi deterministik bir duruma indirdiyseniz, her birinin dağılımının CDF'si bir adım fonksiyonudur. Wasserstein metriği, değerlerin farkıdır.

Bu özelliği iki rastgele değişken arasındaki mutlak fark hakkında konuşmak için çok doğal bir uzantı olarak buluyorum

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.