2017년 8월 9일 수요일

Information, Entropy

Information

  • Claude E. Shannon이 제안한 information theory에서의 information 개념
    • '정보량'을 표시하기 위한 추상적인 척도라고 간주하자.
    • 확률(함수)을 통해 정의됨
      • 주사위  눈금 1이 나올 확률에 대한 정보량 = -log(1/6) = 2.6 (이 때, 로그 밑을 2로 두어 계산했을 때)
$$ h(x) = -log\left \{ p(x) \right \} $$ 

Entropy

  • 하나의 system이 가지는 평균 정보량
    • 지수가 2인 로그를 사용하여 계산할 경우, 컴퓨터 저장 단위인 bit와 물리적 단위를 일치시킬 수 있음.
$$ H(x) = \sum_{x} p(x)h(x) = -\sum_{x} p(x)log\left \{ p(x) \right \} $$
  • Decision Tree를 compact하게 만드는 데 있어, 데이터 분포의 순도(purity)를 나타내는 척도로 활용됨(즉, entropy는 impurity의 척도를 나타냄)
    • 데이터 순도가 높을 수록, entropy는 낮아짐. 반대로, 데이터가 많이 혼합되어 있을 수록(즉, tree에 class의 분포가 고르게 퍼져있을 경우) entropy는 높아짐. 
    • 혼합성/엔트로피가 작을 수록, 데이터 구별이 더욱 용이해짐.
  • Information Gain: 특정 속성을 기준으로 데이터를 구분하게 될 때, '감소되는 entropy의 양'
    • Information gain이 커질 수록 더욱 효과적인 데이터 구분이 가능해짐.

KL-divergence

  • 두 개의 확률분포(=확률함수) P와 Q가 있을 때, 실제로는 P에서 나온 데이터가 다른 확률함수 Q에서 나왔다고 가정할 경우 발생하는 추가 정보량으로 해석할 수 있음.
    • 즉, 두 확률분포의 엔트로피 차이를 나타내는 준 거리 공식(semi-distance)
    • $D_{KL}(P,Q) = D_{KL}(P||Q) = \sum_{i} p_{i}log\frac{p_i}{q_i}$
    • 두 확률분포 사이의 거리 측정에 활용됨.
      • KL은 대칭성(symmetry)을 만족하지 못하기 때문에, 실제로 손실 공식으로 사용하기 위해서는 p가 실제 라벨인지 q가 실제 라벨인지 구별해야 함.
      • 머신러닝에선 p를 실제 정답인 라벨로, q를 예측한 확률분포로 사용함. (q가 0이 될 경우의 분모가 0이 될 지도 모른다고 걱정할 수 있는데, 만약 예측이 지수 정규화(softmax) 활성함수(activation function)의 결과물이라면 q가 0이 될 일은 없다고 함.)
  • 참고: 함수 d(x,y)가 metric이 되기 위해 필요한 특성 4가지
    • d(x,y) >=0
    • d(x,y) = 0 iff x==y
    • d(x,y) = d(y,x)
    • d(x,z) <= d(x,y) + d(y,z)
  • KL divergence는 q에 대한 convex function이며, p는 실제 확률분포로 주어질 때, KL 거리를 최소화하기 위한 식에서 고정값으로 간주할 수 있음.
    • $minimize(D_{KL})=minimize(\sum_{i} p_{i}logp_i-\sum_{i} p_{i}logq_i)=maximize(\sum_{i} p_{i}logq_i) = minimize(-\sum_{i} p_{i}logq_i)$

Cross-entropy (교차 엔트로피) 

  • = $-\sum_{i} p_{i}logq_i$ = negative log-likelihood (음수 로그 유사도)
  • 만약 y가 0 또는 1 값만 가지는 경우, Cross-entropy를 이용한 loss function은 다음과 같이 표현 가능
    • $ L=-ylog\hat{y}-(1-y)log(1-\hat{y})$
  • y가 여러 클래스를 갖는 경우의 loss function
    • $ L=-\sum_{i}ylog\hat{y}$

댓글 없음:

댓글 쓰기