Mathematics/Statistics

상대 엔트로피, 쿨백 라이블러 발산(Kullback-Leibler divergence)

진성01 2023. 1. 29. 19:54

정보이론

 

정보 이론

정보 이론은 확률론 결정 이론 등과 함께 머신러닝 & 패턴인식에서 중요한 개념이다. 이번 글에서는 정보이론에 대해 소개한다. 이산확률 변수 x를 고려해보자. 이 변수가 특정 값을 가지고 있는

mldiary.tistory.com

위의 글에서 확률에서의 엔트로피의 개념에 대해 알아보았다. 이제 이 개념을 어떻게 패턴 인식에 활용할 수 있을 지 알아보자.

 

쿨백 라이블러 발산

 

알려지지 않은 분포 p(x)를 고려해보자. 이를 피팅하기 위해 모델을 만들었으며, (x)그 결과로 분포 q(x)를 구할 수 있었다고 하자. 만약 q(x)를 이용하여 x의 값을 수신자에게 전달하기 위해 코드를 만든다고 하면 p(x)가 아닌 q(x)를 사용했으므로 추가 정보가 필요하다. 이때 추가로 필요한 정보의 양은 다음과 같이 주어진다.

쿨백 라이블러 발산

위의 식을 p(x)와 q(x)간의 상호 엔트로피 또는 쿨백 라이블러 발산이라고 부른다.

위의 식은 다음과 같은 성질을 만족한다(증명은 생략하였다).

KL(p||q) = 0 이면 p(x) = q(x)

확률 밀도를 추정하는 것과 전송하는 데이터를 압축하는 데에는 밀접한 연관이 있음을 알 수 있다. 왜냐하면 실제 분포를 알고 있을 때 가장 효율적인 압축이 가능하기 때문이다. 실제 분포와 다른 분포를 바탕으로 모델링이 이루어졌을 경우 압축 자체가 덜 효율적이다. 평균적으로 두 분포 사이의 쿨백 라이블러 발산만큼의 정보가 추가적으로 전송되어야 하는 것이다.

 

쿨백 라이블러 발산의 이용

 

우리가 모델링하고자 하는 알려지지 않은 분포 p(x)로부터 데이터가 만들어지는 상황을 가정하자. 변경 가능한 매개변수 θ에 대해 종속적인 매개변수 분포 q(x|θ)를 이용해 p(x)를 추정하고자 시도할 수 있다. θ를 구하는 한 가지 방법은 p(x)와 q(x|θ)사이의 쿨백 라이블러 발산을 최소화하도록 하는 θ를 찾는 것이다. p(x)에 대해 정확히 알고 있지 못하므로 직접 계산은 불가능하나, p(x)에서 뽑아낸 데이터셋이 있다고 가정하면, p(x)에 대한 기댓값을 근사할 수 있다.

쿨백라이블러를 다음과 같이 근사할 수 있다.

첫 번째 항은 분포 q(x|θ)하에서의 θ의 음의 로그 가능도 함수를 데이터셋을 이용해서 계산한 것에 해당한다. 따라서 쿨백 라이블러 발산을 최소화하는 것은 가능도 함수를 최대화하는 것과 동일하다는 것을 알 수 있다.

 

또한 두 변수들이 얼마나 독립적인지에 대해 알아볼 수도 있다. 두 변수 xy의 결합 분포 p(x,y)가 있다고 하자. 만약 독립이라면 p(x,y) = p(x)p(y)로 나타낼 수 있을 것이다. 양변의 항으로 쿨백라이블러 발산을 이용하면 두 변수 간의 독립의 정도를 알 수 있다.

위의 식을 변수 xy 사이의 상호 정보량이라고 한다. 쿨백 라이블러의 성질에 따라 I[x,y]>=0이며, xy가 서로 독립적일 때만 I[x,y] = 0 이라는 것을 알 수 있다. 확률의 합과 곱의 법칙을 이용하면 상호 정보량은 조건부 엔트로피와 다음 관계를 가진다.

y에 대해 알고 있을 때 x 값에 대한 불확실성을 표현한 것이 상호 정보량이라고 생각할 수 있다. 베이지안 관점에서는 p(x)를 x에 대한 사전 분포로, p(x|y)를 새로운 데이터 y를 관찰한 후의 사후 분포로 볼 수 있다. 따라서 베이지안 관점에서 상호 정보량은 새 관찰값 y의 결과로 줄어드는 x에 대한 불확실성을 표현한 것이 된다.

'Mathematics > Statistics' 카테고리의 다른 글

다항 분포  (0) 2023.01.30
베타 분포  (0) 2023.01.29
이산 확률 변수 - 베르누이 분포, 이항 분포  (0) 2023.01.29
정보 이론  (0) 2023.01.28
차원의 저주  (0) 2023.01.27