
이 시리즈는 포항공과대학교 옥정슬 교수님의 기계학습(CSED515) 수업과 [Probabilistic Machine Learning: Advanced Topics] 등을 참고로 하여 작성된 글입니다.
들어가기에 앞서, 기계 학습과 관련해 통계학이 무엇인지 알아야할 것 같습니다. 통계학과 관련된 심도있는 내용은 추후 작성해보고, 여기서는 무엇이 목표인지, 어떻게 사용되는지, 대표적인 추정(estimation)으로는 어떤 것이 있는지를 알아보려고 합니다.
통계학이란 데이터를 수집, 분석, 해석, 표현하는 학문입니다. 통계학은 주어진 데이터에서 의미 있는 정보를 추출하고 불확실성을 줄이는 데 목적이 있습니다. 자세한 내용은 통계 관련 포스팅이나 아래 내용에서 파악할 수 있을 것 같습니다.
machine learning이란 데이터를 기반으로 패턴을 학습하고 예측하거나 추론을 수행하는 알고리즘 또는 모델을 설계하는 것입니다. 관측된 데이터를 바탕으로 분포를 가정하고 추정하거나, 분포를 추정하거나, 데이터를 샘플링하여 우리의 추측을 설명하는 데 통계학이 사용될 수 있습니다. 전산학의 측면에서 machine learning은 수많은 데이터를 기계가 스스로 학습할 수 있는 논리, 즉 알고리즘을 만들어줌으로써 그 결과를 뱉어내게끔 한다는 데 통계학이 사용됩니다.
추정은 주어진 데이터로부터 모수(parameter)를 알아내는 과정을 말합니다. 통계학에서는 관측된 데이터를 통해 모집단(population)의 특성을 추정합니다.
통계량(statistic)은 데이터를 요약하고 특성을 나타내는 값입니다. 예를 들어, 평균(mean), 분산(variance), 중앙값(median) 등이 있습니다.
여기서 나오는 개념이 (un)biased estimator라는 것입니다.
sample들의 기댓값이 population의 parameter(모수)와 일치한다면 unbiased, 그렇지 않다면 biased estimator 입니다.
Unbiased estimator: estimator가 여러 번의 샘플링에서 population의 parameter(모수)와 일치하는 경우
Biased estimator: estimator가 population의 parameter(모수)에서 벗어나는 경우
좋은 추정량은 다음과 같은 특성을 가져야 합니다.
Unbiased: sample들의 기댓값이 population의 parameter(모수)와 일치해야 합니다.
Efficient: 분산이 작을 수록 좋습니다.
Consistent: 데이터가 증가할수록(샘플링 수가 증가할수록) 분산이 0으로 가까워져야 합니다.
MLE는 주어진 데이터로부터 모수를 추정하는 대표적인 방법 중 하나입니다. 이 방법은 관측된 데이터가 가장 일어날 가능성을 극대화하는 모수를 선택합니다.
우도(likelihood)는 데이터가 주어진 모수 하에서 관측될 확률입니다. 데이터 와 모수 가 주어졌을 때, likelihood는 다음과 같이 정의됩니다.
likelihood를 최대화하는 값을 찾는 것이 MLE의 목표입니다. 이를 수학적으로 표현하면 다음과 같습니다.
likelihood를 계산할 때 log-likelihood(log-likelihood)를 사용하는 것이 일반적입니다. 왜냐하면 각 샘플들은 i.i.d.(Independent and identically distributed)에 의해 추출되었다고 가정되고, 이러한 가정 하에 likelihood는 확률 곱으로 나타나기 때문입니다. 즉, 곱을 합으로 바꾸는 테크닉으로서 log를 씌우는 방법이 사용됩니다. 즉, likelihood는,
log-likelihood(log-likelihood)는 계산의 효율성을 높이고 수식을 단순화하기 위해 사용되며, 이렇게 정의할 수 있습니다.
MLE는 를 최대화하는 를 찾는 것입니다.
베르누이 분포에서 이고, 입니다. likelihood는 다음과 같습니다.
log-likelihood는 다음과 같이 계산됩니다.
이를 최대화하는 p를 구해야합니다. concave한 형태이긴 하지만, 어쨌든 우리는 maximum point를 찾기 위해 식을 두번까지 미분함으로써 최대화하는 p를 구할 수 있습니다. MLE 추정값 \hat{p}는 다음과 같이 계산됩니다.
즉, 는 성공(1)의 비율로 추정됩니다.
정규 분포에서 X \sim \mathcal{N}(\mu, \sigma^2)이고, x_i \in \mathbb{R}입니다. likelihood는 다음과 같이 정의됩니다.
log-likelihood는 다음과 같이 계산됩니다.
log-likelihood를 최대화하면 다음과 같은 MLE 추정값을 얻습니다.
즉, 평균은 데이터의 산술평균으로, 분산은 데이터의 편차 제곱합의 평균으로 추정됩니다.
사실 MLE는 unbiased estimator를 제공함을 보장하지 않습니다. gaussian distribution의 예시에서 볼 수 있듯, 분산의 추정량이 biased 되어 있습니다.
unbiased한 추정량은 n이 아닌 n-1로 나눠주어야 합니다. 하지만 그렇지 않은 estimator를 제공했으니 unbiased합니다. 이를 어떻게 유도하는지는 추가적인 포스팅으로 한 번에 다루겠습니다.
machine learning에서 통계학은 꽤나 중요해 보입니다. 왜냐하면 말 그대로 데이터 포인트를 바탕으로 추론하고 의미를 도출해내는 등의 과정이 통계학에서 다루는 것이기 때문입니다. 특히 parameter를 추정하는 방법 중 대표적인 방법인 MLE를 알아봤습니다.
하지만 주의해야할 점은 likelihood는 관측된 데이터 포인트로부터 만들어진다는 점입니다. 이전 포스트에서 보았듯 bayesian 관점에서 접근해보면, 만약 데이터 포인트가 우연히 편향되게 나오거나 혹은 불확실성이 크다면 MLE로 얻은 추정 parameter는 꽤나 정확하지 않을 수 있습니다. 우리의 사전 믿음, 즉 prior를 추정에 반영할 수 있을까요? 다음 포스트에서는 이걸 반영했을 때 어떻게 되는지를 알아보고자 합니다.