티스토리 뷰

Background/Math

최대우도 추정2

벼랑끝과학자 2023. 1. 24. 17:22

해당 내용은 개인 공부를 위해 작성되었습니다. 아래 공돌이 수학노트님의 영상을 참고한 내용입니다.

https://www.youtube.com/watch?v=XhlfVtGb19c 

 

이해 될때까지 공부하자 

1. 최대우도법이란 (MLE)

1. MLE는 모수(파라미터)를 이용한 데이터 밀도 추정방법이다.
2. 모수 세타를 아래와 같이 정의할 때, $$ \Theta = (\theta _1,\theta _2...\theta _m)$$
3. 어떤 확률밀도함수(PDF) P(x | Θ)에서 관측된
4. 표본 데이터 집합 X를 아래와 같이 정의할 때, $$X = (x_1,x_2,...x_n)$$
5. 표본들로부터 아래의 모수 세타를 추정하는 방법이다. $$ \Theta = (\theta _1,\theta _2...\theta _m)$$

 

Q. 위와 같은 확률 분포 2개가 있다고 생각하고, 데이터를 얻었을 때 X = {1,4,5,6,8,10}이 얻어졌다고 생각해보자. 이 데이터를 추출한 확률밀도함수는 주황색 분포일 확률이 높을까 파란색 분포일 확률이 높을까?

당연히 주황색 분포일 확률이 더 높을 것이라고 쉽게 답변할 수 있다.

그러나 왜? 주황색 분포냐고 물으면 명확하게 답변하기는 참 까다로울 것이다. 그냥 그런것 아냐? 라는 생각은 드는데 명확하게 설명이 어려운 이유는 최대 우도 추정이라는 개념에 대해 잘 이해하고 있지 못해서이다.

 

2. Likelihood(가능도)

MLE를 이해하기 위해서는 당연히 Likelihood(가능도)를 이해해야 한다.

likelihood란 어떤 분포로부터 데이터가 주어졌을 때, 수많은 분포들로부터 해당 데이터를 얻을 가능성이다.

즉 위에서는 주황색 분포의 likelihood(가능도)가 파란색 분포의 가능도보다는 더 높은 가능도를 가지므로 우리는 주황색 분포를 더 이상적인 데이터의 분포라고 생각해야 하는것이다.

 

그렇다면 수학적으로 가능도를 어떻게 계산하는가?

데이터가 주황색 분포에서 나왔다고 가정하면, 각 데이터가 주황색 분포의 likelihood에 기여하는 기여도는 x축 위의 각 데이터 포인트들을 점선들로 연결한 y축의 값이다.

그리고 가능도 = 모든 데이터 샘플의 기여도의 곱이다.

이것을 수식으로 나타내면 $$x = (x_1,x_2,...x_n)$$일 때 아래와 같다.

$$P(x|\theta) =  \prod_{k=1}^n p(x_k|\theta) $$

그리고 이런 가능도를 가장 높게 하는 모수(세타)를 가지는 분포를 가장 optimal한 모수로 보는것이 타당하다는 논리이다.

 

여기까지 이해했다면 주황색 분포의 가능도가 파란색 분포의 가능도보다 크다고 생각할 수 있을 것이다.

 

3. 어떻게 가능도가 최대가 되는 모수를 찾을 것인가?

그러면 이제 다시 Maximum likelihood로 돌아와서 각 분포가 가지는 가능도를 계산할 수 있게 되었다. 그런데 이걸 세상에 존재하는 모든 분포에 대해서 다 계산해보고 비교해서 최적의 파라미터를 찾을 수는 없는법이다. 우리는 수학적인 방법을 통해서 가장 이상적인 모수를 가지는 분포를 찾아야 한다.

다시말해 $$P(x|\theta) =  \prod_{k=1}^n p(x_k|\theta) $$값이 최대가 되는 세타값을 찾아야 한다.

이것을 위해 주로 Log-likelihood function으로 대체하여 세타를 찾는다.

$$Loss(\theta|x) = logP(x|\theta) = log \prod_{k=1}^n p(x_k|\theta) =  \sum_{k=1}^n logp(x_k|\theta) $$

위 식의 값을 max로 하는 argmax 세타값을 찾으면 된다.

어떤 함수에 대한 최대 최소값을 찾는 방법은 미분을 이용하는 것이다. 마찬가지로 세타에 대한 가능도의 최대값도 미분을 이용하면 찾을 수 있다.

즉, 아래와 같은 식을 만족하는 세타값을 찾으면 된다.$$\frac{\partial}{\partial \theta}Loss(\theta|x) =  \frac{\partial}{\partial \theta}logP(x|\theta) =  \sum_{k=1}^n  \frac{\partial}{\partial \theta} logp(x_k|\theta) = 0$$

댓글