Mutual Information은 두개의 대상이 서로 의존적으로 나타난 정보를 의미한다.
회사에서 A와 B가 같이 다니는 것이 발견된다면, 우선 A를 본 횟수와 B를 본 횟수, 그리고
A와 B가 같이 나타난 횟수를 비교해봐서, 거의 항상 A나 B를 봤을떄는 AB가 같이 나타난 경우라고
생각한다면 A와 B는 상호정보가 높은 것이다. 그러므로 A와 B 사이에는 뭔가가 있다고 짐작할 수 있다.

검색엔진에서는 이것으로 일종의 연관 검색어 시서러스를 만든다.
쿼리에서 A를 검색하고 B를 검색하는 경우가 높으면 A를 검색했을때에 B를 추천하는 것이다.
네티즌의 선택이나 그녀의 추천 등이 이 방식을 사용해서 연관검색어를 추천하고 있다.

이 상호정보는 여러곳에 사용될 수 있을 것 같은데....
사실 연구용도로도 그다지 많이 사용되지 않았다.
문제가 있기 때문이다.
단어의 갯수가 500만개도 넘는 상황에서 이들간의 상호 정보를 추출하려면 충분하게 많은 관찰이 있어야 하는데
어느정도의 관찰에서 유용한 상호정보를 추출할 수 있는 것인지가 명확하지 않기 때문이다.

이것을 어디에 사용할까....
친구를 보면 그 사람을 알수 있다는 이야기를 적용해서 특정 대상에 대한 Representation으로 사용 가능한 것인가?

막상 있는 그대로 Representation으로 사용하기에는 무리가 있다.
문서의 Representation을 필요로 하는 Classification의 경우에 MI를 사용하는 것보다
카이스퀘어 방식의 Representation이 훨씬 높은 성능을 보였기 때문이다.
이것은 문서집합에 대한 Representation을 표현할때에 각 문서집합에 대한 분류가 있는 경우에
문서집합 (Class)을 표현하기 좋은 단어는 그 단어가 문서에 있는데, 적합한 경우와 적합하지 않은 경우
그 단어가 문서에 없는데, 적합한 경우와 적합하지 않은 경우를 계산하는 것이다.
잘 생각해 보면 이유가 너무 당연하다.
MI는 긍정적인 feedback은 주지만 부정적인 상황을 표현할 수는 없기 때문이다.

그러고보면 MI는 반쪽의 Representation인 것 같다.
누가 나오면 누가 자주 나와... 이렇게는 이야기 할 수 있는데,
누가 나오면 그 영화는 망해, 누가 나오면 그 영화는 잘될 수 있어....
이렇게 이야기해줄 수는 없으니까...
MI는 Representation 그 자체는 아닌것 같다.
Representation에 꼭 필요한 Feature 중에 하나일 수는 있겠지만
변별력을 필요로 하는 Representation이 필요하다면... 이건 아닐 수도...

그렇더라도 MI는 Learning Data가 없어도 쉽게 숫자 세기로만으로도 구할 수 있다.
이것을 어디에 잘 쓸까가... 문제인데....

아마도, 입력에 오류가 있는 단어라고 판단하고 나서 원래의 단어를 찾을때,
주위의 단어 MI를 검토해보면, 유용할 것 같다.
단어(예: 싸이)에 대한 MI를 그 단어의 Topic (예: 연예인)의 MI로 취합해서 보면
Topic의 MI를 뽑아낼 수 있을 것 같다. Topic의 MI를 Topic에 대한 Representation으로
사용한다면, 각 단어들과 Topic의 거리를 재는 것도 가능하다.
하지만, 이 문서가 이 Topic이야... 라고 말하는 것은 약간 위험하네....

Text Classification에서도 단어를 16000개 이상 사용할 때는 카이스퀘어와 MI가
비슷한 성능을 보였었는데, 관찰 대상 단어를 무지 많이 늘리면, MI로도
Representation 할 수 있지 않을까????
학습용 데이타베이스가 없는 상황에서는, 어떻게든 Representation을
만들어야 하는데....

역시 경험을 해보니깐, 조금 더 알게 되는 것 같다....