쿨백-라이블러 발산 (Kullback-Leibler Divergence)
쿨백-라이블러 발산의 정의 (Definition)
쿨백-라이블러 발산의 정의는 위와 같고,
p와 q의 교차 엔트로피 H[p, q] 에서, p의 엔트로피 H[q] 를 빼준 값과 같다.
기댓값 관점
수식을 살펴보면,
log(p / q) 의 분포 P에 대한 기댓값이라고 볼 수 있다.
쿨백-라이블러 발산의 의미
두 분포 P, Q가 서로 얼마나 다른지 숫자로 나타낸 값이다.
▷ H[P, Q] = 분포 P에 대해, 분포 Q를 사용했을 때의 정보량 (질문 갯수의 기댓값)
▷ H[P] = 분포 P에 대해, 분포 P를 사용했을 때의 정보량 (질문 갯수의 기댓값)
KL(P || Q) = H[P, Q] - H[P] 에서
항상 H[P] <= H[P, Q] 이기 때문에,
(분포 P에 대해서, 분포 P가 최소의 정보량을 필요로 하는 분포이다.)
0 <= KL(P || Q) 이다.
"쿨백-라이블러 발산" 과 "교차 엔트로피" 간의 관계
H[P] 는 theta와 관련 없는 항(term)이기 때문에,
KLD를 theta로 미분하면
d[ KL(P||Q) ] / d(theta) = d [ H[P, Q] ] / d(theta) 가 된다.
즉, 손실 함수로서 Cross Entropy 값을 최소화 한다는 것은,
결국 Kullback-Leibler Divergence 값을 최소화 한다는 것과 같다.
그리고 이것은,
분포 Q를 분포 P와 최대한 가깝게 만드는 방향으로 학습한다는 것을 의미한다.
◎ References
< 순록킴의 블로그, 초보를 위한 정보이론 안내서 - KL divergence 쉽게 보기 >
< 유진's 공부로그, [ML/DL] 쿨백-라이블러 발산 (Kullback-Leibler Divergence) >
< 데이터 사이언스 스쿨, 10.3 교차엔트로피와 쿨백-라이블러 발산 >
'Data Science' 카테고리의 다른 글
Mean Squared Error (MSE) (0) | 2023.06.16 |
---|---|
Mutual Information (0) | 2023.06.13 |
Cross Entropy (0) | 2023.06.07 |
Softmax (0) | 2023.06.04 |
Permutation Importance (0) | 2023.06.03 |