Pattern Recognition

3. Maximum Likelihood Estimation(MLE)

2022. 8. 6. 17:45
목차
  1. 1. Maximum Likelihood Estimation(MLE)
  2. 1) MLE란?
  3. 2) KL divergence, Cross Entropy, MLE의 관계(★)

한성대학교 지준교수님 강의자료를 통해 기초적인 개념들을 다지고자 한다.

 

1. Maximum Likelihood Estimation(MLE)

확률에 대해 배울 때 여러가지 확률분포들을 배우게 된다. Guassian, binomial과 Bernoulli, Poisson 등등 empirical distribution을 제외하면 모두 모수(parameter)를 가지고 있는 분포들이다. 만약 샘플링한 데이터만 있고 원래의 확률분포를 추정하고 싶다면 어떻게 해야할까? 크게 두 가지 방법이 있다.

  • 파라미터 추정법(Parameter Estimation): '확률밀도'에 대해 특정한 형태를 가정하고(e.g. Guassian) 분포를 결정짓는 파라미터(eg. μ,σ)을 최대우도추정방법(MLE)방법을 통해 결정한다.
  • 비모수 밀도 추정(Non-parametric Density Estimation): '확률밀도'에 대해 어떠한 지식도 가정하지 않는 방법으로 Kernel Density Estimation, K-Means 등의 방법이 있다.

 

1) MLE란?

In statistics, maximum likelihood estimation(MLE) is a method of estimating the parameters of an assumed probability distribution, given some observed data. This is achieved by maximizing a likelihood function so that, under the assumed statistical model, the observed data is most probable. - wikipedia

위키피디아 정의를 보면 MLE를 관측된 데이터를 가지고 확률모델의 파라미터를 추정할 수 있다고 한다. 관측된 데이터는 샘플링을 통해 얻을 수 있고 확률모델은 적절한 모델을 가정하면 되니 필요한 것은 likelihood function이다.

 

  • Likelihood function
The likelihood function describes the joint probability of the observed data as a function of the parameters of the chosen statistical model. - wikipedia

먼저 위키피디아의 수식을 살펴보면 Likelihood는 다음과 같이 표현된다. 

L(θ|x)=f(x|θ)

처음 봤을때는 정말 무슨 식인가 한다. 먼저 f를 살펴보면 θ가 고정이면 우리가 흔히 알고있는 확률분포이다. 반대로 x 즉 샘플링된 데이터가 고정이라면 likelihood function이 된다. MLE를 통해 하고 싶은 것은 데이터를 관측하고 이러한 데이터가 나올 수 있는 확률(likelihood)을 최대로 하는 θ를 추정하는 것이다.

추정하고자 하는 확률분포 f(x|θ)에서 i.i.d로 랜덤하게 샘플링한 데이터 X1,X2..⋯,XN가 있다고 하자. 그럼 likelihood function을 다음과 같이 풀어쓸 수 있다. 여기의 예제들을 참고하면 이해가 될 것이다.

L(θ|x)=P(X1=x1,X2=x2,⋯,Xn=xn)=f(x1;θ)⋅(x2;θ)⋅⋯f(xn;θ)=∏i=1nf(xi;θ)

이렇게 샘플링된 데이터값로 likelihood function을 만들면 θ의 MLE 추정치인 θ^를 구할 수 있다. 이때 계산 편의상 확률 곱에 log를 취해 사용한다.

θ^=argmax L(θ|x)=argmax∏i=1nf(xi;θ)=argmax[∑i=1nlogf(xi;θ)]

 

  • Univariate Guassian 예시

확률밀도함수가 f(x;θ)=p(x)=N(μ,σ)이고 관측된 데이터 X={x1,x2,⋯,xn}가 있을 때, MLE를 활용한 μ,σ 추정과정은 다음과 같다.

θ^=argmaxθ∑i=1nlogf(xi;θ)=argmaxθ∑i=1nlog(12πσexp(−12σ2(xi−μ)2))=argmaxθ∑i=1n(log(12πσ)−12σ2(xi−μ)2)

이를 μ로 미분하는 과정을 보면 다음과 같다.

δδμ∑i=1n(log(12πσ)−12σ2(xi−μ)2)=−12σ2δδμ∑i=1n((xi)2−2xiμ+μ2)=12σ2δδμ∑i=1n(2xiμ−μ2)=0

⇒∑i=1n(xi−μ)=∑i=1nxi−Nμ=0

∴μ=1N∑i=1nxi

즉, Gaussian pdf의 평균의 MLE 추정값은 표본의 산술평균 값이다. 분산은 조금 축약해서 보면 다음과 같다.

θ=[θ1=μθ2=σ2]⇒∇θ=[δδθ1∑i=1nlogp(xi;θ)δδθ2∑i=1nlogp(xi;θ)]=∑i=1n[1θ2(xi−θ1)−12θ2+(xi−θ1)22θ22]=0

이를 각각 θ1,θ2에 대하여 풀면 다음과 같다.

θ1^=1N∑i=1nxi,θ2^=1N∑i=1n(xi−θ^1)2

즉, 분산의 MLE 추정값도 샘플의 표본분산이 된다. 이는 Multivariate Gaussian인 경우에도 각 MLE 추정값이 샘플의 평균벡터와 공분산행렬이 된다.

μ^=1N∑i=1nXi,Σ^=∑i=1n(Xi−μ^)(Xi−μ^)T

 

참고로 Gaussian에서 평균의 MLE 추정은 unbiased estimation이고, 분산의 추정은 biased 추정이다.

E[μ^]=E[1N∑i=1nxk]=1N∑i=1nE[xk]=μE[σ^2]=E[1N∑i=1n(xk−μ^)2]=⋯=N−1NVar(xk)≠Var(xk)

 

 

2) KL divergence, Cross Entropy, MLE의 관계(★)

굉장히 중요한 부분이라 생각해서 따로 정리해두고자 한다. 이 부분은 브라운대학교에서 재학중이신 최모 박사님이 설명해주신 내용이다(개인적으로 정말 감사하신 분이다).

머피의 Machine Learning에 다음과 같은 문제가 있다.

[Exercise 2.15] (MLE minimized KL divergence to the empirical distribution)
Let pemp(x) be the empirical distribution, and let q(x|θ) be some model. Show that argminqKL(pemp||q) is obtained by q(x)=q(x;θ^), where θ^ is the MLE.

풀이)

Parameter space를 Θ, 관측데이터를 D라고 하자. 이때 θ에 대한 MLE 추정은 다음과 같다.

θ^=argmaxθ∈ΘL(θ|D)=argminEx∈D[−logq(x|θ)]=argmin(−∑x∈Dpemp(x)logq(x|θ))

또한, Kullback-Leibler divergence 공식은 다음과 같이 표현할 수 있다.

KL(pemp||q)=∑x∈Dpemp(x)logpemp(x)q(x|θ)=∑x∈Dpemp(x)logpemp(x)−∑x∈Dpemp(x)logq(x|θ)

 

즉, 다음과 같이 결론을 내릴 수 있다. 

θ^=argmin(−∑x∈Dpemp(x)logq(x|θ))=argminqKL(pemp||q)

이때 가운데 수식이 그 유명한 cross entropy(H(p,q)=−∑kpklogqk)이다.

 

 

 

 

728x90
저작자표시 비영리 변경금지 (새창열림)

'Pattern Recognition' 카테고리의 다른 글

4. Clustering (2)  (2) 2022.09.12
4. Clustering (1)  (0) 2022.09.11
(참고) Gaussian Distribution  (0) 2022.08.06
2. Random Variable & Probability Distribution  (0) 2022.08.05
1. Probability  (0) 2022.08.04
  1. 1. Maximum Likelihood Estimation(MLE)
  2. 1) MLE란?
  3. 2) KL divergence, Cross Entropy, MLE의 관계(★)
'Pattern Recognition' 카테고리의 다른 글
  • 4. Clustering (2)
  • 4. Clustering (1)
  • (참고) Gaussian Distribution
  • 2. Random Variable & Probability Distribution
Fine애플
Fine애플
이것저것
끄적끄적이것저것
Fine애플
끄적끄적
Fine애플
전체
오늘
어제
  • 분류 전체보기 (167)
    • 논문 및 개념 정리 (27)
    • Pattern Recognition (8)
    • 개발 (57)
    • python 메모 (45)
    • pytorch, tensorflow (5)
    • 알고리즘 (9)
    • Toy Projects (4)
    • 통계이론 (2)
    • Reinforcement Learning (10)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • pandas
  • transformer
  • ubuntu
  • miniconda
  • 알고리즘
  • container
  • 딥러닝
  • nlp
  • 개발환경
  • BigBird
  • Probability
  • Docker
  • PyTorch
  • tensorflow
  • Bert
  • reinforcement learning
  • GPU
  • 자연어
  • python
  • 언어모델

최근 댓글

최근 글

hELLO · Designed By 정상우.
Fine애플
3. Maximum Likelihood Estimation(MLE)
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.