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( Q | | P)genel olarak tutmaz).DKL( R | | P) ≤ DKL( Q | | P) + DKL( R | | Q )
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()
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.