Entropy
- 확률변수의 불확실성의 척도
- 높다는 것은 정보가 많고, 확률이 낮다는 것을 의미
q - 실제 / p - 예측
p(xi)는 각각의 요소들이 나올 수 있는 확률값이다.
모든 요소들이 나올 확률이 동일하다면, -log p(xi) 값도 모두 동일하기 때문에 식을 간결하게 만들 수 있다.
p(xi)값의 총 합은 1이기 때문에 수식은 -log p(xi)가 됩니다. x값이 작아질수록 -log x 값은 기하급수적으로 커진다.
x가 작아진 것 보다 log x가 커지는 폭이 훨씬 크기 때문에 전체 엔트로피는 증가한다.
Cross-Entropy
원래의 cross entropy는 예측 모형은 실제 분포인 q 를 모르고, 모델링을 하여 q 분포를 예측하고자 하는 것이다. 예측 모델링을 통해 구한 분포를 p(x) 라고 해보자. 실제 분포인 q를 예측하는 p 분포를 만들었을 때, 이 때 cross-entropy 는 아래와 같이 정의된다.
- 두 확률 분포의 차이를 구하기 위해 사용
- 딥러닝에서는 실제 데이터의 확률 분포와, 학습된 모델이 계산한 확률 분포의 차이를 구하는데 사용
머신러닝을 통한 예측 모형에서 훈련 데이터에서는 실제 분포인 q 를 알 수 있기 때문에 cross-entropy 를 계산할 수 있다. 즉, 훈련 데이터를 사용한 예측 모형에서 cross-entropy 는 실제 값과 예측값의 차이 (dissimilarity) 를 계산하는데 사용할 수 있다는 것이다.
Kullback-Leibler Divergence(KL-Divergence)
- 서로 다른 두 분포의 차이(dissimilarity)를 측정하는데 쓰이는 척도이다.
- entropy와 cross entropy개념에 대입하면 두 entropy 차이로 계산된다.
- cross entropy의 값이 entropy의 값보다 항상 크기 때문에 KL-Divergence는 항상 0보다 큰 값을 갖게 된다. p가 q에 가까이 갈수록 KL-Divergence는 0에 가까워진다.
- H(q)는 고정이기 때문에, H_p(q)를 최소화 시키는 것이 예측 모형을 최적화 시키는 것이다.
Mutual Information
- 하나의 확률 변수가 다른 확률변수에 "얼마나 영향을 미치는가" 혹은 "불확실성을 얼마나 줄일 수 있는가"를 측정
- -> 하나의 확률변수가 다른 확률변수를 결정하는 데에 크게 기여한다면, 하나의 확률 변수만 알아도 다른 확률변수의 값을 쉽게 알 수 있기 때문에 그만큼 불확실성이 줄어든다고 해석할 수 있기 때문
- 두 개의 변수가 통계적으로 "독립"일 때 (P(X,Y) = 0)에 mutual information이 0이 된다.
- cross-entropy를 최소화 시키는 것 -> KL-Divergence를 최소화
: 불확실성을 제어하고자하는 예측모형의 실질적인 목적
'AI' 카테고리의 다른 글
train & test & validation data set (1) | 2023.10.21 |
---|---|
batch size & epoch & iteration (0) | 2023.10.20 |
K-Fold Cross Validation (0) | 2023.10.20 |
ROC curve (0) | 2023.10.20 |
Loss Function (0) | 2023.10.20 |