Data Analysis for Investment & Control
Maximum Likelihood Estimation의 이해 본문
최대가능도 추정의 정의
최대가능도추정, Maximum Likelihood Estimation 혹은 최대우도법이라고 불리우는 이 방법은 어떤 확률 변수가 있을 때 주어진 데이터를 토대로 그 확률 변수의 모수 혹은 System Identification 분야에서 시스템 파라미터를 구하는 방법이다.
최근에는 Unsupervised Learning 분야 중 하나인 Generative Model 분야에서도 활발히 사용되고 있다.
어떤 미지의 값 θ 혹은 시스템 파라미터가 있다고 할 때 이를 기반으로 나올 수 있는 데이터가 확률 분포를 보인다고 하자. 주어진(관측된) 데이터가 이런 확률 분포를 통해서 나온 값이라고 할 때 이 데이터를 통해 미지의 θ 혹은 시스템 파라미터를 추정하는 방법이다.
통계학에서 주로 많이 사용되며, System Identification 분야에서 모델을 추정할 때 그리고 Generative Model에서는 학습된 feature model을 이용하여 data를 생성하는데 사용된다.
우리가 알고자하는 모델의 시스템 파라미터의 벡터를 θ라고하고, 확률 변수 집합을 D_θ = {x_1, x_2, ..., x_n}이라고 하자. D_θ의 확률 밀도 함수Probability Density Function, PDF를 f라고 하고 확률 변수들에서 각각의 값 즉, 실험을 통해 얻어진 데이터를 x_1, x_2, ..., x_n이라고 하면 가능도 L(θ; x_1, x_2, ..., x_n)는 다음과 같다
여기서 데이터 f(x_1, x_2, ..., x_n; θ)는 아래와 같이 계산할 수 있다.
즉, 미지의 파라미터 θ로 인하여 x_1, x_2, ..., x_n의 데이터가 나올 확률 분포는 파라미터 θ로 인해 각 x_i 값이 나올 확률 분포의 총곱과 같다. 데이터 x_i를 이용하여 미지의 파라미터 θ를 구하기 위해 가능도를 최대로 만드는 함수는 다음과 같다
위 식의 의미는 가능도 L의 값을 최대로 만들기 위한 θ를 추정한다라는 말이다. 가능도를 쉽게 계산하기 위해 양변에 로그를 취하면
이다. 로그함수는 단조증가하므로 L에 로그를 취한 값의 최대 값 역시 우리가 구하려는 θ의 값과 같다.
함수 f를 어떤 확률 밀도 함수로 정하느냐에 따라서 최대 가능도를 계산하는 수식이 정해진다. 예를 들어, 가우시안Gaussian 분포는 갖느냐 아니면 이항Binomial 분포 모델을 갖느냐, 베르누이Bernoulli 분포를 갖느냐 등이다.
Gaussian Distribution을 갖는 확률 밀도 함수의 최대가능도 추정
여기서는 함수 f를 평균μ와 분산 σ^2를 갖는 가우시안 분포 모델을 적용해 보도록 하자. 앞서 설명했던 샘플링 데이터 x_1, x_2, ..., x_n에 대해 평균과 분산을 estimation한다. 이 경우 구해야 하는 시스템 파라터는 θ = (μ, σ^2) 이다.
정규 분의 확률 밀도 함수의 식은
이며, x_1, x_2, ..., x_n는 모두 독립이므로
양변에 로그를 취하면,
가능도함수 L*를 최대화 하는 값을 얻기 위해 우리가 구하고자 하는 시스템 파라미터 θ = (μ, σ^2)에 대해 각각 편미분을 수행하자.
맨 오른쪽의 괄호 안의 값이 0이 되어야 하니 μ 값의 추정치는 다음과 같다.
마찬가지로 분산도 같은 방식으로 정리하면,
따라서 이 식을 만족하는 분산의 추정는 다음과 같다.
머신러닝에서의 확률 분포와 최대 가능도 추정
업데이트 예정
'MachineLearning' 카테고리의 다른 글
Softmax 함수 (0) | 2018.09.15 |
---|---|
Cross Entropy (0) | 2018.09.14 |
유전 알고리즘(Genetic Algorithm) 응용 - 주가 예측 (논문리뷰) (0) | 2015.04.29 |
Matlab을 이용한 유전 알고리즘(Genetic Algorithm) 예제 (5) | 2015.04.22 |
유전 알고리즘(Genetic Algorithm) 소개 (2) | 2015.04.16 |