위키득계정 ↗
과학

쿨백라이블러 발산

쿨백라이블러 발산과학
영문명
Kullback-Leibler divergence
약칭
KL divergence
다른 이름
상대 엔트로피
주요 특징
비대칭이며 무한대가 될 수 있음
쿨백라이블러 발산은 확률분포 P를 기준으로 P와 Q의 차이를 측정하는 양이다. 이산 분포에서는 각 결과에 대해 P의 확률에 확률비의 로그를 곱해 더하며, 입력 순서를 바꾸면 일반적으로 값이 달라진다.

각 항과 전체 합

두 확률이 양수인 자리의 항은 P값에 log(P값/Q값)를 곱한 것이다. 각 항은 음수가 될 수도 있지만 정규화된 확률분포에 대한 전체 합은 음이 아니다. 개별 결과의 기여와 분포 전체의 발산을 혼동하지 않아야 한다.

순서를 바꾸면 달라지는 예

밑 2의 로그를 쓰고 P=(1, 0), Q=(1/2, 1/2)라고 하자. P에서 Q로의 발산은 1이다. 반대로 Q에서 P로 계산하면 Q에서 양의 확률인 두 번째 결과에 P는 0을 주므로 발산이 무한대가 된다. 따라서 일반적인 대칭 거리와는 다르다.

확률이 0인 자리

P값이 0인 항은 Q값이 음이 아니면 0으로 처리한다. 반면 P값은 양수인데 Q값이 0이면 무한대로 처리한다. 작은 수를 더해 0을 없애는 평활화는 계산을 유한하게 만들 수 있지만 원래 비교하던 분포도 바꾸는 선택이다.

계산 결과를 해석하는 조건

입력은 같은 결과 공간을 나타내고 각각 확률의 합이 1이어야 한다. 단순한 횟수 벡터를 그대로 넣는 것과 확률분포로 정규화하는 것은 다르다. 로그의 밑에 따라 숫자의 크기도 달라지므로 밑 2인지 자연로그인지 함께 밝혀야 비교가 가능하다.

관련 문서

젠슨섀넌 발산 / 확률분포 / 엔트로피 / 로그 / 평활화 / 코사인 유사도