Kullback-Leibler 분기와 비교하여 Wasserstein 지표의 장점은 무엇입니까?


25

Wasserstein 메트릭Kullback-Leibler 발산 의 실제 차이점은 무엇입니까 ? Wasserstein 미터법은 Earth mover 's distance 라고도합니다 .

Wikipedia에서 :

Wasserstein (또는 Vaserstein) 메트릭은 주어진 메트릭 공간 M의 확률 분포 사이에 정의 된 거리 함수입니다.

Kullback–Leibler 분기는 하나의 확률 분포가 두 번째 예상 확률 분포와 어떻게 다른지 측정합니다.

KL이 기계 학습 구현에 사용되는 것을 보았지만 최근에는 Wasserstein 메트릭을 발견했습니다. 어느 쪽을 사용해야하는지에 대한 좋은 지침이 있습니까?

( Wasserstein또는로 태그를 새로 만들 겠다는 평판이 부족 Earth mover's distance합니다.)



1
포스터 요청에 따라 Wasserstein 태그를 추가하기 위해 게시물을 편집합니다. 또한 답변을 추가합니다.
루카스 로버츠

답변:


28

KL 발산에 비해 Wasserstein 메트릭의 장점을 고려할 때 KL이 대칭이 아니기 때문에 W는 메트릭이고 KL 발산은 그렇지 않다는 것이 가장 분명한 것입니다 (즉, 일반적으로 )이며 삼각형 부등식을 만족하지 않습니다 (예 : 는 일반적으로 보유하지 않습니다.D K L ( R | | P ) D K L ( Q | | P ) + D K L ( R | | Q )케이(||)케이(||)케이(아르 자형||)케이(||)+케이(아르 자형||)

실질적인 차이에 관해서, 가장 중요한 것 중 하나는 KL (및 다른 많은 측정 값)과 달리 Wasserstein이 미터법 공간을 고려한다는 것입니다.이 개념이 덜 추상적 인 용어로 의미하는 것은 아마도 예제에서 가장 잘 설명 될 것입니다. 그림에 코드를 생성하기위한 코드) :

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

Wasserstein 메트릭과 Kullback-Leibler는 서로 다른 두 쌍의 분포에 대해 발산 여기서 빨간색과 파란색 분포 사이의 측정 값은 KL 발산에 대해 동일하지만 Wasserstein 거리는 x 축을 "도로"로 사용하여 확률 질량을 빨간색 상태에서 파란색 상태로 전달하는 데 필요한 작업을 측정합니다. 이 측정은 확률 질량이 멀수록 멀어 질수록 (따라서 별칭 지구 이동 자의 거리) 커집니다. 따라서 사용하려는 응용 분야와 측정 대상에 따라 사용할 것이 다릅니다. 참고로 KL 발산 대신 Jensen-Shannon 거리와 같은 다른 측정 옵션도 있습니다.


6

Wasserstein 메트릭은 목표가 최소 비용 또는 최소 거리로 주어진 구성에서 원하는 구성으로 이동하는 것이 목표 인 최적의 운송 문제에서 가장 일반적으로 나타납니다. KL (Kullback-Leibler)은 분기 (메트릭 아님)이며 통계, 머신 러닝 및 정보 이론에 매우 자주 나타납니다.

또한 Wasserstein 메트릭 두 측정 값이 모두 같은 확률 공간에 있어야 하는 반면 KL 분기 두 측정 값 모두 같은 확률 공간에 정의되어야합니다.

아마도 Wasserstein 거리와 KL 발산의 차이를 볼 수있는 가장 쉬운 지점은 다변량 가우시안 (Gassian) 경우인데 둘 다 폼 솔루션을 닫았습니다. 이러한 분포가 대해 차원 , 및 공분산 행렬 가지고 있다고 가정합시다 . 두 가지 공식은 다음과 같습니다.케이μ나는Σ나는나는=1,2

2(0,1)2=μ1μ222+아르 자형(Σ1+Σ22(Σ21/2Σ1Σ21/2)1/2)
및 단순화하기 위해 및 . 이러한 단순화 된 가정을 사용하면 Wasserstein의 미량 항은 이고 KL 분기의 미량 항은 항과 결합 하면 로그 결정 비율도 0이됩니다.
KL(0,1)=12(tr(Σ11Σ0)+(μ1μ0)Σ11(μ1μ0)케이+ln(데트Σ1데트Σ0)).
Σ1=Σ2=나는케이μ1μ20케이0 두 수량은 및 분산이 변하는 경우 (예 를 들어 공분산 행렬에서 를 대량으로 사용) Wasserstein 거리는 변하지 않지만 KL 발산은 변 합니다. 이는 Wasserstein 거리가 두 확률 측정 값의 조인트지지 공간에서 거리 함수이기 때문입니다. 반대로 KL 발산은 발산이며이 발산은 분포의 정보 공간 (신호 대 잡음비)에 따라 달라집니다.
2(0,1)2=μ1μ222
KL(0,1)=(μ1μ0)Σ11(μ1μ0).


1

Wasserstein 지표는 단위 자체가 반응 자체의 단위이므로 모형을 검증하는 데 유용합니다. 예를 들어, 동일한 시스템 (예 : 감소 차수 모델) 와 의 두 확률 론적 표현을 비교 하고 응답이 변위 단위 인 경우 Wasserstein 메트릭도 변위 단위입니다. 확률 론적 표현을 결정 론적으로 축소했다면, 각각의 분포의 CDF는 단계 함수입니다. Wasserstein 메트릭은 값의 차이입니다.

이 속성은 두 개의 임의 변수 사이의 절대 차이에 대해 이야기 할 수있는 매우 자연스러운 확장입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.