머신러닝에 필요한 기초적인 수학 공부를 하기 위해 "선형대수와 통계학으로 배우는 머신러닝 with 파이썬" 이라는 책을 읽고 블로그에 요약해보고자 합니다. 오직 제 개인적인 공부 공간으로 사용할 목적으로 포스팅을 할 예정이니 자세한 내용이 궁금하신 분들은 아래 표지 책을 구매하여 공부하시길 바랍니다.
이전 포스팅 >>>>> [STUDY/머신러닝\딥러닝] - [ML책] 머신러닝이란?
[엔트로피 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을 손실함수로 사용가능하다는 것을 보여줌.
'STUDY > 인공지능' 카테고리의 다른 글
[ML 책] 스칼라, 벡터, 행렬, 텐서, 행렬 곱, 행렬 원소곱, 행렬식, 역행렬 (0) | 2023.06.20 |
---|---|
[ML 책] 지도 학습과 비지도 학습의 목적과 차이, 파라미터와 하이퍼 파라미터의 차이 (0) | 2023.06.20 |
까먹지 않기 위한 파이토치 공부 내용 정리3 (0) | 2023.06.11 |
까먹지 않기 위한 파이토치 공부 내용 정리2 (0) | 2023.06.11 |
까먹지 않기 위한 파이토치 공부 내용 정리 (0) | 2023.06.08 |