코딩하는 눈송이

Maximum Likelihood Estimation(MLE) 본문

확률론

Maximum Likelihood Estimation(MLE)

monapanda 2023. 1. 10. 16:48

Likelihood란?

Likelihood는 관측치가 어떤 특정한 분포(Distribution)에서 나왔을 가능성을 수치화한 것이다.

획득한 데이터와 추정되는 후보 분포 2개(각각 주황색, 파란색 곡선으로 표시) - 출처 : 공돌이의 수학노트

위의 그림에서 봤을 때 관측치는 파란색 분포보다 주황색 분포에서 나왔을 가능성이 더 높다.

이를 수학적인 방법으로 분포의 특성을 추정하는 방법이 Maximum Likelihood Estimation이다.

 

 

Maximum Likelihood Estimation(MLE)란?

수적인 데이터 밀도 추정 방법으로써 파라미터 θ=(θ1,...,θm)으로 구성된 어떤 확률밀도함수 P(x|θ)에서 관측된 표본 데이터 집합을 x=(x1,...,xm)이라 할 때, 이 표본들에서 파라미터 θ=(θ1,...,θm)를 추정하는 방법이다.

 

MLE의 수식은 다음과 같다

L(θ)=P(X|θ)=P(x1|θ)P(x2|θ)P(xn|θ)

 

MLE의 목적?

MLE의 목적은 데이터 분포를 맞추기 위한 최적의 방법을 찾는 것이다.

 

예를 들어

 

  1. Normal Distribution : 평균(μ)과 표준편차(σ)를 가지는 연속 확률 분포
  2. Exponential Distribution : x가 0보다 클 시 λeλx 확률을 가지는 연속 확률 분포
  3. Gamma Distribution : 양의 실수를 가지는 랜덤 변수에 대한 확률 분포

 

이렇게 데이터의 분포를 찾는 이유는 작업하기 쉬우며, 더 일반적(General)이기 때문이다.

 

데이터가 정규 분포(Normal Distribution)을 가진다고 가정해 보자.

 

그렇다면 이 데이터는

  1. 대부분의 관측치가 데이터의 평균값에 가깝다.
  2. 관측치가 평균을 중심으로 대칭이며 어느 한 곳으로 치우치는 경향이 적다.

하는 특징이 있는 데이터라는 사실을 알 수 있다.

 

  • Likelihood는 실제에선 Probability와 큰 차이가 없게 사용되는 단어이지만 실제 likelihood는 관측치의 평균 혹은 표준 편차의 최적값을 찾는 상황에서 데이터를 어떤 분포에 부합하기 위한 방법으로 사용된다.

 

※ Likelihood Functions

Likelihood라는 것은 데이터를 얻은 분포에서 해당 분포로부터 관측치가 추출되었을 확률을 모두 곱해준 값을 likelihood function이라고 한다.

 

이는 모든 추출이 독립적이기 때문에 더하지 않고 곱하여 구해주는 것이다.

 

- Likelihood Function : l(θ|X)=p(X|θ)=Πtp(xt|θ)

- Log Likelihood Function : L(θ|X)=logl(θ|X)=tlogp(xt|θ)

 

여기서 MLE는 Likelihood function의 최대값을 찾아주는 방법이며 찾고자 하는 파라미터 θ에 대해 편미분한 값이 0이 되는 지점을 찾아 likelihood 값을 최대화 시켜줄 수 있는 θ를 찾을 수 있다.

 

 

※ 지도 학습에서의 적용

예를 들어 이진 분류(binary classification) 문제를 생각해보자.

입력 변수를 x, 두 개의 클래스(양성, 음성이라 해보자)로 표현되는 라벨을 y라고 하며 모델의 파라미터를 β라고 한다면

 

주어진 x에 대해 각 클래스에 속할 확률을 모델링하는 likelihood function은 다음과 같이 구성된다.

Likelihood(x,y|β)=P(y|x,β)

 

여기서

  • x : 입력 변수(feature)을 의미하며, 주어지는 데이터 값이다.
  • y : 이진 라벨을 의미하며, 주어지는 데이터 값이다.
  • β : 모델의 파라미터(가중치와 절편)을 의미한다.

전체 데이터에 대한 MLE 수식은 다음과 같이 표현된다.

Likelihood(X|β)=Π[P(y|x,β)]

 

여기서 P(y|x,β)는 로지스틱 함수인 시그모이드 함수로 표현되며

P(y=1|x,β)=1(1+eβx)=1P(y=0|x,β)

 

이렇게 likelihood 함수의 최대값을 찾는 것이 MLE의 목적이며 보통 로그를 취해 덧셈으로 치환하여 계산을 단순화하기 때문에

LogLikelihood(X|β)=[logP(y|x,β)]

 

여기서 log likelihood를 최대화시키는 β를 구하기 위해 최적화 알고리즘을 사용하게 된다.

이렇게 구한 파라미터를 활용해 로지스틱 회귀 모델을 학습시키고, 새로운 입력에 대한 클래스에 속할 확률을 구할 수 있게 된다.

 

 

참조

https://angeloyeo.github.io/2020/07/17/MLE.html

 

최대우도법(MLE) - 공돌이의 수학정리노트

 

angeloyeo.github.io

https://junha1125.tistory.com/24

 

최대 우도(가능도) 방법 (Maximum Likelihood Method)

공부를 위해 다음을 참고하였다. https://bit.ly/2ufTaQe - 확률분포가 어떤 분포인지에 따라서 최대 우도가 얼마인지 추정해본다. - 가장 단순한 베르누이 분포(이항 분포)일때, 이 블로그 내용을 추가

junha1125.tistory.com

 

'확률론' 카테고리의 다른 글

Bias & Variance  (0) 2023.02.18
Bayes' Estimator  (0) 2023.01.25
Maximum A Posterior(MAP)  (0) 2023.01.24
Comments