Apa kelebihan metrik Wasserstein dibandingkan dengan divergensi Kullback-Leibler?

25

Apa perbedaan praktis antara metrik Wasserstein dan divergensi Kullback-Leibler ? Metrik Wasserstein juga disebut sebagai jarak penggerak Bumi .

Dari Wikipedia:

Metrik Wasserstein (atau Vaserstein) adalah fungsi jarak yang didefinisikan antara distribusi probabilitas pada ruang metrik M.

dan

Divergensi Kullback – Leibler adalah ukuran bagaimana satu distribusi probabilitas berbeda dari distribusi probabilitas kedua yang diharapkan.

Saya telah melihat KL telah digunakan dalam implementasi pembelajaran mesin, tetapi saya baru-baru ini menemukan metrik Wasserstein. Apakah ada pedoman yang baik tentang kapan harus menggunakan satu atau yang lain?

(Saya tidak memiliki reputasi yang cukup untuk membuat tag baru dengan Wassersteinatau Earth mover's distance.)

Thomas Fauskanger
sumber
Di mana saya menemukan metrik Wasserstein: github.com/RaRe-Technologies/movie-plots-by-genre/blob/master/…
Thomas Fauskanger
1
mengedit posting untuk menambahkan tag Wasserstein berdasarkan permintaan poster. Juga menambahkan jawaban.
Lucas Roberts

Jawaban:

28

Ketika mempertimbangkan keunggulan metrik Wasserstein dibandingkan dengan divergensi KL, maka yang paling jelas adalah bahwa W adalah metrik sedangkan KL divergensi tidak, karena KL tidak simetris (yaitu secara umum) dan tidak memenuhi ketidaksetaraan segitiga (yaitu tidak berlaku secara umum).D K L ( R | | P ) D K L ( Q | | P ) + D K L ( R | | Q )DKL(P||Q)DKL(Q||P)DKL(R||P)DKL(Q||P)+DKL(R||Q)

Karena perbedaan praktis, maka salah satu yang paling penting adalah bahwa tidak seperti KL (dan banyak tindakan lainnya) Wasserstein memperhitungkan ruang metrik dan apa artinya ini dalam istilah yang kurang abstrak mungkin paling baik dijelaskan dengan contoh (jangan ragu untuk melewati ke gambar, kode hanya untuk memproduksinya):

# 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()

Metrik Wasserstein dan divergensi Kullback-Leibler untuk dua pasangan distribusi yang berbeda Di sini ukuran antara distribusi merah dan biru sama untuk divergensi KL sedangkan jarak Wasserstein mengukur pekerjaan yang diperlukan untuk mengangkut massa probabilitas dari kondisi merah ke kondisi biru menggunakan sumbu x sebagai "jalan". Ukuran ini jelas semakin besar semakin jauh probabilitas massa (maka jarak alias penggerak bumi). Jadi yang mana yang ingin Anda gunakan tergantung pada area aplikasi Anda dan apa yang ingin Anda ukur. Sebagai catatan, alih-alih KL divergensi ada juga opsi lain seperti jarak Jensen-Shannon yang merupakan metrik yang tepat.

antike
sumber
6

Metrik Wasserstein paling sering muncul dalam masalah transportasi optimal di mana tujuannya adalah untuk memindahkan berbagai hal dari konfigurasi yang diberikan ke konfigurasi yang diinginkan dalam biaya minimum atau jarak minimum. Kullback-Leibler (KL) adalah divergensi (bukan metrik) dan sangat sering muncul dalam statistik, pembelajaran mesin, dan teori informasi.

Juga, metrik Wasserstein tidak mengharuskan kedua ukuran berada pada ruang probabilitas yang sama, sedangkan divergensi KL mengharuskan kedua ukuran tersebut harus didefinisikan pada ruang probabilitas yang sama.

Mungkin tempat termudah untuk melihat perbedaan antara jarak Wasserstein dan divergensi KL adalah dalam kasus Gaussian multivariat di mana keduanya memiliki solusi bentuk tertutup. Mari kita asumsikan bahwa distribusi ini memiliki dimensi , berarti , dan matriks kovarians , untuk . Mereka dua formula adalah:kμsayaΣsayasaya=1,2

W2(N0,N1)2=μ1-μ222+tr(Σ1+Σ2-2(Σ21/2Σ1Σ21/2)1/2)
dan Untuk mempermudah, mari kita pertimbangkan dan . Dengan asumsi penyederhanaan ini, istilah jejak di Wasserstein adalah dan istilah jejak di divergensi KL akan menjadi 0 bila dikombinasikan dengan istilah dan rasio penentu log juga
DKL(N0,N1)=12(tr(Σ1-1Σ0)+(μ1-μ0)TΣ1-1(μ1-μ0)-k+dalam(detΣ1detΣ0)).
Σ1=Σ2=wsayakμ1μ20-k0 , jadi dua kuantitas ini menjadi: dan Perhatikan bahwa jarak Wasserstein tidak berubah jika perubahan varians (katakanlah take sebagai jumlah besar di matriks kovarians) sedangkan perbedaan KL tidak. Ini karena jarak Wasserstein adalah fungsi jarak dalam ruang dukungan gabungan dari dua ukuran probabilitas. Sebaliknya divergensi KL adalah divergensi dan divergensi ini berubah berdasarkan ruang informasi (rasio sinyal terhadap noise) dari distribusi.
W2(N0,N1)2=μ1-μ222
DKL(N0,N1)=(μ1-μ0)TΣ1-1(μ1-μ0).
w

Lucas Roberts
sumber
1

Metrik Wasserstein berguna dalam validasi model karena unitnya adalah respons itu sendiri. Sebagai contoh, jika Anda membandingkan dua representasi stokastik dari sistem yang sama (misalnya model pesanan rendah), dan , dan responsnya adalah unit perpindahan, metrik Wasserstein juga dalam satuan perpindahan. Jika Anda mengurangi representasi stokastik Anda menjadi deterministik, CDF distribusi masing-masing adalah fungsi langkah. Metrik Wasserstein adalah perbedaan nilainya.PQ

Saya menemukan properti ini menjadi ekstensi yang sangat alami untuk berbicara tentang perbedaan absolut antara dua variabel acak

Justin Winokur
sumber