MLE (Maximum Likelihood Estimation)

임정민·2024년 8월 31일
0

딥러닝 개념

목록 보기
6/13
post-thumbnail

*본 게시글은 유튜브 '공돌이의 수학정리노트' 최대우도법(Maximum Likelihood Estimation) 소개, 블로그 '공돌이의 수학정리노트' 최대우도법(MLE) 자료를 참고한 점임을 알립니다.

MLE (Maximum Likelihood Estimation)

1. 정의

MLE의 기본 아이디어는 주어진 데이터 집합 X={x1,x2,...,xn}X = \{x_1, x_2, ...,x_n\}에 대해, 이 데이터가 특정 확률 분포에서 나왔다고 가정할 때, 그 확률 분포의 파라미터 θ\theta 추정하는 것입니다. 이때 우리는 다음의 우도(likelihood) 함수L(θ;X)L(\theta; \mathbf{X})를 최대화하는 θ\theta를 찾습니다.

2. 우도 함수 (Likelihood Function)

우도 함수는 주어진 파라미터 θ\theta 하에서 데이터 𝑋𝑋가 관찰될 확률을 나타냅니다. 이 함수는 다음과 같이 정의됩니다.

L(θ;X)=P(Xθ)L(\theta; \mathbf{X}) = P(\mathbf{X} | \theta)

여기서 P(Xθ)P(\mathbf{X} | \theta)는 파라미터 θ\theta하에서 데이터 XX가 관찰될 확률을 의미합니다.

만약 각 데이터 xix_i가 독립적이고 동일한 분포(Identically Distributed)를 따른다고 가정하면, 우도 함수는 개별 데이터가 주어진 파라미터에서 발생할 확률의 곱으로 나타낼 수 있습니다.

L(θ;X)=i=1nP(xiθ)L(\theta; \mathbf{X}) = \prod_{i=1}^{n} P(x_i | \theta)
(독립적인 데이터일 경우)(독립적인\ 데이터일\ 경우)

3. 로그 우도 함수 (Log-Likelihood Function)

우도 함수를 최대화하는 것은 계산적으로 복잡할 수 있으므로, 로그를 취한 로그 우도 함수를 사용하여 계산을 단순화합니다. 로그 우도 함수는 다음과 같이 정의됩니다.

(θ;X)=logL(θ;X)=i=1nlogP(xiθ)\ell(\theta; \mathbf{X}) = \log L(\theta; \mathbf{X}) = \sum_{i=1}^{n} \log P(x_i | \theta)

로그를 취해도 최적화 문제는 변하지 않으므로, MLE 문제는 다음과 같이 변환됩니다.

θ^=argmaxθ(θ;X)\hat{\theta} = \arg\max_{\theta} \ell(\theta; \mathbf{X})

4. MLE의 증명

MLE는 로그 우도 함수 (θ;X)\ell(\theta; \mathbf{X})를 최대화하는 파라미터 θ\theta를 찾는 문제입니다. 이 과정은 다음과 같은 절차를 통해 이루어집니다.

절차

(1) 로그 우도 함수의 미분: 먼저 로그 우도 함수 (θ;X)\ell(\theta; \mathbf{X})를 파라미터 θ\theta에 대해 미분합니다.

θ\frac{\partial \ell}{\partial \theta}

(2) 최대값을 찾기 위해 0으로 설정합니다. 이 미분 값을 0으로 설정하여
θ\theta에 대한 방정식을 만듭니다.

θ=0\frac{\partial \ell}{\partial \theta} = 0

(3) 파라미터 θ\theta를 추정합니다. 이 방정식을 풀어 최적의 θ\theta 값을 구합니다.

정규 분포에서의 MLE

정규분포를 예로 들어 설명해보겠습니다. 데이터 X={x1,x2,...,xn}X = \{x_1, x_2, ...,x_n\}가 평균 μ\mu와 분산 σ2\sigma^2를 갖는 정규분포N(μ,σ2)\mathcal{N}(\mu, \sigma^2)에서 나왔다고 가정합시다. 이때, 각 데이터 xix_i의 확률 밀도 함수(PDF)는 다음과 같습니다.

P(xiμ,σ2)=12πσ2exp((xiμ)22σ2)P(x_i | \mu, \sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(x_i - \mu)^2}{2\sigma^2}\right)

우도 함수는 주어진 파라미터 θ=(μ,σ2)\theta = (\mu,\sigma^2)에서 관찰된 데이터 𝑋𝑋가 발생할 확률을 나타냅니다. 데이터가 독립적으로 발생했다고 가정하면, 전체 우도 함수 L(μ,σ2;X)L(\mu,\sigma^2;X)는 각 데이터 포인트의 확률 밀도 함수의 곱으로 표현됩니다.

L(μ,σ2;X)=i=1nP(xiμ,σ2)L(\mu, \sigma^2; \mathbf{X}) = \prod_{i=1}^{n} P(x_i | \mu, \sigma^2)

이를 정규분포의 확률 밀도 함수로 대체하면,

L(μ,σ2;X)=i=1n12πσ2exp((xiμ)22σ2)L(\mu, \sigma^2; \mathbf{X}) = \prod_{i=1}^{n} \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(x_i - \mu)^2}{2\sigma^2}\right)

우도 함수를 직접 최대화하는 것은 곱셈으로 인해 복잡하므로, 로그 우도 함수를 사용하여 계산을 단순화합니다. 로그를 취하면 곱셈이 덧셈으로 바뀝니다.

(μ,σ2;X)=logL(μ,σ2;X)=i=1nlog[12πσ2exp((xiμ)22σ2)]\ell(\mu, \sigma^2; \mathbf{X}) = \log L(\mu, \sigma^2; \mathbf{X}) = \sum_{i=1}^{n} \log \left[\frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(x_i - \mu)^2}{2\sigma^2}\right)\right]
(μ,σ2;X)=i=1n[log12πσ2+logexp((xiμ)22σ2)]\ell(\mu, \sigma^2; \mathbf{X}) = \sum_{i=1}^{n} \left[\log \frac{1}{\sqrt{2\pi\sigma^2}} + \log \exp\left(-\frac{(x_i - \mu)^2}{2\sigma^2}\right)\right]
(μ,σ2;X)=i=1n[12log(2πσ2)(xiμ)22σ2]\ell(\mu, \sigma^2; \mathbf{X}) = \sum_{i=1}^{n} \left[-\frac{1}{2} \log(2\pi\sigma^2) - \frac{(x_i - \mu)^2}{2\sigma^2}\right]
(μ,σ2;X)=n2log(2πσ2)12σ2i=1n(xiμ)2\ell(\mu, \sigma^2; \mathbf{X}) = -\frac{n}{2} \log(2\pi\sigma^2) - \frac{1}{2\sigma^2} \sum_{i=1}^{n} (x_i - \mu)^2

이제 이 로그 우도 함수를 원하는 파라미터 θ\theta (μ\mu, σ2\sigma^2)에 대해 최대화하는 값을 찾아야 합니다.

(1) 평균 μ\mu에 대해 최적화

먼저, 로그 우도 함수 (μ,σ2;X)\ell(\mu, \sigma^2; \mathbf{X})μ\mu에 대해 미분한 후, 이 값을 0으로 놓아 최적의 μ\mu를 찾습니다.

로그 우도 함수를 μ\mu에 대해 미분합니다.

μ=μ[12σ2i=1n(xiμ)2]\frac{\partial \ell}{\partial \mu} = \frac{\partial}{\partial \mu} \left[ -\frac{1}{2\sigma^2} \sum_{i=1}^{n} (x_i - \mu)^2 \right]

이제 미분을 계산합니다.

μ=12σ2(2i=1n(xiμ))=1σ2i=1n(xiμ)\frac{\partial \ell}{\partial \mu} = -\frac{1}{2\sigma^2} \cdot \left(-2 \sum_{i=1}^{n} (x_i - \mu)\right) = \frac{1}{\sigma^2} \sum_{i=1}^{n} (x_i - \mu)

이 값을 0으로 설정하여 최적의 μ\mu를 구합니다.

1σ2i=1n(xiμ)=0\frac{1}{\sigma^2} \sum_{i=1}^{n} (x_i - \mu) = 0

이를 풀면 다음과 같은 결과를 얻습니다.

i=1n(xiμ)=0μ=1ni=1nxi\sum_{i=1}^{n} (x_i - \mu) = 0 \quad \Rightarrow \quad \mu = \frac{1}{n} \sum_{i=1}^{n} x_i

따라서, MLE로 추정된 평균 μ^\hat{\mu}는 주어진 데이터의 평균입니다.

(2) 분산 σ2\sigma^2에 대해 최적화

이제 로그 우도 함수를 σ2\sigma^2에 대해 미분한 후, 이 값을 0으로 놓아 최적의 σ2\sigma^2를 찾습니다.

로그 우도 함수를 σ2\sigma^2에 대해 미분합니다.

σ2=σ2[n2log(2πσ2)12σ2i=1n(xiμ)2]\frac{\partial \ell}{\partial \sigma^2} = \frac{\partial}{\partial \sigma^2} \left[-\frac{n}{2} \log(2\pi\sigma^2) - \frac{1}{2\sigma^2} \sum_{i=1}^{n} (x_i - \mu)^2 \right]

우항의 첫번째 항에서는

σ2[n2log(2πσ2)]=n21σ2\frac{\partial}{\partial \sigma^2} \left[-\frac{n}{2} \log(2\pi\sigma^2)\right] = -\frac{n}{2} \cdot \frac{1}{\sigma^2}

우항의 두번째 항에서는

σ2[12σ2i=1n(xiμ)2]=12σ4i=1n(xiμ)2\frac{\partial}{\partial \sigma^2} \left[- \frac{1}{2\sigma^2} \sum_{i=1}^{n} (x_i - \mu)^2\right] = \frac{1}{2\sigma^4} \sum_{i=1}^{n} (x_i - \mu)^2

따라서, 전체 미분은 다음과 같습니다.

σ2=n2σ2+12σ4i=1n(xiμ)2\frac{\partial \ell}{\partial \sigma^2} = -\frac{n}{2\sigma^2} + \frac{1}{2\sigma^4} \sum_{i=1}^{n} (x_i - \mu)^2

이를 0으로 놓고 최적의 σ2\sigma^2를 구합니다.

n2σ2+12σ4i=1n(xiμ)2=0-\frac{n}{2\sigma^2} + \frac{1}{2\sigma^4} \sum_{i=1}^{n} (x_i - \mu)^2 = 0

이 식을 풀면,

n2σ2=12σ4i=1n(xiμ)2\frac{n}{2\sigma^2} = \frac{1}{2\sigma^4} \sum_{i=1}^{n} (x_i - \mu)^2
nσ2=i=1n(xiμ)2n\sigma^2 = \sum_{i=1}^{n} (x_i - \mu)^2
σ2=1ni=1n(xiμ)2\sigma^2 = \frac{1}{n} \sum_{i=1}^{n} (x_i - \mu)^2

따라서, 최대우도추정법(MLE)을 통해 추정된 분산 σ2\sigma^2는 주어진 데이터에 대해 각 데이터 포인트와 평균 μ\mu의 차이의 제곱의 평균으로 주어집니다.

5. 결론

정규분포에서 MLE를 사용해 평균 μ\mu와 분산 σ2\sigma^2를 추정하는 과정에서, 우리는 로그 우도 함수를 최대화하기 위해 파라미터에 대해 미분을 수행하고, 이를 0으로 설정하여 최적의 값을 찾았습니다.

평균 μ\mu는 데이터의 산술 평균으로 추정됩니다. 분산 σ2\sigma^2는 각 데이터 포인트와 평균 간의 차이 제곱의 평균으로 추정됩니다.

이 결과는 정규분포의 특성과 일치하며, MLE가 매우 유용한 파라미터 추정 방법임을 보여줍니다.

참고 자료

profile
https://github.com/min731

0개의 댓글

관련 채용 정보