한성대학교 지준교수님 강의자료를 통해 기초적인 개념들을 다지고자 한다.
1. Maximum Likelihood Estimation(MLE)
확률에 대해 배울 때 여러가지 확률분포들을 배우게 된다. Guassian, binomial과 Bernoulli, Poisson 등등 empirical distribution을 제외하면 모두 모수(parameter)를 가지고 있는 분포들이다. 만약 샘플링한 데이터만 있고 원래의 확률분포를 추정하고 싶다면 어떻게 해야할까? 크게 두 가지 방법이 있다.
- 파라미터 추정법(Parameter Estimation): '확률밀도'에 대해 특정한 형태를 가정하고(e.g. Guassian) 분포를 결정짓는 파라미터(eg. $\mu, \sigma$)을 최대우도추정방법(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(\theta|x) = f(x|\theta)$$
처음 봤을때는 정말 무슨 식인가 한다. 먼저 $f$를 살펴보면 $\theta$가 고정이면 우리가 흔히 알고있는 확률분포이다. 반대로 $x$ 즉 샘플링된 데이터가 고정이라면 likelihood function이 된다. MLE를 통해 하고 싶은 것은 데이터를 관측하고 이러한 데이터가 나올 수 있는 확률(likelihood)을 최대로 하는 $\theta$를 추정하는 것이다.
추정하고자 하는 확률분포 $f(x|\theta)$에서 i.i.d로 랜덤하게 샘플링한 데이터 $X_{1}, X_{2}.. \cdots, X_{N}$가 있다고 하자. 그럼 likelihood function을 다음과 같이 풀어쓸 수 있다. 여기의 예제들을 참고하면 이해가 될 것이다.
$$L(\theta|x) = P(X_{1}=x_{1}, X_{2}=x_{2}, \cdots, X_{n}=x_{n}) = f(x_{1};\theta)\cdot(x_{2};\theta)\cdot \cdots f(x_{n};\theta) = \prod_{i=1}^{n}f(x_{i};\theta)$$
이렇게 샘플링된 데이터값로 likelihood function을 만들면 $\theta$의 MLE 추정치인 $\hat{\theta}$를 구할 수 있다. 이때 계산 편의상 확률 곱에 $log$를 취해 사용한다.
$$\hat{\theta} = \text{argmax} \ L(\theta|x) = \text{argmax}\prod_{i=1}^{n}f(x_{i};\theta) = \text{argmax} [\sum_{i=1}^{n}\text{log}f(x_{i};\theta)]$$
- Univariate Guassian 예시
확률밀도함수가 $f(x;\theta) = p(x) = N(\mu, \sigma)$이고 관측된 데이터 $X = \{{x_{1}, x_{2}, \cdots, x_{n}}\}$가 있을 때, MLE를 활용한 $\mu, \sigma$ 추정과정은 다음과 같다.
$$\begin{array}{rcl}
\hat{\theta} & = & \underset{\theta}{argmax} \sum_{i=1}^{n}\text{log}f(x_{i};\theta) \\
& = & \underset{\theta}{argmax} \sum_{i=1}^{n}\text{log}( \frac{1}{\sqrt{2\pi}\sigma }\text{exp}(-\frac{1}{2\sigma^{2}} (x^{i}-\mu)^{2}) ) \\
& = & \underset{\theta}{argmax} \sum_{i=1}^{n}(\text{log}( \frac{1}{\sqrt{2\pi}\sigma })-\frac{1}{2\sigma^{2}} (x^{i}-\mu)^{2})
\end{array}$$
이를 $\mu$로 미분하는 과정을 보면 다음과 같다.
$$\frac{\delta}{\delta \mu} \sum_{i=1}^{n}(\text{log}( \frac{1}{\sqrt{2\pi}\sigma })-\frac{1}{2\sigma^{2}} (x^{i}-\mu)^{2})
= -\frac{1}{2\sigma^{2}}\frac{\delta}{\delta \mu}\sum_{i=1}^{n}((x^{i})^{2}-2x^{i}\mu+\mu^{2}) = \frac{1}{2\sigma^{2}}\frac{\delta}{\delta \mu}\sum_{i=1}^{n}(2x^{i}\mu-\mu^{2}) = 0 $$
$$\Rightarrow \sum_{i=1}^{n}(x^{i}-\mu) = \sum_{i=1}^{n}x^{i}-N\mu = 0$$
$$\therefore \mu = \frac{1}{N}\sum_{i=1}^{n}x^{i}$$
즉, Gaussian pdf의 평균의 MLE 추정값은 표본의 산술평균 값이다. 분산은 조금 축약해서 보면 다음과 같다.
$$\theta = \begin{bmatrix}
\theta_{1} = \mu \\
\theta_{2} = \sigma^{2}
\end{bmatrix} \Rightarrow \nabla _{\theta} = \begin{bmatrix}
\frac{\delta}{\delta\theta_{1}}\sum_{i=1}^{n}\text{log}p(x^{i};\theta) \\
\frac{\delta}{\delta\theta_{2}}\sum_{i=1}^{n}\text{log}p(x^{i};\theta)
\end{bmatrix} = \sum_{i=1}^{n}\begin{bmatrix}
\frac{1}{\theta_{2}}(x^{i}-\theta_{1}) \\
-\frac{1}{2\theta_{2}} + \frac{(x^{i}-\theta_{1})^{2}}{2\theta_{2}^{2}}
\end{bmatrix} = 0$$
이를 각각 $\theta_{1}, \theta_{2}$에 대하여 풀면 다음과 같다.
$$\hat{\theta_{1}} = \frac{1}{N}\sum_{i=1}^{n}x^{i}, \hspace{0.5cm} \hat{\theta_{2}} = \frac{1}{N}\sum_{i=1}^{n}(x^{i}-\hat\theta_{1})^{2}$$
즉, 분산의 MLE 추정값도 샘플의 표본분산이 된다. 이는 Multivariate Gaussian인 경우에도 각 MLE 추정값이 샘플의 평균벡터와 공분산행렬이 된다.
$$\hat\mu = \frac{1}{N}\sum_{i=1}^{n}X^{i}, \hspace{0.5cm} \hat\Sigma = \sum_{i=1}^{n}(X^{i}-\hat\mu)(X^{i}-\hat\mu)^{T}$$
참고로 Gaussian에서 평균의 MLE 추정은 unbiased estimation이고, 분산의 추정은 biased 추정이다.
$$E[\hat\mu] = E[\frac{1}{N} \sum_{i=1}^{n}x_{k}] = \frac{1}{N}\sum_{i=1}^{n}E[x_{k}] = \mu \\
E[\hat\sigma^{2}] = E[\frac{1}{N} \sum_{i=1}^{n}(x_{k}-\hat\mu)^{2}] = \cdots = \frac{N-1}{N}\text{Var}(x_{k}) \neq \text{Var}({x_{k}})$$
2) KL divergence, Cross Entropy, MLE의 관계(★)
굉장히 중요한 부분이라 생각해서 따로 정리해두고자 한다. 이 부분은 브라운대학교에서 재학중이신 최모 박사님이 설명해주신 내용이다(개인적으로 정말 감사하신 분이다).
머피의 Machine Learning에 다음과 같은 문제가 있다.
[Exercise 2.15] (MLE minimized KL divergence to the empirical distribution)
Let $p_{emp}(x)$ be the empirical distribution, and let $q(x|\theta)$ be some model. Show that $\underset{q}{argmin}\text{KL}(p_{emp}||q)$ is obtained by $q(x) = q(x;\hat\theta)$, where $\hat\theta$ is the MLE.
풀이)
Parameter space를 $\Theta$, 관측데이터를 $D$라고 하자. 이때 $\theta$에 대한 MLE 추정은 다음과 같다.
$$\begin{array}{rcl}
\hat\theta & = & \underset{\theta \in \Theta}{argmax}L(\theta|D) \\
& = & \underset{}{argmin}\mathbb{E}_{x\in D}\left[ -\text{log}q(x|\theta) \right] \\
& = & \underset{}{argmin}\left( -\sum_{x\in D}^{} p_{emp}(x)\text{log}q(x|\theta) \right)
\end{array}$$
또한, Kullback-Leibler divergence 공식은 다음과 같이 표현할 수 있다.
$$\begin{array}{rcl}
\text{KL}(p_{emp}||q)& = & \sum_{x\in D}^{}p_{emp}(x)\text{log}\frac{p_{emp}(x)}{q(x|\theta)} \\
& = & \sum_{x\in D}^{}p_{emp}(x)\text{log}p_{emp}(x) - \sum_{x\in D}^{}p_{emp}(x)\text{log}q(x|\theta) \\
\end{array}$$
즉, 다음과 같이 결론을 내릴 수 있다.
$$\hat\theta = \underset{}{argmin}\left( -\sum_{x\in D}^{} p_{emp}(x)\text{log}q(x|\theta) \right) = \underset{q}{argmin}\text{KL}(p_{emp}||q)$$
이때 가운데 수식이 그 유명한 cross entropy($\mathbb{H}(p,q) = -\sum_{k}^{}p_{k}\text{log}q_{k}$)이다.
'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 |