Maximum Likelihood Estimation

Dong Jun·2023년 1월 17일
0

ML/DL Basics

목록 보기
3/3

1. What is MLE?

maximum likelihood estimation은 빈도주의 통계학에서 파라미터를 점추정할 때 흔히 사용하는 방법입니다.
추정의 대상이 되는 파라미터는 특정 분포의 파라미터일수도 있고, 어떤 모델의 파라미터일 수도 있습니다. 말 그대로, MLE (:최대가능도법)이란, 데이터에 대한 가능도를 최대화시키는 파라미터를 구하는 방법을 의미합니다. 가능도의 의미에 대해서는 생략하도록 하겠습니다.
이번 포스팅에서는, 모델의 파라미터를 추정한다는 관점에서 MLE를 설명해 보겠습니다.

2. MLE in perspective of Modeling

어떤 데이터 집합 X={x1,x2,...,xn}X = \{x_1, x_2, ..., x_n\}이 있다고 하겠습니다. XPdataX \sim P_{data}, 즉 이 데이터는 PdataP_{data}라는 미지의 분포를 따릅니다. 우리는 이 미지의 분포를 파라미터를 가진 모델(parameterized model)을 통해 근사하고자 합니다. 이 모델을 Pmodel(,θ)P_{model}(\cdot, \theta)로 표현하도록 하겠습니다.

여기서 MLE의 목적은 데이터에 대한 likelihood를 최대화하는 모델 파라미터 θ\theta를 찾는 것입니다. 수식으로는 아래와 같이 표현할 수 있습니다.

θML=argmaxPmodel(X,θ)\theta_{ML} = \mathbf{argmax} P_{model}(X, \theta)
=argmaxi=1nPmodel(xi,θ)= \mathbf{argmax}\prod_{i=1}^n P_{model}(x_i, \theta)
=argmaxi=1nlogPmodel(xi,θ)= \mathbf{argmax} \sum_{i=1}^n \mathbf{log}P_{model}(x_i, \theta)
=argmaxExpdata[logPmodel(x,θ)]= \mathbf{argmax} \mathbb{E}_{x\sim p_{data}} [\mathbf{log} P_{model}(x, \theta)]

n개의 데이터 샘플이 주어졌을 때, 전체 데이터에 대한 가능도는 각각의 샘플에 대한 가능도의 곱으로 구해집니다. 하지만 일반적으로 가능도의 곱을 최대화하는 파라미터를 찾는 것은 쉽지 않기 때문에, 가능도에 로그를 취한 것을 최대화하는 방식을 주로 사용합니다.

  • log는 단조 증가 함수이므로 argmaxxp(x)\mathbf{argmax}_x p(x)argmaxxlogp(x)\mathbf{argmax}_x \log p(x) 는 항상 일치하고, 가능도는 항상 0보다 크므로 log를 씌워도 문제가 없음.

3.In relation to Information Theory

딥러닝 및 머신러닝을 공부하다 보면, 정보 이론에서 등장한 개념이 자주 사용됩니다. 그 중 가장 흔히 사용되는 것이 entropy, cross entropy, KL divergence 등이라고 생각합니다. entropy, cross entropy, KL divergence에 대한 개념은 ML/DL Basics 시리즈에 따로 정리를 해 두었으니 참고하시면 좋을 것 같습니다.

이 파트에서는 Likelihood를 최대화하는 모델 파라미터 θ\theta를 구하는 것이, cross entropy나 KL-Divergence의 관점에서는 어떤 의미를 갖는지 구체적으로 설명해 보겠습니다.

결국 MLE를 통해 이루고자 하는 것은, 확률 분포 PdataP_{data}로부터 추출된 데이터를 사용하여, PdataP_{data}와 유사한 PmodelP_{model}를 찾는 것입니다.

  • Minimization of KL-Divergence and MLE

한번 PmodelP_{model}PdataP_{data} 사이의 KL-Divergence를 구해 보겠습니다.

DKL(PdataPmodel)D_{KL}(P_{data} | P_{model})

=ExPdata[logPdataPmodel]= \mathbb{E}_{x\sim P_{data}}[\log {{P_{data}} \over{P_{model}}}]

=(logPdata(x)logPmodel(x))Pdata(x)dx=\int (\log P_{data}(x) - \log P_{model}(x))\cdot P_{data}(x) dx

=logPdata(x)Pdata(x)dxlogPmodel(x)Pdata(x)dx=\int \log P_{data}(x)\cdot P_{data}(x)dx - \int\log P_{model}(x)\cdot P_{data}(x) dx

=ExPdata[logPdata(x)]ExPdata[logPmodel(x)]=\mathbb{E}_{x \sim P_{data}}[\log P_{data}(x)] - \mathbb{E}_{x \sim P_{data}}[\log P_{model}(x)]

여기서 왼쪽 항은 고정된 상수입니다. 따라서, 오른쪽 항인 ExPdata[logPmodel(x)]\mathbb{E}_{x \sim P_{data}}[\log P_{model}(x)]를 최대화하는 것 (maximum likelihood estimation)은 PdataP_{data}PmodelP_{model}간의 KL-Divergence를 최소화하는 것과 일치합니다.

  • Minimization of Cross Entropy and MLE

Cross entropy H(P;Q)=DKL(PQ)+H(P)H(P;Q) = D_{KL}(P|Q) + H(P)라는 점을 사용하면, 아래와 같이 정리할 수 있습니다.

H(Pdata;Pmodel)=DKL(PdataPmodel)+H(Pdata)H(P_{data}; P_{model}) = D_{KL}(P_{data}|P_{model}) + H(P_{data})

여기서 H(Pdata)H(P_{data})는 상수입니다. MLE는 DKL(PdataPmodel)D_{KL}(P_{data}|P_{model})를 최소화하는 것과 같고, 이것은 곧 H(Pdata;Pmodel)H(P_{data}; P_{model})를 최소화하는 것과 같습니다. 즉 정리하면,

Finding maximum likelihood estimation
= minimizing KL Divergence between PdataP_{data} and PmodelP_{model}
= minimizing Cross Entropy between PdataP_{data} and PmodelP_{model}

라고 할 수 있습니다.

4. MLE and minimizing MSE

결론부터 말하자면, MSE를 최소화하는 것은 Pmodel(yx;θ)=N(f^(x;θ),σ2)P_{model}(y|x;\theta) = \mathcal{N}(\hat{f}(x;\theta), \sigma^2) 인 경우에, PmodelP_{model}의 파라미터인 θ\theta 에 대한 maximum likelihood estimation을 수행하는 것과 일치합니다.

간략한 표현을 위해 Pmodel(yx;θ)P_{model}(y|x;\theta)P(yx;θ)P(y|x;\theta)로 표기하도록 하겠습니다.

MLE의 목적은 로그가능도 즉, ilogP(yixi;θ)\sum_i \log P(y_i|x_i;\theta)를 최대화하는 θ\theta를 찾는 것입니다. 위에서 Pmodel(yx;θ)P_{model}(y|x;\theta) 란, 기댓값이 y^(x,θ)\hat{y}(x,\theta) (예측 모델)이고 분산이 σ2\sigma^2인 정규분포라고 가정했습니다. 그렇다면 아래와 같은 수식 전개가 가능합니다.

ilogP(yixi;θ)\sum_i \log P(y_i|x_i;\theta)

=ilog12πσexp((yiy^i)22σ2)=\sum_i \log {1 \over {\sqrt{2\pi}\sigma}}\cdot \exp(-{{(y_i - \hat{y}_i)^2}\over{2\sigma^2}})

=mlogσm2log2π12σ2i(yiy^i)2=-m\log\sigma - {m \over 2}\log2\pi - {1 \over {2\sigma^2}}\sum_i(y_i-\hat{y}_i)^2

결국 ilogP(yixi;θ)\sum_i \log P(y_i|x_i;\theta) 를 최대화하는 것 (MLE)는, i(yiy^i)2\sum_i(y_i-\hat{y}_i)^2 (MSE) 를 최소화하는 것과 정확히 일치합니다.

profile
컴퓨터, 통계, 수학

0개의 댓글