본문 바로가기
Studies/확률&통계

신경망과 MLE(Maximum Likelihood Estimation)

by 알푼 2024. 3. 14.
728x90
728x90

Natation

$P_{\theta} = P(x;\theta) = p(x|\theta)$ : 모두 $\theta$라는 파라미터를 갖는 경우 x의 확률 값

$P_{\theta}(y|x) = P(y|x;\theta) = P(y|x,\theta)$ : $\theta$라는 파라미터를 갖을 때, x가 주어졌을 때 y가 나올 확률

 

MLE

Likelihood란 어떤 확률 분포에서 샘플링을 한 값, 혹은 데이터를 가장 잘 설명하는 파라미터를 찾는 일이다. 그걸 찾기 위해 Likelihood가 최대가 되는 값, 즉 Maximum Likelihood를 찾는다.

Likelihood에 대해서는 아래 블로그에서 너무나 잘 설명해주었다고 생각이 들어서 해당 블로그의 링크를 남긴다.

https://xoft.tistory.com/31

 

[개념 정리] Maximum Likelihood Estimation 와 Log Likelihood

Likelihood (이전 글 참조) 는 확률 분포가 가정된 상황에서 관측값이 가지는 확률값을 의미합니다. Maximum Likelihood Estimation(MLE)는 관측되는 데이터들을 가장 잘 모델링하는 확률분포의 parameter를 찾

xoft.tistory.com

 

Negative Log Likelihood (NLL)

MLE는 Likelihood가 최대가 되는 값을 찾아야 하는데, 딥러닝 프레임워크들은 gradient descent만 지원한다. 따라서 maximization 문제를 minimization 문제로 바꿔야 하며, 이는 -1를 곱해줌으로 수행 가능하다.

어떤 분포 $P(\mathrm{x})$로 부터 샘플링한 데이터 $x$가 주어졌을 때, 파라미터 $\theta$를 갖는 조건부 확률 분포를 아래처럼 나타낼 수 있다.

$P(y|x; \theta),\;where\;x\sim P(\mathrm{x})$

확률 분포의 관점에서 $\theta$를 생각해보면, 예를 들어 가우시안 확률 분포라면 $\theta$가 $\mu, \sigma$ 일 것이다. 그런데 이것이 일반적인 인공 신경망이라면 $\theta$가 $W, b$ 가 될 것이다. 이 때 gradient descent를 통해 NLL을 최소화하는 $\theta$를 찾을 수 있다. 기본적으로 MLE는 maximization 문제이므로, log앞에 마이너스(-)를 곱해서 minimization 문제로 바꾸어 준 것이 NLL 이다.

$\hat{\theta} = \underset{\theta \in \Theta}{argmin} \sum\limits_{i=1}^{N}-logP(y_{i}|x_{i};\theta)$

728x90
반응형

댓글