본문 바로가기

Statistical Machine learning

[Statistical ML]Maximum Likelihood estimation

'통계 기반 머신러닝' Statistical Machine learning 수업을 듣고 정리한 포스팅입니다.※

1.Maximum likelihood estimation :

먼저, parameter(매개 변수)에 대한 이해가 필요하다.

Parameter (매개변수)란?

종종 기계 학습에서 우리는 관찰 된 데이터를 생성하는 프로세스를 설명하기 위해 모델을 사용한다.

예를 들어,
1) 랜덤 포레스트 모델(Random forest model)을 사용하여 고객이 서비스에서 구독을 취소 할 수 있는지 여부를 분류 할 수 있다. (Chun modeling)
2) 선형 모델을 사용하여 회사에 발생할 수있는 수익을 예측할 수 있다. 광고비 지출 (선형 회귀의 예)

각 모델에는 궁극적으로 모델의 모양을 정의하는 고유한 매게 변수 set가 존재한다. 
선형 모델의 경우 y = mx + c로 쓸 수 있는데, 위의 2) 예시에서 x는 광고 지출을 나타내고 y는 수익을 나타내며, 생성된 m 및 c는 모델의 매개변수라고 할 수 있다.

만약 매개변수(parameter)의 값이 다르다면, 아래와 같이 서로 다른 linear model들을 얻게 된다. 

다른 매개변수에 대한 Linear model

Maximum likelihood estimation은 모델에 대한 parameter(매개변수 값)을 결정하는 방법으로, 실제로 모델이 관찰된 데이터를 생성할 가능성을 최대화 하도록 결정된다. 

예를들어, 10개의 데이터 points를 관찰했다고 가정해보자.

각각의 데이터 포인트는 학생이 시험 문제에 대답을 하는 초 단위의 시간이라고 했을 때, 아래의 그림과 같이 얻어진다.

먼저, 데이터 생성 프로세스를 잘 설명하는 모델을 결정해야 한다. 즉, 어떤 모델을 사용할지 고려가 필요하다.

위와 같은 데이터의 경우 10개의 지점이 대부분 왼쪽과 오른쪽에 흩어져 있는 몇 개의 지점으로 중간에 클러스팅 되어 있기에 가우시안 분포가 적절하다. 

가우시안 분포의 평균 $\mu$, 표준 편차 $\sigma$를 생각해보면 이 값에 따라 다른 가우시안 분포들을 얻게 된다. 이 때, 어떤 가우시안 분포를 선택해야 할까? 관측한 데이터 포인트들을 가장 잘 설명하는 곡선이 무엇일까?

Maximum likelihood estimation은 데이터에 가장 들어맞는, 적합한 $\mu$, $\sigma$값을 찾을 수 있도록 한다. 

평균, 표준편차에 따른 각기 다른 가우시안 분포

위의 그림에서 f1은 하늘색 곡선으로  $\mu$ $=$ $10$, $\sigma^2$ $=$ $2.25$ 의 값을 가지며, $\mathrm{f1}$~$N\left(10,2\ldotp 25\right)$를 따른다. 마찬가지로, $\mathrm{f2}$~$N\left(10,9\right)$, $\mathrm{f3}$~$N\left(10,0\ldotp 25\right)$, $\mathrm{f4}$~$N\left(8,2\ldotp 25\right)$를 따른다.

Maximium likelihood의 목표는 데이터를 관찰할 확률을 최대화하는 분포의 parameter 값을 찾는 것이다.

이 문제에서 $\mathrm{f1}~N\left(10,2\ldotp 25\right)$ 이 실제 데이터가 생성된 분포이다.

 

Maximum likelihood estimates 계산하기 : 

parameter(매개변수)값은 어떻게 계산할까? 찾은 매개변수 값들을 Maximum likelihood estimates (MLE) - 최대 가능성 추정(MLE)라고 한다.

예시) 3개의 데이터 포인트가 있고, 가우시안 분포에 의해 적절히 만들어진 프로세스에서 생성되었다고 가정해보자. 3개의 포인트는 각각 9, 9.5, 11이다. 이 때 가우시안 분포의 $\mu$ 및 $\sigma$는 어떻게 계산할까?

우리가 계산하고자 하는 것은 모든 데이터를 관찰할 총 확률로, 즉 관찰된 모든 데이터 포인트의 joint probability distribution(결합 확률 분포)이다.  

조건부 확률 계산은 어렵기에 첫번째 가정이 필요하다.

1) 각 데이터 포인트는 다른 데이터 포인트와 독립적으로 생성된다 
독립적으로 가정함으로써 수학적으로 쉽게 표현 가능하고, 모든 데이터를 관찰할 총 확률은 각 데이터 포인트를 개별적으로 관찰한 결과의 곱이다.

가우시안 분포에서 단일 데이터 포인트 x를 관찰할 확률 밀도는 다음과 같다.
P (x μ, σ)에 사용 된 세미콜론 ' ; ' 은 뒤에 나타나는 기호가 확률 분포의 매개 변수임을 강조하기 위함이다.

가우시안 분포 단일 데이터 x 관찰할 확률 밀도


예제의 경우 3가지 점이 있으므로, 세 점을 관찰할 결합 확률 밀도(Joint probability density)는 다음과 같다. 

9, 9,5, 10 3개의 포인트에 대한 probability density of observing 3 data

위 식을 Maximize하는 $\mu$값과 $\sigma$값을 찾으면 되고, 도함수를 통해 최대 및 최소 값을 찾을 수 있다.

도함수 $f^{\prime } \left(x\right)$ 를 0으로 설정하고, 매개변수를 찾기 위해 방정식을 재졍렬한 후 MLE값을 찾을 수 있다.

 

Log-likelihood :

 총 확률에 대한 위의 표현은 실제로 미분하기가 어렵기에, 자연 로 그를 취해서 단순화 시킬 수 있다. 자연 로그는 단조 증가 함수로 x 축이 증가하면 y축도 증가한다. 이 성질은 확률 로그의 최대 값이 확률 함수의 동일한 지점에서 발생하도록 보장하기 때문에 아주 중요!

위의 식에 로그를 취하고 미분을 하면 아래와 같이 전개할 수 있다.

$\mu$에 대한 함수의 편미분을 취하고, 다시 정렬하면 이렇게 평균($\mu$)의 MLE를 찾을 수  있다. 마찬가지의 방법으로 $\sigma$를 계산할 수 있다.

 

하지만 Maximum likelihood estimation 방법으로 항상 정확한 값을 찾을 수는 없다. 따라서 예로 Expectation - Maximization 알고리즘이 사용된다.

Least square minimization(최소 제곱의 최소화)가 MLE와 같은 경우 :

최소 제곱 최소화는 기계학습에서 모델의 매개변수 값을 추정하는 또 다른 일반적인 방법으로, 모델이 가우시안일 경우 MLE 추정치는 최소 제곱법과 동일하다.

최소 제곱 모수 추정을 위해 데이터 포인트와 Regression line(회귀 선) 사이의 총 제곱 거리를 최소화 하는 선을 찾고 싶을 때, MLE방법에서는 관측될 데이터의 총 확률을 최대화 하려고 하며, 데이터 포인트들이 평균 값에 가까워지는 최대 확률을 찾는다. 가우스 분포는 대칭이기에 이는 데이터 포인트들과 평균값 사이의 거리를 최소화 하는 것과 같다.