Entropy - H(x)
Information Theory: 표본공간(=sample space)에서 사건이 발생할 가능도(=likelihood)를 측정한 확률
정보의 양; 확률변수의 불확실성을 정량화하는 척도
$$ 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를 최소화 = 불확실성을 최소화)
'인공지능 확률통계' 카테고리의 다른 글
Autoencoder (0) | 2024.12.16 |
---|---|
Transformer (0) | 2024.12.11 |
생성형 인공지능 종류 - GPT, Diffusion, Autoencoder, GAN (0) | 2024.11.12 |
베이즈 이론 - 인공지능 확률 통계 (0) | 2023.09.17 |