📝 CONCEPT/Statistics

[Probabilistic Machine Learning 1] #4.2 MLE

쟈니유 2023. 8. 2. 15:25
728x90

머피책 혼자서 공부하다가 놓았다 반복하다보니 읽었던 것도 다 까먹어서 복습 차 정리..

 

4.1 Introduction

  • Ch2-3에서는 확률 모델의 parameter를 알고 있다고 가정했지만, 이번 챕터에서는 데이터로부터 어떻게 parameters를 학습하는 지 알고자 함
  • 데이터로부터 parameter를 측정하는 과정을 Model fitting, training이라고 함
  • 측정 방식은 매우 다양하지만, 보통 Loss function을 최소화시키는 parameter를 찾게 됨 
  • 이에 더 나아가서 이 측정에서의 uncertainty를 model(=quantifying)하는 것에 대해서도 논의할 것임. 통계학에서는 한정된 데이터 샘플로부터 측정된 unknown quantity에 대한 uncertainty를 quantifying 하는 과정을 Inference라고 함 

4.2 MLE 

4.2.1 Definition 

θ_MLE=argmax_θ P(D|θ)

MLE 란 Likelihood를 최대화하는 parameter를 구하는 것을 의미한다

P(θ) : Prior 구하고자 하는 대상 자체에 대한 확률. ML에서는 해당 파라미터의 확률 
P(θ|D) : Posterior 관측값이 주어졌을 때 구하고자 하는 대상이 나올 확률. 
P(D|θ) : Likelihood 구하고자 하는 대상이 정해졌다고 가정했을 때 관측값이 나올 확률 
  • 이 때 우리는 각 training example 들이 같은 분포로부터 독립적으로 샘플링 되었다고 가정하므로 iid 가정에 따라 다음과 같이 정의할 수 있다.
    • P(D|θ) = ∏p(y_n | x_n, θ) 
  • 이 때 ∏(곱)은 log로 풀어서 덧셈으로 보게 되면
    • logP(D|θ) = ∑logp(y_n | x_n, θ) 
  • 그러므로 MLE 기존 식에 이를 대입하면 
    • θ_MLE=argmax_θ  ∑logp(y_n | x_n, θ) 
  • 대부분의 최적화 알고리즘은 cost를 최소화하려고 하기 때문에 MLE를 NLL(Negative Log Likelihood)을 통해서도 다음과 같이 정의할 수 있음
    • NLL(θ) = - logP(D|θ) = -∑logp(y_n | x_n, θ) 
    • θ_MLE=argmin_θ - ∑logp(y_n | x_n, θ) 

 

4.2.2 Justification for MLE (MLE를 사용해야 하는 이유) 

 

  • 델타함수를 사용해서 Posterior를 측정한다고 가정했을 때 
    • P(θ|D) = delta(θ - θ_map)
  • prior가 uniform일때 p(θ ) 는 1에 가까워지므로 MAP와 MLE는 같아짐 (e.g. 0과1이 나올 확률이 각각 50% 50%일때) 
MAP = Maximum A posterior Probability
즉 Likelihood가 아니라 Posterior 식의 분자 부분 (P(θ|D) * P(θ) )를 극대화하는 parameter를 찾으려는 것 
θ_MAP=argmax_θ  logp(θ|D) = argmax_θ  logp(θ) +p(D|θ)

참고) 

 

Bayes theorem(베이즈정리)와 MLE/MAP

이제부터 두 개의 포스팅을 통해 Bayesian learning에 대해서 살펴보도록 할 것이다. 기본적으로 Bayesian learning은 추론에서 확률적인 접근을 제공한다. 우리가 관심을 갖는 값(모델,클래스)이 확률분

sanghyu.tistory.com

 

  • MLE를 사용하는 다른 이유는, resulting preditcitve distribution이 empirical distribution과 유사하기 때문 
    • empirical distribution : P_data(y) : (1/N) * ∑ delta(y-y_n) 
  • empirical distribution은 연속된 델타 함수, 즉 관측된 training point 에서의 spikes들의 연속임을 확인할 수 있으며 우리는 이 분포와 유사한 q(y) = p(y|θ)를 만들고자 함 
  • 이 때, 확률 분포 간 similarity를 측정하는 일반적인 방법은 Kullback Leibler divergence를 사용하는 것임 
    • 두 확률 분포 p,q 간의 정보 차이를 보는 방법으로 q(y) = p(y|θ) 라고 정의하고 p(y)= P_data(y)라고 정의 
    • 이 경우 KL(p||q) = const + NLL 이 됨 

참고)

 

초보를 위한 정보이론 안내서 - KL divergence 쉽게 보기

사실 KL divergence는 전혀 낯선 개념이 아니라 우리가 알고 있는 내용에 이미 들어있는 개념입니다. 두 확률분포 간의 차이를 나타내는 개념인 KL divergence가 어디서 나온 것인지 먼저 파악하고, 이

hyunw.kim