본문 바로가기
Study/ML

정보이론 - 엔트로피, KL-divergence, Mutual Information

by 까망우동 2023. 7. 4.
반응형

Index

    Entropy

    • 엔트로피(entropy)란, '정보를 표현하는데 필요한 최소 자원량 기대값' → 이걸 bits (0과1)로 표현
    • 위키에서 표현한 엔트로피는 '각 메세지에 포함된 정보의 기대값' 혹은 불확실성이라고도 표현한다. 
    • 정보를 인코딩할 때 확률이 높은건 짧게, 확률이 낮은건 길게 코딩해서 정보를 최대한 적은량의 bits로 표현
    • cf. 알다싶이 기대값은 확률×도수 이다. 엔트로피에서 도수는 자원량을 의미 
    • 엔트로피를 수식으로 표현하면 아래와 같다. 아래 수식의 기대값이 항상 최소값이라고 섀런이라는 사람이 증명함 (x가 continuous 하면 시그마는 ∫ , log는 ln으로 바뀜) 
    • - log 함수를 활용하여, 확률이 1에 가까울수록 도수가 0이 되고, 0에 가까울수록 1이 되는 모양 

    • 엔트로피는 p(x)의 분포가 uniform일때 가장크다 (최악이다). 엔트로피를 '불확실성' 이라고 표현할때가 많은데, 불확실성 관점에서 보면 uniform분포가 가장 불확실하고 그때 엔트로피가 가장크다. 반대로 앞면이 99%나오는 동전이 있다고 하면 불확실성이 매우 낮은, 즉 엔트로피가 매우 낮은 확률분포의 예시가 된다. 
    • 다시 정리하면 확률p에 대한 도수를 -log p 로했을때 기대값이 최소가 된다는 개념..  

     

    Cross-Entropy

    • Cross-Entropy 는 Entropy 의 도수 부분을 실제 확률 p* 가 아닌 예측확률 p를 사용하는 것이다. 그렇기 때문에 entropy보다는 값이 크겠지 (entropy가 최소 기대값이라고 했으니) 
    • 그래서 예측 모델에서 실제값 부분이 P* 로, 예측값 부분이 P로 들어가는 CE를 쓰는것이다. 실제와 같을수록(크로스 엔트로피가 엔트로피에 다갈수록) 최소가 되니깐 

    KL-divergence

    • Entropy 측면에서, 비효율적인 정도를 나타냄 
    • 정보 표현 측면에서, Entropy는 최고로 효율이 좋은 인코딩 Cross Entropy는 잘못코딩한것 (효율이 안좋은것)
    • 따라서 KL-diverge 는 Cross Entropy - Entropy 이기 때문에 아래와 같은 수식이 나온다. = - p×log(q) + p×log(p)           * 참고로 항상 Cross Entropy > Entropy 이다.  
    • 같은 말이지만 CE를 최소화 하는것이 KL을 최소화 하는것이다. 

    Mutual Information 

    • 아래 수식을 보면 KL divergence와 똑같다. 
    • 즉, 실제로는 p(x,y) : 독립이 아닌데 예측을 p(x),p(y) : 독립이라고 했을때의 KL divergence (비효율적인 양)
    • 따라서 실제로 독립일수록 MI 값이 작다 (예측과 동일하니). 반대로 실제로 상관관계가 클수록 MI 값이 크다. 

    • 위 식을 분해하면 아래와 같이 entropy 표현식으로 해석할 수 있고. Y의 불확실성에서 X를 알고있을때 Y의 불확실성을 뺀 값이다. 따라서 최소일때는 독립인상황 즉 MI가 0일때 이다. 

    • 위 풀이과정에 빠진 한줄. I(X;Y) = H(X) + H(Y) - H(X,Y) 로도 표현 가능하다. 

     

     

    ※ 왜 독립이면 P(x,y) = P(x) × P(y) 인가?

    독립이면 P(x|y) = P(x) 

    P(x|y) = P(x,y) / P(y)

     

     

     

     

     

     

     

     

     

     

    반응형

    댓글