최근 수정 시각 : 2025-10-10 09:39:38

KL divergence


1. 개요2. 정의
2.1. 이산분포의 경우2.2. 연속분포의 경우

1. 개요

수리통계학에서 Kullback-Leibler Divergence(상대 엔트로피; relative entropy) [math(D_{\mathrm{KL}}(P\mathbin{||}Q))]은 통계적 거리이다영문 위키. 첫번째 확률 분포 Q가 두번째 확률분포 P와 어떻게 다른지에 대한 척도이다. P와 Q의 발산에 대한 간단한 해석은, 실제 분포가 P이지만 Q를 모델로 사용할 때 예상되는 서프라이즈(surprise) 이다. KL divergence는 일반적인 의미에서 거리(distance)이긴 하지만, (피타고라스 정리가 성립하는) 친숙한 유형의 거리(distance)인 메트릭(metric)은 아니다. 이는 두 분포 [math(P)], [math(Q)]에 대해 비대칭적이며, 삼각부등식을 만족하지 않기 때문이다.[1] 대신 정보기하학의 관점에서 볼 때 이것은 제곱 거리의 일반화이며, 특정 종류의 분포[특히 지수족(exponential family)]의 경우, (제곱 거리에 적용되는) 일반화된 피타고라스 정리를 만족시킨다.

간단한 경우, 상대 엔트로피 값이 [math(0)]임은 문제의 두 분포가 동일한 양의 정보를 가지고 있음을 나타낸다. KL 다이버전스는 정보 시스템의 상대적(섀넌) 엔트로피를 특성화(characterize)하고, 연속 시계열의 무작위성, 추론의 통계 모델을 비교할 때 정보 이득과 같은 다양한 응용 분야를 가지고 있다. 그리고 응용통계학, 유체역학, 신경과학생물정보학과 같은 분야에서는 실용적으로 사용되고 있다.

두 확률분포 [math(P)], [math(Q)]를 고려하자. 일반적으로 [math(P)]는 데이터나 관측값 혹은 계산된 확률분포를 나타내고, [math(Q)]는 이론, 모델, 혹은 [math(P)]의 근사적인 분포를 나타낸다. 이 때 KL divergence는 샘플 [math(P)]를 [math(P)]에 최적화된 코드가 아니라 [math(Q)]에 최적화된 코드로 인코딩할 때 필요한 비트 수의 평균적인 차이로 해석된다. 때때로 계산의 편의성을 위해 [math(P)]와 [math(Q)]의 역할을 바꾸는 경우도 있다고 한다. (EM algorithm)

2. 정의

2.1. 이산분포의 경우

이산적인 변수를 가진 확률분포 [math(P)], [math(Q)]가 동일한 확률공간 [math(X)]에서 정의될때 [math(Q)]에서 [math(P)]로 가는 상대 엔트로피(KL divergence)는 다음과 같이 정의된다:
[math(D_{\mathrm{KL}}(P\mathbin{||}Q) = \displaystyle\sum_{x} P(x)\log\frac{P(x)}{Q(x)})]

이때 상대 엔트로피는 [math(Q(x))]가 [math(0)]으로 갈때 [math(P(x))]도 [math(0)]으로 갈 때만 정의될 수 있다.

2.2. 연속분포의 경우

연속변수를 가진 확률분포 [math(P,Q)]에 대한 상대 엔트로피는 합을 적분으로 대체해서 다음과 같이 정의된다.
[math(D_{\mathrm{KL}}(P\mathbin{||}Q) = \displaystyle\int P(x)\log\frac{P(x)}{Q(x)}\,\mathrm dx)]

[1] 즉, 일반적인 확률분포 [math(P)], [math(Q)], [math(R)]에 대하여 [math(D_{\mathrm{KL}}(P\mathbin{||}Q)=D_{\mathrm{KL}}(Q\mathbin{||}P))]와 [math(D_{\mathrm{KL}}(P\mathbin{||}R)\leq D_{\mathrm{KL}}(P\mathbin{||}Q)+D_{\mathrm{KL}}(Q\mathbin{||}R))]를 모두 만족하지 않는다.

분류