머신러닝&딥러닝/기초정리

Likelihood, Maximum likelihood estimation 이란?

Like_Me 2021. 8. 29. 10:49

  딥러닝 공부를 하다 보면 likelihood가 자주 등장한다. 기본적인 내용들을 다시 한번 remind 하기 위해 정리해둔다.

 

Likelihood를 식으로 표현하면 다음과 같다.

$$ L(\theta|D) $$

$\theta$는 parameter이고 D는 data를 의미한다. 식을 그대로 해석해보면, 가능도는 관측값(D)이 주어졌을 때(given) 관측값이 $\theta$에 대한 확률분포 $P(\theta)$에서 나왔을 확률이다.

 

likelihood가 익숙하면서 안 익숙한(?) 이상한 느낌이 드는 이유는 likelihood와 비슷하게 생긴 $Pr(D|\theta)$라는 식을 자주 보았기 때문이다. 이 식은 '확률'을 나타내는데 중, 고등학교 과정에서 자주 봤었다. 확률은 가능도와 다르게 확률분포 $P(\theta)$가 주어졌을 때(given) Data가 이 분포에서 관측될 수 있는 빈도를 표현한다.

정규분포

예를 들어 정규 분포가 주어지고 데이터가 0~1$\sigma$ 사이로 관측될 확률은 34.1% 가 된다. 즉, 확률은 given distribution에서 데이터가 관측되게 될 범위의 area가 된다.

 

가능도와 확률의 차이는 명확하다. 확률은 주어진 확률분포에서 해당 관측값이 어느 정도 나올지를 표현하고 이 값은 distribution의 area를 통해 구한다. 반면 가능도는 관측 데이터가 있을 때 어떤 분포를 주고 그 분포에서 데이터가 나왔을 확률을 구하는 것이다. 가능도를 구하는 식은 다음과 같다.

$$ L(\theta|x) = P_{\theta} (X=x) = \prod^{n}_{k=1} P(x_{k}|\theta) $$

즉, 가능도는 각 데이터 샘플에서 후보 분포 $P(\theta)$에 대한 y value(밀도)를 (데이터의 추출이 독립적이고 연달아 일어나는 사건이므로) 곱하여 계산한다. 직관적으로 생각했을 때 후보가 되는 분포가 데이터를 잘 설명한다면 likelihood는 당연히 높게 나올 것이다.

데이터가 주어졌을 때 여러가지 후보 분포

예를 들어 위의 그림처럼 파란색 데이터 분포를 설명하는 후보 분포가 1,2,3으로 주어졌다고 가정해보자. 이때 각 분포에 대한 likelihood를 구하면 데이터를 잘 설명하는 2번이 가장 큰 값을 가지게 될 것이다. 이렇게 가장 데이터를 잘 설명하는 분포를 likelihood를 통해 구할 수 있고 이런 방법을 Maximum Likelihood Estimation (MLE)라고 부른다. 

 

다시 한번 MLE를 정의해보면 다음과 같다. 관측된 표본 데이터 집합을 X라고 했을 때 parameter $\theta$로 구성된 확률 밀도 함수(pdf)에서 $\theta$를 추정하는 방법이다. 이 $\theta$는 Likelihood $L(\theta|x)$를 maximize 함으로 찾을 수 있다. 보통은 파라미터 $\theta$에 대해 편미분 하여 그 값이 0이 되도록 하는 파라미터를 찾는다.

 

참조 : wikipedia (likelihood)