인공지능 확률통계

Entropy, Cross-entropy, KL-Divergence

인공지능 대학생 2024. 12. 10. 14:17

Entropy - H(x)

Information Theory: 표본공간(=sample space)에서 사건이 발생할 가능도(=likelihood)를 측정한 확률

정보의 양; 확률변수의 불확실성을 정량화하는 척도

섀넌 엔트로피. 발생확률(=x)이 적을수록 정보의 양(=I(x))이 크다. -logP(x) = 놀람의 정도(=degree of surprise)

 

 

$$ H(x) = -\sum_{x\in\chi}P(x)\log{P(x)} = \mathbb{E}[-\log{P(x)}] $$

 

 X 의 확률 질량 함수 

X는 확률 변수 x가 취할 수 있는 값들의 집합

여기서 완전 랜덤한 1 bit (50%확률로 1, 나머지 확률로 0)의 정보량을 1로 unit을 맞추기 위해 log는 밑이 2인 로그를 사용

 

섀넌 엔트로피 H(x)의 성질

  • H(x) (<- x의 엔트로피) 는 -logp(x)의 기대값이다.
    -logp(x)는 사건 x가 일어난 경우 얻는 정보량으로 해석 할 수 있다.
    H(x) 는 모든 사건에 대한 정보량의 기댓값인 평균 정보량이 된다. (E = Expectation)
  • 임의의 X에 대해 H(x) ≥ 0 이다.
  • 임의의 X에 대해 H(X) ≤ log⁡∣X∣ 이다. 즉 에 대해 최대 엔트로피를 갖는 확률 분포는 균등 분포(Uniform distribution)이다.
  • 임의의 확률 분포 에 대해  오목함수이다.
  • 일반적으로 로그의 밑을 2로 사용하며, 이때의 섀넌 엔트로피의 단위는 비트이다.
    즉, 엔트로피는 이론상 어떤 정보를 나타낼 수 있는 최소한의 비트 수를 의미한다.

 

Cross-Entropy - H(p, q)

$$ H(P, Q) = -\sum_{x\in\chi}P(x)\log{Q(x)} $$

P(x)는 real data의 확률 (≈ training data; label)

Q(x)는 우리가 예상하는 확률 ( ≈ model output)

즉, real 확률분포와 우리가 예상하는 확률분포간의 차이

 

KL-divergence(Kullback-Leibler divergence) - Dkl(P||Q)

서로 다른 두 분포의 차이를 측정하기 위한 방법.

Entropy와 Cross-entropy의 차이를 측정하는데 사용한다. 즉, 정보량의 차이를 측정하기 위함.

 

$$ D_{KL}(P||Q) = H(P,Q) - H(P) $$

H(P) = Entropy; training data (=label)

H(P,Q) = Cross-Entropy

 

H(P) 는 real data의 분포이므로 정보가 안정화되어 있다면 정보이론 측면에서 값이 작고,
H(P,Q) 는 정보가 H(P)에 비해 덜 안정화 되어 있어 정보이론 측면에서 값이 크다. 

$$ H(P,Q) \geq H(P) $$

즉,

$$ D_{KL}(P||Q) \geq 0 $$

 

우리의 목표는 예측분포(=H(P,Q))를 실제분포(=H(P))와 가깝게 하는 것이므로 Dkl(P||Q)를 최대한 0으로 만들어야 한다.

H(P)는 real data이므로 고정값이라 할 때,

H(P,Q)(=Cross-entropy)를 최소화 시켜야 한다.

Cross-entropy를 최소화 하는 것이 KL Divergence를 최소화 시키는 것이다.

(* Entropy를 최소화 = 불확실성을 최소화)

 

 

반응형