Legacy/Information Theory

상호정보량(Mutual Information)

shine_ing 2012. 10. 29. 01:59

상호정보량은 두 사건 사이가 얼마나 밀접한 관계가 있는지를 알아볼 수 있는 방법이다.


사전적인 의미로는 


"사상 x의 발생을 아는 데 따라 전해지는 정보량과 다른 사상 y가 발생한다는 조건 하에서 사상 x의 발생을 아는 데 따라서 전해지는 조건 있는 정보량과의 차."

( 네이버 링크 발췌 - 상호정보량 )


말은 상당히 어렵다.


그러나 실제로는 매우 심플한 이론이다.


사건 A가 일어날 확률 : P(A)

사건 B가 일어날 확률 : P(B)


이라고 할 때, 


사건 A와 사건 B의 상호정보량은 아래와 같다.


MI(A,B) = P(A∩B) / ( P(A)*P(B) )


위 수식을 말로 쉽게 풀어쓴다면,


사건 A가 일어날 확률과 사건 B가 일어날 확률 중에 사건 A와 B가 동시에 일어날 확률이다.


실제 예를 들어서 설명해보자.


구글에서


"이명박"을 검색한 문서가 42,000,000 개

"박근혜"를 검색한 문서가 58,800,000 개

"안철수"를 검색한 문서가 17,400,000 개


"이명박 박근혜"를 검색한 문서가 19,000,000 개

"이명박 안철수"를 검색한 문서가 13,200,000 개


이다.


"이명박"이 "박근혜"와 "안철수"중에 누구와 더 연관성이 있는지를 상호정보량을 계산하여 보자.


확률 값을 구하기 위해서 구글에서 


"." (dot) 를 검색한 결과 942,000,000개를 전체 문서 수로 보았다.


먼저 


P(이명박) = 0.04,  P(박근혜) = 0.06, P(안철수) = 0.01 


를 구한 뒤, 문서에서 동시에 출현한 확률을 구한다.


P(이명박 ∩ 박근혜) = 0.02,

P(이명박 ∩ 안철수) = 0.01


이명박과 박근혜의 상호정보량은


P(이명박 ∩ 박근혜) /( P(이명박)*P(박근혜) ) = 0.02/0.0024 = 8.3


이명박과 안철수의 상호정보량은


P(이명박 ∩ 안철수) /( P(이명박)*P(안철수) ) = 0.01/0.0004 = 25


그렇다면 이명박은 박근혜보다 안철수와 어떠한 형태로든 더 연관성이 높다고 볼 수 있다.


덧, 


이것은 어디까지나 예제이다. 실제로는 이명박과 박근혜가 더 연관성이 높아야할 것이다.


그러나 이러한 결과가 나온 이유를 추측해보면


  • 정규화 문제(Normalization)

실제로 이명박의 규모(Scale)과 박근혜, 안철수의 규모가 다르다. 그렇기 때문에 확률 값의 규모를 조절할 필요가 있다. (Scalable)


  • 중복 데이터 제거(Filtering)

블로그 및 뉴스 검색 시 같은 내용의 문서가 다량으로 출현하였기 때문에 중복된 데이터를 제거해야할 필요가 있다.



이 밖에도 다양한 문제들이 있을 것이다. 이러한 문제들을 잘 찾고 해결하는 것이 진정한 컴퓨터 사이언스의 묘미라고 생각된다.


그리고 이 글은 어디까지나 상호정보량을 구해보기 위한 "예제"이기 때문에 상호정보량 자체를 이해하는 것에는 큰 무리가 없을 것으로 판단된다.