본문 바로가기

STUDY/인공지능

[ML 책] 엔트로피, 크로스 엔트로피, KL Divergence, Negative log Likelihood

728x90

머신러닝에 필요한 기초적인 수학 공부를 하기 위해  "선형대수와 통계학으로 배우는 머신러닝 with 파이썬" 이라는 책을 읽고 블로그에 요약해보고자 합니다. 오직 제 개인적인 공부 공간으로 사용할 목적으로 포스팅을 할 예정이니 자세한 내용이 궁금하신 분들은 아래 표지 책을 구매하여 공부하시길 바랍니다.

책 표지를 누르면 저자의 깃헙으로 이동됩니다:)

이전 포스팅  >>>>> [STUDY/머신러닝\딥러닝] - [ML책] 머신러닝이란?

 

[ML책] 머신러닝이란?

요즘들어 머신러닝/딥러닝 공부를 하면서 수학적 지식이 정말 필수적이구나라는 생각이 많이 듭니다. 물론 수학적인 지식없이도 머신러닝과 딥러닝을 쉽게 접할 수 있습니다. 하지만, 저와같이

chaeso-coding.tistory.com


[엔트로피 Entropy]

  • 확률의 불확실성 정도 측정.
  • 하나의 분포를 대상으로 함.

$Entropy(P) = - \sum P(x)logP(x) = -E(logP(x))$

 

 

[크로스 엔트로피 Cross Entropy]

  • 두 분포 $P(x), Q(x)$를 대상으로 엔트로피를 측정해 두 분포 간 차이를 계산 보통 $P(x)$를 실제 모형의 분포, $Q(x)$를 예측 모형의 분포라고 함.

 

$Cross Entropy(P, Q) = - \sum P(x) logQ(x)=-E_{p}(logQ(x))$

 

 

[Kullback-Leiber Divergence, KLD]

  • 상대적 엔트로피 relative entropy라고도 함 

$D_{KL}(P||Q) = \sum P(x) log \frac{P(x)}{Q(x)}$

                 $                        = - \sum P(x) logQ(x) + \sum P(x)logP(x)$

$                        = -E_{p}(log \frac{P(x)}{Q(x)})$

 

 

[Negative Log Likelihood, NLL]

 

$Negative Log Likelihood = -log f(x_{i}|\theta)$

 

  • 최대 가능도 추정량을 구하기 위한 로그 가능도 함수

$\widehat{\theta}_{MLE} = argmax_{\theta} \sum_n^{i=1}log f(x_{i}|\theta) $ 

 

$\widehat{\theta}_{MLE} = argmax_{\theta} \frac{1}{n} \sum_n^{i=1} log f(x_{i}|\theta)$

$                      = argmax_{\theta} E[log f(x_{i}|\theta)]$ 

 

 

* 손실함수 : 실제 값 - 추정 값

  • 실제 모형을 $f_{true}(x_{i}|\theta)$라고 하고, 각 데이터 포인터별 손실은 아래와 같음

 

손실 = 실제 - 추정

$          = log f_{true}(x_{i}|\theta) - log f(x_{i}|\theta)$

 

 

* 손실함수 바탕의 비용함수 cost function

 

비용 $= E[log f_{true}(x_{i}|\theta) - log f(x_{i}|\theta)]$

$         = log f_{true}(x_{i}|\theta) - E[log f(x_{i}|\theta)]$

$         = -E[log f(x_{i}|\theta)]$

 

  • $ -E[log f(x_{i}|\theta)]$ 이 부분은 cross entropy 에 해당함.

 

* 로그 가능도 함수를 최대화하는 것은 cross entropy를 최소화 하는 것

 

$argmax E[log f(x_{i}|\theta)]=argmin_{\theta}[-E[log f(x|\theta)]]$

 

  • 따라서, 로그 가능도 함수를 최대화 하는 파라미터를 찾는 문제는 cross entropy를 최소화하는 파라미터를 찾는 문제와 동일함.
  • 또한, NLL을 손실함수로 사용가능하다는 것을 보여줌.
728x90