한성대학교 지준교수님 강의자료를 통해 기초적인 개념들을 다지고자 한다.
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 |
한성대학교 지준교수님 강의자료를 통해 기초적인 개념들을 다지고자 한다.
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는 다음과 같이 표현된다.
처음 봤을때는 정말 무슨 식인가 한다. 먼저
추정하고자 하는 확률분포
이렇게 샘플링된 데이터값로 likelihood function을 만들면
- Univariate Guassian 예시
확률밀도함수가
이를
즉, Gaussian pdf의 평균의 MLE 추정값은 표본의 산술평균 값이다. 분산은 조금 축약해서 보면 다음과 같다.
이를 각각
즉, 분산의 MLE 추정값도 샘플의 표본분산이 된다. 이는 Multivariate Gaussian인 경우에도 각 MLE 추정값이 샘플의 평균벡터와 공분산행렬이 된다.
참고로 Gaussian에서 평균의 MLE 추정은 unbiased estimation이고, 분산의 추정은 biased 추정이다.
2) KL divergence, Cross Entropy, MLE의 관계(★)
굉장히 중요한 부분이라 생각해서 따로 정리해두고자 한다. 이 부분은 브라운대학교에서 재학중이신 최모 박사님이 설명해주신 내용이다(개인적으로 정말 감사하신 분이다).
머피의 Machine Learning에 다음과 같은 문제가 있다.
[Exercise 2.15] (MLE minimized KL divergence to the empirical distribution)
Letbe the empirical distribution, and let be some model. Show that is obtained by , where is the MLE.
풀이)
Parameter space를
또한, Kullback-Leibler divergence 공식은 다음과 같이 표현할 수 있다.
즉, 다음과 같이 결론을 내릴 수 있다.
이때 가운데 수식이 그 유명한 cross entropy(
'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 |