Які переваги метрики Wasserstein порівняно з розбіжністю Куллбека-Лейблера?


25

Яка практична різниця між Wasserstein метрикою і Кульбакою-Лейблером дивергенцией ? Метрику Вассерстейна також називають відстань руху Землі .

З Вікіпедії:

Метрика Вассерстейна (або Васерштейна) - це відстань, яка визначається між розподілами ймовірностей на заданому метричному просторі М.

і

Дивергенція Куллбека – Лейблера - це міра того, як один розподіл ймовірностей відходить від другого очікуваного розподілу ймовірностей.

Я бачив, як KL використовується в машинних реалізаціях, але нещодавно я натрапив на показник Wasserstein. Чи є хороша настанова щодо використання того чи іншого?

(У мене недостатньо репутації для створення нового тегу з Wassersteinабо Earth mover's distance.)


Де я натрапив на метрику Wasserstein: github.com/RaRe-Technologies/movie-plots-by-genre/blob/master/…
Thomas Fauskanger

1
редагування публікації, щоб додати тег Wasserstein на основі запиту плаката. Також додаючи відповідь.
Лукас Робертс

Відповіді:


28

Якщо розглядати переваги метрики Вассерстейна порівняно з розбіжністю KL, то найбільш очевидним є те, що W є метрикою, тоді як KL розбіжність не є, оскільки KL не симетричний (тобто взагалі) і не задовольняє нерівності трикутника (тобто взагалі не виконується).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)

Що стосується практичної різниці, то одним із найважливіших є те, що на відміну від KL (та багатьох інших заходів) Вассерштейн враховує метричний простір, і що це означає у менш абстрактних умовах, можливо, найкраще пояснюється прикладом (не соромтеся пропускати до рисунка, код тільки для його створення):

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

Метричні розбіжності Вассерстейна та Кулбека-Лейблера для двох різних пар розподілів Тут заходи між розподілом червоного та синього кольорів однакові для розбіжності KL, тоді як відстань Вассерстейна вимірює роботу, необхідну для перенесення маси ймовірності з червоного стану в синій стан, використовуючи вісь x як "дорогу". Цей показник, очевидно, тим більший, чим далі знаходиться ймовірнісна маса (отже, відстань псевдоніма Землі). Отже, який саме ви хочете використовувати, залежить від вашої області застосування та що ви хочете виміряти. Зауважимо, замість розбіжності KL є також інші варіанти, як відстань Дженсена-Шеннона, які є належними показниками.


6

Метрика Wasserstein найчастіше виявляється в оптимальних транспортних проблемах, коли мета полягає в тому, щоб перемістити речі з заданої конфігурації до потрібної конфігурації за мінімальної вартості або мінімальної відстані. Kullback-Leibler (KL) - це розбіжність (не метрика) і дуже часто виявляється у статистиці, машинному навчанні та теорії інформації.

Крім того, для метрики Wasserstein не потрібно, щоб обидва заходи знаходилися на одному просторі ймовірностей, тоді як розбіжність KL вимагає, щоб обидва заходи були визначені на одному просторі ймовірностей.

kμiΣii=1,2

W2(N0,N1)2=μ1μ222+tr(Σ1+Σ22(Σ21/2Σ1Σ21/2)1/2)
DКЛ(N0,N1)=12(тр(Σ1-1Σ0)+(мк1-мк0)ТΣ1-1(мк1-мк0)-к+ln(detΣ1detΣ0)).
Σ1=Σ2=шЯкмк1мк20-к0, тож ці дві величини стають: і Зауважте, що відстань Вассерстейна не змінюється, якщо зміна дисперсії (скажімо, приймайте як велику величину в матрицях коваріації), тоді як розбіжність KL має місце. Це пояснюється тим, що відстань Вассерстейна - це функція відстані в спільних опорних просторах двох імовірнісних заходів. На відміну від цього, дивергенція KL є дивергенцією, і ця дивергенція змінюється на основі інформаційного простору (відношення сигнал / шум) розподілів.
W2(N0,N1)2=мк1-мк222
DКЛ(N0,N1)=(мк1-мк0)ТΣ1-1(мк1-мк0).
ш


1

Вимірювальний показник Wasserstein корисний для перевірки моделей, оскільки його одиниці є характеристикою самої реакції. Наприклад, якщо ви порівнюєте два стохастичні подання однієї і тієї ж системи (наприклад, модель зі зменшеним порядком), і , а відповідь є одиницями переміщення, показник Wasserstein також знаходиться в одиницях переміщення. Якщо ви звели своє стохастичне представлення до детермінованого, CDF розподілу кожного з них є ступеневою функцією. Показником Вассерстейна є різниця значень.ПQ

Я вважаю це властивість цілком природним розширенням, щоб говорити про абсолютну різницю між двома випадковими змінними

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.