Những lợi thế của số liệu Wasserstein so với phân kỳ Kullback-Leibler là gì?


25

Sự khác biệt thực tế giữa số liệu Wassersteinphân kỳ Kullback-Leibler là gì? Số liệu của Wasserstein cũng được gọi là khoảng cách của Trái đất .

Từ Wikipedia:

Số liệu Wasserstein (hoặc Vaserstein) là một hàm khoảng cách được xác định giữa các phân phối xác suất trên một không gian số liệu nhất định M.

Phân kỳ KullbackTHER Leibler là thước đo về cách một phân phối xác suất phân kỳ từ phân phối xác suất dự kiến ​​thứ hai.

Tôi đã thấy KL được sử dụng trong triển khai học máy, nhưng gần đây tôi đã xem qua số liệu của Wasserstein. Có một hướng dẫn tốt về khi nào nên sử dụng cái này hay cái kia?

(Tôi không đủ uy tín để tạo thẻ mới bằng Wassersteinhoặc Earth mover's distance.)


Nơi tôi bắt gặp số liệu của Wasserstein: github.com/RaRe-Technology/movie-plots-by-genre/blob/master/iêu
Thomas Fauskanger

1
chỉnh sửa bài đăng để thêm thẻ Wasserstein dựa trên yêu cầu của người đăng. Cũng thêm một câu trả lời.
Lucas Roberts

Câu trả lời:


28

Khi xem xét những ưu điểm của Wasserstein mét so với KL phân kỳ, sau đó là một rõ ràng nhất là W là một thước đo trong khi KL phân kỳ không phải là, kể từ KL là không đối xứng (ví dụ: nói chung) và không đáp ứng các bất đẳng thức tam giác (ví dụ: D K L ( R | | P ) D K L ( Q | | P ) + D KDKL(P||Q)DKL(Q||P)không giữ chung).DKL(R||P)DKL(Q||P)+DKL(R||Q)

Như một sự khác biệt thực tế, thì một trong những điều quan trọng nhất là không giống như KL (và nhiều biện pháp khác) Wasserstein tính đến không gian số liệu và điều này có nghĩa là trong thuật ngữ ít trừu tượng có lẽ được giải thích tốt nhất bằng một ví dụ (hãy bỏ qua theo hình, mã chỉ để sản xuất nó):

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

Số liệu Wasserstein và phân kỳ Kullback-Leibler cho hai cặp phân phối khác nhau Ở đây, các biện pháp giữa phân phối màu đỏ và màu xanh là giống nhau đối với phân kỳ KL trong khi khoảng cách Wasserstein đo công việc cần thiết để vận chuyển khối lượng xác suất từ ​​trạng thái màu đỏ sang trạng thái màu xanh bằng cách sử dụng trục x làm đường trục. Biện pháp này rõ ràng là càng lớn thì khối lượng xác suất càng xa (do đó khoảng cách của bí danh trái đất). Vì vậy, cái nào bạn muốn sử dụng phụ thuộc vào khu vực ứng dụng của bạn và những gì bạn muốn đo. Lưu ý, thay vì phân kỳ KL, cũng có các tùy chọn khác như khoảng cách Jensen-Shannon là số liệu thích hợp.


6

Số liệu Wasserstein thường xuất hiện nhất trong các vấn đề vận chuyển tối ưu trong đó mục tiêu là chuyển mọi thứ từ một cấu hình nhất định sang một cấu hình mong muốn trong chi phí tối thiểu hoặc khoảng cách tối thiểu. Kullback-Leibler (KL) là một phân kỳ (không phải là số liệu) và xuất hiện rất thường xuyên trong thống kê, học máy và lý thuyết thông tin.

Ngoài ra, số liệu Wasserstein không yêu cầu cả hai biện pháp trên cùng một không gian xác suất, trong khi phân kỳ KL yêu cầu cả hai biện pháp được xác định trên cùng một không gian xác suất.

Có lẽ điểm dễ nhất để thấy sự khác biệt giữa khoảng cách Wasserstein và phân kỳ KL là trong trường hợp Gaussian đa biến trong đó cả hai đều có các giải pháp dạng đóng. Giả sử rằng các bản phân phối có kích thước k , phương tiện μtôiΣtôitôi= =1,2

W2(N0,N1)2= =μ1-μ222+tr(Σ1+Σ2-2(Σ21/2Σ1Σ21/2)1/2)
DKL(N0,N1)= =12(tr(Σ1-1Σ0)+(μ1-μ0)TΣ1-1(μ1-μ0)-k+ln(phát hiệnΣ1phát hiệnΣ0)).
Σ1= =Σ2= =wtôikμ1μ20-k0
W2(N0,N1)2= =μ1-μ222
DKL(N0,N1)= =(μ1-μ0)TΣ1-1(μ1-μ0).
wnhư một số lượng lớn trong ma trận hiệp phương sai) trong khi phân kỳ KL thì có. Điều này là do khoảng cách Wasserstein là một hàm khoảng cách trong không gian hỗ trợ chung của hai biện pháp xác suất. Ngược lại, phân kỳ KL là một phân kỳ và phân kỳ này thay đổi dựa trên không gian thông tin (tỷ lệ tín hiệu / nhiễu) của các phân phối.


1

PQ

Tôi thấy thuộc tính này là một phần mở rộng rất tự nhiên để nói về sự khác biệt tuyệt đối giữa hai biến ngẫu nhiên

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.