Entropy

AI Scientist를 목표로!·2023년 2월 18일
0
post-custom-banner

Entropy란?

  • Entropy는 불확실성을 수치화한 값

  • 다른말로하면, 최적의 전략 하에서 해당 사건을 예측하는데 필요한 질문의 개수를 의미

  • 즉, Entropy의 감소 = 해당 사건을 맞추기 위한 질문 개수의 감소 = 정보량의 감소

예시

예를 들어 A, B, C, D 4장의 카드 중 한장을 뽑는 사건을 가정할 경우

  1. A 카드 인가요?

물었을 때, 정답을 맞출 확률은 12\frac{1}{2} 이다.

  1. 1번 질문에서 정답을 맞추지 못해 B 카드 인가요?라고 추가적으로 물었을 경우

앞선 질문과 합칠 경우 정답을 맞출 확률은 14\frac{1}{4}이다.

  1. 이전 질문까지도 정답을 맞추지 못해 C 카드 인가요? 라고 추가적으로 물었을 경우

총 3번의 질문의 경우 정답을 맞출 확률은 18\frac{1}{8}이다.

마지막 D카드라고 물어볼 수 있지만 어차피 답은 D이기 때문에 확률은 18\frac{1}{8}로 3번째 질문과 동일하다.

해당 예시를 통해 예측에 필요한 질문 개수의 평균을 계산할 경우

12×1+14×2+18×3×2=74\frac{1}{2} × 1 + \frac{1}{4} × 2 + \frac{1}{8} × 3 × 2 = \frac{7}{4}

해석해보면

  • 첫 번째 질문에 맞출 확률 (12\frac{1}{2}) x 첫 번째 질문 (1)

  • 두 번째 질문에 맞출 확률 (14\frac{1}{4}) x 두 번째 질문 (2)

  • 세 번째 질문에 맞출 확률 (18\frac{1}{8}) x 세 번째 질문 (3)

  • C카드와 D카드 2가지 경우를 모두 생각해야 하기에 (2)

결과 74\frac{7}{4}의 값이 나온다. 이 해당값은 확률변수의 Entropy의 값과 같다.

다시 말하면, 불확실성을 해소하기 위해서 평균적으로 74\frac{7}{4}의 질의가 필요하다는 의미이다.

Entropy 적용

  • 사건 x에 대한 확률분포를 p(x)라고 할 때, Entropy H(x)는
H(x)=i=1np(xi)log2p(xi)H(x) = -\sum_{i=1}^n p(x_i) log_2p(x_i)

즉, 모든 확률 분포에 xlogxxlogx를 취해주고 다 더해준 후 -1을 곱해주면 된다.

위 예시를 적용해 보면

H(x)=(12log12+14log14+18log18+18log18)=74H(x) = -(\frac{1}{2}log\frac{1}{2} + \frac{1}{4}log\frac{1}{4} + \frac{1}{8}log\frac{1}{8} + \frac{1}{8}log\frac{1}{8}) = \frac{7}{4}

Entropy의 성질

H(x)logxH(x) \le log|x|
  • Entropy는 불확실성을 수치화 한 값

  • Entropy는 확률변수가 취하는 값의 개수에 log를 취한 값을 넘지못함

  • 확률변수가 균등분포를 가진다면 H(x)H(x)logxlog|x|가 같아짐


Cross Entropy

H(p,q)=i=1nq(xi)logp(xi)H(p,q) = - \sum_{i=1}^n q(x_i)logp(x_i)
  • q = 실제 분포
  • p = 모델링을 통해 구한 분포

즉, 실제 분포 q에 대해서 알지 못하는 상태에서, 모델링을 통해 구한 분포 p를 통해 q를 예측하는 것

실제 값과 예측 값이 동일한 경우에는 0으로 수렴하고

값이 틀릴 경우에는 값이 증가한다.

즉, 실제값과 예측값의 차이를 줄이기 위한 Entropy이다.


KL-divergence

  • 두 확률분포의 차이를 계산하는데 사용하는 함수로, 어떤 이상적인 분포에 대해 그 분포를 근사하는 다른 분포를 사용해 발생할 수 있는 정보 엔트로피 차이를 계산

  • 정답 분포와 모델의 예측값의 분포가 얼마나 비슷한지를 측정할 때 사용 되는 지표

  • 정보 엔트로피를 이용해 비교가 진행되기 때문에 KL-divergence는 Relative Entropy라고도 불림

  • Entropy = 어떤 확률분포 p가 있을 때, 확률분포 p를 사용할 경우의 엔트로피

  • Cross Entropy = 어떤 확률분포 p가 있을 때, 확률분포 q를 p 대신 사용할 경우의 엔트로피

  • KL-divergence = 어떤 확률분포 p가 있을 때, 근사적으로 표현하는 확률분포 q를 p대신 사용할 경우의 엔트로피 변화

  • Entropy의 변화가 의미하는 것은 H(p,q) (Cross Entropy)에서 H(p) (Entropy)를 뺀 값

DKL(PQ)=H(p,q)HD_{KL}(P||Q) = H(p,q) - H
pilog(qi)+pilog(pi)-\sum p_i log(q_i) + \sum p_i log(p_i)
pilogpiqi\sum p_i log \frac{p_i}{q_i}

결과적으로 모델이 예측한 확률분포(Q)의 정보량과 실제 확률분포(p)의 정보량의 차이를 계속 학습함으로써, Q를 P에 근사하게 만든다고 표현이 가능하다.

profile
딥러닝 지식의 백지에서 깜지까지
post-custom-banner

0개의 댓글