[metric] Kullback-Leibler divergence (a.k.a KL divergence)

ma-kjh·2023년 9월 12일
0

metric

목록 보기
2/2

Kullback-Leibler divergence는 정보이론에서 두 분포간의 차이를 정량적인 지표로 통계적으로 측정해주는 지표이다.

어떻게 측정하는가 ?

KL divergence는 non-symmetric metric으로 상대적인 엔트로피(relative entropy)를 측정해주는 작업이다. 직관적으로 이해하기는, 서로 다른 두 데이터 분포 사이의 거리를 측정해주는 것으로 생각할 수 있지만, 상대적인 거리이기 때문에 어떤 분포를 기준으로 하느냐에 따라 값이 달라질 수 있다.

DKL(p(x)q(x))=p(x)lnp(x)q(x)dxD_\text{KL}(p(x)||q(x)) = \int^{\infin}_{-\infin} p(x)\ln{p(x)\over{q(x)}}dx

위와 같이 나타낼 수 있고, discrete한 form은 아래와 같다.

DKL(p(x)q(x))=xXp(x)lnp(x)q(x)D_\text{KL}(p(x)||q(x)) = \sum_{x\in X} p(x)\ln{p(x)\over{q(x)}}

KL loss 가 그러면 어디에 쓰이냐?

i.i.d data로부터의 확률 모델을 학습하는데 있어서 가장 기본적으로 제안되는 방법이, 바로 maximum likelihood estimation (MLE)방법이다. pθ(x)p_\theta(\mathbf{x})θ\theta에 의해 parameterized된 확률 모델이라고 하고, pdata(x)p_\text{data}(\mathbf{x})를 데이터셋 분포라고 해보자. 우리는 데이터분포에 대한 log-likelihood의 기대값을 최대화 해주는 것으로 pθ(x)p_\theta(\mathbf{x})pdata(x)p_\text{data}(\mathbf{x})에 맞춰지도록 만들어줄 수 있다. 다시 말해, 아래 정의된 기대값을 최대화 해주는 θ\theta를 찾으면 된다.

Expdata(x)[logpθ(x)]\mathbb{E}_{\mathbf{x}\sim p_\text{data}(\mathbf{x})}[\log p_\theta(\mathbf{x})]
profile
거인의 어깨에 올라서서 더 넓은 세상을 바라보라 - 아이작 뉴턴

0개의 댓글