부스트캠프 ai tech 1주차에 배운 내용을 정리하는 글입니다.
Maximum Likelihood Estimation란?
maximum likelihood method
(최대가능도방법, 최대우도법): 어떤 확률변수에서 표집(sampling)한 값들을 토대로 그 확률변수의 모수(매개변수, parameter)를 구하는 방법. 어떤 모수가 주어졌을 때, 원하는 값들이 나올 가능도를 최대로 만드는 모수를 선택하는 방법
https://ko.wikipedia.org/wiki/최대가능도_방법
쉽게 말해 데이터가 주어졌을 때 그 데이터에 제일 어울리는 파라미터(평균, 분산 등…)를 추정하는 방법
어떻게?
가능도를 가장 크게 하는 파라미터를 찾기(가장 보편적으로 미분을 이용할 수 있음)
가능도를 표현하는 함수란?
가능도 함수는 표집한 값들에 대한 결합확률밀도로 표현됨. 그리고 표집한 값들은 같은 확률분포에서 나온 독립
적인 값들이기 때문에 곱으로 표현할 수 있음 → 후보 분포에 샘플들을 넣어서 나온 값들을 모두 곱한다는 뜻
정규분포의 모수에 대한 최대가능도추정
정규분포의 모수는 평균 μ \mu μ 와 분산 σ 2 \sigma^2 σ 2 이 있음. 따라서 가능도함수를 정의한 뒤 최대가능도를 만드는 모수(평균 μ \mu μ 와 분산 σ 2 \sigma^2 σ 2 )를 찾아야 함.
독립적으로 sampling 한 값들을 x 1 , x 2 , … , x n x_1, x_2, …, x_n x 1 , x 2 , … , x n 이라고 했을 때 likelihood 함수는 아래와 같음
P ( x ∣ θ ) = ∏ i = 1 n 1 σ 2 π exp ( − ( x i − μ ) 2 2 σ 2 ) P(x|\theta) = \prod_{i=1}^{n}\frac{1}{\sigma\sqrt{2\pi}} \exp \left( -\frac{(x_i-\mu)^2}{2\sigma^2} \right) P ( x ∣ θ ) = i = 1 ∏ n σ 2 π 1 exp ( − 2 σ 2 ( x i − μ ) 2 )
데이터가 매우 많아지면 위 식과 같은 곱을 컴퓨터의 정확도로 계산할 수 없음. 따라서 위 식에 l o g log l o g 를 사용해 더하기로 바꿔서 계산
L ( θ ∣ x ) = log P ( x ∣ θ ) = ∑ i = 1 n log 1 σ 2 π exp ( − ( x i − μ ) 2 2 σ 2 ) L(\theta|x) = \log P(x|\theta) = \sum_{i=1}^{n}\log\frac{1}{\sigma\sqrt{2\pi}}\exp\left(-\frac{(x_i-\mu)^2}{2\sigma^2}\right) L ( θ ∣ x ) = log P ( x ∣ θ ) = i = 1 ∑ n log σ 2 π 1 exp ( − 2 σ 2 ( x i − μ ) 2 )
가능도 함수가 위와 같이 정해졌으니 가능도 함수를 평균 μ \mu μ 에 대해 편미분, 표준편차 σ \sigma σ 에 대해 편미분을 하면 됨
∂ L ( θ ∣ x ) ∂ μ = − 1 σ 2 ( μ n − ∑ i = 1 n x i ) \frac{\partial L(\theta|x)}{\partial \mu} = -\frac{1}{\sigma^2}(\mu n-\sum_{i=1}^{n}x_i) ∂ μ ∂ L ( θ ∣ x ) = − σ 2 1 ( μ n − i = 1 ∑ n x i )
∂ L ( θ ∣ x ) ∂ σ = − n σ + 1 σ 3 ∑ i = 1 n ( x i − μ ) 2 \frac{\partial L(\theta|x)}{\partial \sigma} = -\frac{n}{\sigma} + \frac{1}{\sigma^3}\sum^n_{i=1}(x_i-\mu)^2 ∂ σ ∂ L ( θ ∣ x ) = − σ n + σ 3 1 i = 1 ∑ n ( x i − μ ) 2
위 두 편미분계수를 0으로 하는(가능도 함수를 최대로 만드는) μ ^ \hat{\mu} μ ^ (모평균의 추정량), σ ^ 2 \hat{\sigma}^2 σ ^ 2 (모분산의 추정량)은 아래와 같음
μ ^ = 1 n ∑ i = 1 n x i \hat{\mu} = \frac{1}{n}\sum^n_{i=1}x_i μ ^ = n 1 i = 1 ∑ n x i
σ ^ 2 = 1 n ∑ i = 1 n ( x i − μ ) 2 \hat{\sigma}^2 = \frac{1}{n}\sum^n_{i=1}(x_i-\mu)^2 σ ^ 2 = n 1 i = 1 ∑ n ( x i − μ ) 2