상세 컨텐츠

본문 제목

쿨백-라이블러 발산 (KL Divergence)

수학

by Simple Runner 2018. 12. 4. 16:49

본문

앞선 글인 정보 엔트로피(Information Entropy)에서 확률분포를 한 개의 값으로 나타내는 법을 배웠다. 두 개의 확률분포(함수)의 차이(거리)를 나타내는데 이것을 활용할 수 있지 않을까? 쿨백-라이블러 발산(Kullback–Leibler divergence)이라는 아이디어가 바로 그것의 수학적 정의이다.


#쿨백-라이블러 발산(KL Divergence)

먼저 두개의 확률 분포 P(x), Q(x)를 생각해 보자. 각각의 정보 엔트로피는 다음과 같이 정의할 수 있다.



여기서 확률분포 P(x)는 이미 알고 있고, Q(x)는 우리가 찾고 싶은 확률 분포라고 한다면, 두번째 수식에서의 샘플링 확률(Q(x))을 P(x)로 바꾸어 근사할 수 있다. 아래 수식을 교차 엔트로피(Cross Entropy)라고도 부른다.



두개의 확률 분포 P(x), Q(x)에 대한 쿨백-라이블러 발산의 정의는 다음과 같다. 즉, 샘플링 확률을 P(x)로 같게 한 상황에서의 두 확률 분포의 상대적인 엔트로피(Relative Entropy)이다.



이산확률변수에서 연속확률변수로 바뀌면 아래와 같다. 참고로, P와 Q를 바꾸면 KLD(KL Divergence)값은 달라진다는 것도 알 수 있다.



이것을 어디에 활용하나? 고차원의 데이터의 차원을 축소하는 방법 중에 하나인 t-SNE(Stochastic Neighbor Embedding)라는 알고리즘에 활용된다.

'수학' 카테고리의 다른 글

이산 확률 분포 (#1)  (0) 2018.12.16
SNE (Stochastic Neighbor Embedding)  (0) 2018.12.09
정보 엔트로피 (Information Entropy)  (8) 2018.12.04
행렬의 고유값 구하기  (0) 2018.11.25
SVD (특이값 분해)  (0) 2018.11.18

관련글 더보기