상호정보량은 두 사건 사이가 얼마나 밀접한 관계가 있는지를 알아볼 수 있는 방법이다.
사전적인 의미로는
"사상 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)
블로그 및 뉴스 검색 시 같은 내용의 문서가 다량으로 출현하였기 때문에 중복된 데이터를 제거해야할 필요가 있다.
이 밖에도 다양한 문제들이 있을 것이다. 이러한 문제들을 잘 찾고 해결하는 것이 진정한 컴퓨터 사이언스의 묘미라고 생각된다.
그리고 이 글은 어디까지나 상호정보량을 구해보기 위한 "예제"이기 때문에 상호정보량 자체를 이해하는 것에는 큰 무리가 없을 것으로 판단된다.