# Optimal Transport
Optimal Transport
: 하나의 확률 분포를 다른 확률 분포로 옮기는데 필요한 비용 계산 문제 (두 확률간의 거리 측정)
- Transport Plan γ(x,y): 두 분포 사이의 거리를 구하고, 각 점을 다른 점으로 어떻게 옮길지 정의
- Cost function c(x,y) : 위치 x에서 위치 y로 물질을 옮길 때 드는 비용
# 두 확률 분포 간의 거리를 측정하는 방법
확률 변수 X, Y가 분포 P, Q를 갖고, 확률밀도함수를 각각 p,q라고 하자.
확률밀도함수 간의 거리를 측정하는 방법에는 아래와 같은 여러 방법들이 있다.
1. KL(Kullback-Leibler) Divergence
: 두 확률 분포 P와 Q간의 차이를 측정하는 비대칭적인 방법
: P가 Q로부터 얼마나 다른지에 대한 상대적인 엔트로피 차이 나타냄
DKL(P∥Q)=∫P(x)log(P(x)Q(x))dx
2. JS(Jensen-Shannon) Divergence
: KL의 대칭화된 버전, 두 분포의 평균을 기반으로 차이 측정
: P와 Q가 완전히 일치하면 JS는 0이되고, 최댓값은 1
DJS(P∥Q)=12(DKL(P∥M)+DKL(Q∥M))
M=12(P+Q)
3. Wasserstein Distance
: OT에서 나오는 거리로, 확률 질량을 분포 간에 옮기는 데 드는 최소 비용 측정
: 분포 간의 지리적 차이를 반영하여, 데이터가 연속적이거나 이미지와 같은 공간적 분포에서 사용하기 적합
minγ∏(P,Q)∫c(x,y)dγ(x,y)
4. TV(Total Variation Distance) Distance
: 두 확률분포간의 최대 차이 측정
: 두 분포가 얼마나 겹치는지 나타냄, 완전히 일치하면 0이고 완전히 다르면 1
dTV(P,Q)=12∫|P(x)−Q(x)|dx
5. Hellinger Distance
: 두 분포 간의 유사도 측정, 0--1의 값, 대칭적
: 분포가 같을 때 거리는 0, 완전히 다를 때 1
H(P,Q)=1√2(∫(√P(x)−√Q(x))2dx)1/2
참고블로그
https://ddangchani.github.io/Optimal-Transport/
Optimal Transport
Optimal Transport Optimal Transport는 하나의 확률분포를 다른 확률분포로 옮기는데 필요한 비용을 계산하는 문제라고 생각하면 된다. 즉, 두 확률분포 간의 거리를 측정하는 것이 주요 목적이다. 이러
ddangchani.github.io
https://pythonot.github.io/auto_examples/plot_Intro_OT.html
Introduction to Optimal Transport with Python — POT Python Optimal Transport 0.9.4 documentation
© Copyright 2016-2023, POT Contributors.
pythonot.github.io