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()
Ở đâ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.