Sunday, November 21, 2010

information theory

bioinformatics 논문을 보다보면 KL-divergence 와 같은 information theory에 관한 내용을 자주 접할 수 있다 (FFP의 논문에서도 나온다). berkeley 의 대학의 bioinformatics의 한 대학원 수업을 보면 두 개의 main text book을 중심으로 배우는데 그중 하나가 바로 information theory 에 관한 책이며 다른 하나인 BSA도 information theory를 사용하며 부록에 따로 취급한다 (http://biowiki.org/view/Teaching/BioE241).


해서 간단하게 요약하려 한다. 내용은 오일석의 패턴인식이라는 책의 내용이다.


-self information
정보라고함은 놀라운 정도이다. 그러니까 오늘 날씨가 맑은데 내일도 날씨가 맑다는 정보보다는 내일은 비가 온다는 정보가 더 놀랍다. 그렇기 때문에 내일 비가 온다는 정보가 정보량이 더 많다고 할 수 있다. 이를 식으로 나타내면 다음과 같다.
h(x) = - log2 P(x)
h는 self information으로 정보량을 뜻하고 P는 사건 x가 일어날 확률을 의미한다.


-entropy
엔트로피는 모든 사건에 대한 위의 self information의 평균값이다.
H(x) = -Σ h(x)P(x)
이 엔트로피는 모든 사건의 확률이 동일할때 그 값이 최대가 된다. 곧 엔트로피는 불화실성을 뜻한다. 모든 사건의 확률이 동일하면 그 엔트로피 값도 커지고 이는 곧 사건의 확률이 동일하므로 어떤 사건이 발생할지 예측하기 힘들다는 의미이다.


-KL divergence
두개 확률 분포 p1(x) 와 p2(x) 가 있을때 두 확률 분포간의 다른 정도를 표현하는 한 지표가 Kullback-Leibler divergence 라고 한다.
KL(P1(x),P2(x)) = ΣP1(x)log2(P1(x)/P2(x)) 
KL divergence는 relative entropy (상대 엔트로피) 라고도 한다(아마도 entopy의 구하는 식과 동일한데 다만 log에서 취하는 확률값이 두 집단의 상대적인 확률을 취하기 때문인듯). 
그리고 하나 주의해야 할것은 KL(P1(x),P2(x)) 와 KL(P2(x),P1(x)) 는 서로 다르다. 그렇기에 distance라는 표현을 사용하지 않고 divergence 라는 표현을 사용한다. 이는 패턴인식에서 특징 선택을 할때 선택된 특징에 의한 두 그룹의 분별력을 측정할때 사용가능하다.


-mutual information
두 랜덤 벡터 x, y의 의존도를 평가할때 사용 가능하다.
두 벡터 x와 y가 독립이라면 p(x)p(y) = p(x,y) 의 식이 성립하고 의존성이 클수록 p(x)p(y)와 p(x,y) 의 차가 커진다.그래서 두 값 p(x,y) 와 p(x)p(y)의 KL divergence를 구한것이 mutual information (상호 정보)이다
I(x,y) = KL(P(x,y),P(x)P(y))
이러한 mutual information은 기존 특징 벡터 x에다가 새로운 특징벡터 y를 추가 하였을때 얻는 이득을 평가 할때 사용가능하다.즉 새로운 특징 벡터 y가 x와 상호 정보가 크다면 y를 추가하였을때 얻는 이득이 적다.