메이아이 리서치 팀에서 PRML 정기 스터디를 진행하기로 하였다. 앞으로 가능한 한 일주일에 한 챕터씩 읽고 블로그에 정리할 예정이다.
1.1. Example: Polynomial Curve Fitting
수학의 정석의 집합과 같은, 많은 사람에게 아주 익숙한 섹션이다. Sine 곡선에 임의의 Gaussian noise를 더해 형성된 데이터인 을 와 같은 polynomial function을 통해 fitting(?)하는 태스크를 예시로 들며 PRML의 포문을 연다.
즉 를 최적화함으로써 order 의 polynomial function 를 최대한 에 근사하도록 하는 태스크이다. 이는 target으로부터 prediction과의 괴리를 측정하는 error function을 최소화하는 를 찾아냄으로써 가능한데, 이 장에서는 (나중에 설명될) 모종의 이유로 다음과 같은 error function을 택한다. 바로 Mean Squared Error(MSE)이다.
위와 같은 MSE function은 에 대한 2차식이기 때문에 미분하면 1차식이 되고, 따라서 closed form으로 극소화 문제의 solution을 찾아낼 수 있다. (회귀분석에서 배웠던 그 이다.)
하지만 polynomial order (혹은 model complexity) 을 정하는 문제가 남아있는데, 을 너무 작게 설정하면 모델의 표현력이 부족하기 때문에 training set에 제대로 적합(fitting)하지 못하는 문제가 발생하고, 을 너무 크게 설정하면 training set에 과적합해버리는 문제가 발생한다. 분명히 큰 order의 polynomial function space는 작은 order의 polynomial function space의 superset인데, 참 아이러닉한 결과가 발생한다. 이것이 바로 그 overfitting 문제이다.
문제의 현상은, 바로 order가 커질수록 함수가 training set의 noise에 완벽하게 적합하려 하면서 polynomial function의 weight 가 매우 커진다는 것이다. 이는 maximum likelihood estimation의 대표적인 현상이기도 한데(후에 설명하겠지만 바로 MSE가 maximum likelihood function이다), 역시 후에 알아보겠지만 Bayesian estimation을 통해 이러한 과적합 문제를 해결할 수 있다. Bayesian model에서는 모델의 effective parameter의 수가 데이터셋의 크기에 adaptive하게 정해진다고 한다.
이러한 Bayesian approach는 바로 regularization term의 형태로 나타난다. Regularization term을 더한 error function은 다음과 같다. 직관적으로 이해하자면, 의 절댓값을 작게 유지하는 것이다.
이러한 regularization term의 coefficient 역시 직접 설정해주어야 하는 hyper-parameter이다. 너무 크게 설정하면 weight들이 과하게 작아져 모델의 표현력을 해치고, 이로 인해 부적합 현상이 나타난다. 당연하게도 너무 적게 설정하면 regularization effect가 부족해 과적합 현상이 나타난다.
이번 섹션에서는 직관에 의존하여 pattern recognition 문제에 대한 간략한 인사이트를 얻어보았다. 다음 섹션에서는 보다 정교하고 체계적인 방식으로 pattern recognition 문제와 machine learning 방법론에 접근하기 위해, PRML의 대부분의 챕터에서 기초적인 내용이 되는 probability theory에 대해 다룬다.
1.2. Probability Theory
확률 이론은 PRML에서 불확실성의 정량화에 대한 기본적인 토대를 제공해준다. 하지만 챕터 1.2에 나오는 내용치고는 그렇게 만만치 않았다.
기본적으로 어떠한 사건의 확률은, 무한 번의 시행 중에서 해당 사건의 발생 비율로써 정의될 수 있다. 그리고 이러한 확률의 핵심 개념인 sum rule과 product rule을 소개한다.
우선 sum rule은 다음과 같다. 이 때 는 marginal probability라 불리기도 한다.
다음으로 product rule은 다음과 같다.
이 때 product rule과 로부터 다음과 같은 수식을 이끌어낼 수 있는데, 바로 그 유명한 Bayes' theorem이다.
또한 sum rule을 이용하여 베이즈 정리는 다음과 같이도 표현될 수 있는데, 베이즈 정리의 분모는 conditional probability의 합이 1이 되기 위한 normalizing factor로도 볼 수 있겠다.
이러한 베이즈 정리는 데이터 가 주어지기 전의 에 대한 사전적인 확률(prior probability)인 과, 이에 대한 추가적인 데이터 가 주어짐에 따른 사전 확률 에 대한 조정(likelihood) 을 통한 에 대한 사후적인 확률(posterior probability)인 의 도출 과정으로 볼 수 있다. 이 때 가 성립하는 경우 를 독립적(independent)이라 하는데, 베이즈주의적인 관점으로 해석해보자면 $X$ 에 대한 정보가 $Y$ 에 대한 추가적인 정보를 제공해주지 못한다고 할 수 있겠다.
1.2.1. Probability densities
위에서의 확률은 이산(discrete) 변수에 대해 정의되었는데, 연속(continuous) 변수에 대해서도 확률은 아주 유사한 성질을 가진다. 우선 연속 변수 $x$에 대해, 일 때 에 가 속할 확률이 인 경우 를 에 대한 확률 밀도(probability density)라 한다.
한 가지 짚고 넘어갈 점은 변수에 대한 비선형적인 변형이 가해질 때, 확률 밀도 함수에 대한 변형은 변수에 대한 변형과 다르게 이루어진다는 것이다. 예컨대 를 함수 를 통해 로 변형한다고 하자. 그러면 매우 작은 값에 대해 에 대한 관측은 에 대한 관측으로 변형될 수 있으며 이고, 따라서
이다. 이로 인해, 확률 밀도의 최댓값은 변수의 선택에 따라 달라질 수 있다.
이러한 연속 밀도에 대해서도 베이즈 정리와 함께 sum rule, product rule이 마찬가지로 적용될 수 있다. 증명은 이 책에서 다루지 않지만, 간략하게 연속 변수를 특정 너비의 이산적인 구간으로 나눈 다음 구간의 한계값을 0으로 수렴시킴으로써 이를 증명해낼 수 있다고 한다.
1.2.2. Expectations and covariances
기댓값과 분산, 공분산을 정의한다. Trivial 하므로 정리하지 않는다.
1.2.3. Bayesian probabilities
위에까지의 확률은, 반복 가능한 특정 사건의 빈도에 대한 개념이었다. 이를 빈도주의(frequentist) 확률이라고 하는데, 이번에는 불확실성의 정량화를 다루는 베이즈주의(Bayesian) 확률에 대해 다룬다.
우선 책에서는 베이즈주의 확률의 필요성에 대해 역설한다. 요컨대 세상에서는 자료가 굉장히 희귀한, 반복될 수 없는 사건이 존재하며, 이러한 사건들에 대한 불확실성을 다루기 위해서는 베이즈주의적인 확률의 해석이 필요하다는 것이다.
베이즈 정리를 다시 써보자.
먼저 는 어떠한 데이터를 관측하기 이전의 에 대한 가정(사전 확률)을 의미한다. 조건부 확률 는 데이터 관측에 대한 에의 영향을 의미한다. 그리하여 사후 확률인 는 데이터 를 관측한 이후의 에 대한 불확실성을 의미한다.
여기서 는 에 대한 함수로 표현되며, 의 설정에 따라 "데이터 가 얼마나 관측될 법한가"를 의미하며, likelihood function이라고 불린다. 즉 베이즈 정리에 따르면 사후확률은 우도 함수(likelihood function)와 사전 확률에 비례한다.
Likelihood function은 빈도주의와 베이즈주의의 확률에 모두 핵심적인 역할을 하지만, 그 해석은 상이하다. 빈도주의에서는 를 어떠한 estimator에 의해 결정되는 고정된 값으로 해석하고, 그 오차를 관측 가능한 의 분포로부터 추론하는 한편, 베이즈주의에서는 오직 관측된 데이터 만이 존재하며, 에 대한 불확실성을 의 확률 분포를 통해 표현한다.
빈도주의에서 estimator로써 가장 애용하는 것이 바로 maximum likelihood estimator인데, 바로 를 결정하기 위해 likelihood function인 를 최대화하는 를 구하는 것이다. 이 때 최대화 문제를 negative log of maximum likelihood function을 취하여 최소화 문제로 변환하는데, 이 때의 최소화 목적 함수를 error function이라 부르게 된다.
베이즈주의의 장점 중 하나가 바로 prior knowledge의 개입이 자연스럽게 이루어진다는 것인데, 이는 보다 상식적인 수준에서의 의사결정을 가능케 한다. 예컨대 그냥 평범하게 생긴 동전을 세 번 연달아 던졌을 때 모두 앞면이 나왔다고 하자. 그러면 빈도주의의 확률은 앞면이 나올 확률이 무려 1이라고 판단하게 될 것이지만, 베이즈주의의 경우 prior knowledge의 개입으로 인해 이보다 더 상식적인 수준의 판단을 하게 되는 것이다.
하지만 베이즈주의 vs 빈도주의 논란은 하도 거센 것이기 때문에 책에서는 말을 아낀다. 특히 베이즈주의에 대한 주된 비판은 바로 prior probability에 대한 설정이 임의적이며, 잘못된 사전 확률에 대한 상정이 오히려 더 비합리적인 의사 결정을 유도할 수도 있다는 것이다. 하지만 PRML에서는 주로 베이즈주의적인 확률론을 다루게 될 것이라고.
1.2.4. The Gaussian distribution
2장에서 여러 확률 분포에 대한 내용을 더 자세히 다루겠지만, 워낙 여러 문제에 기초적인 토대를 제공하는 가우시안 분포는 먼저 짚고 넘어가고자 한다.
Gaussian distribution은 parameter 에 의해 다음과 같이 결정된다.
당연히도 이 성립하며, 의 기댓값은 , 의 분산은 인 성질을 가진다. 또한 우연히도(?) mode와 mean이 일치하는 분포이다.
그러면 이제 어떠한 변수가 이러한 Gaussian distribution을 따른다고 할 때, maximum likelihood estimation을 통해 distribution의 parameter를 결정하는 과정을 생각해보자. 어떠한 i.i.d.(independently identically distributed) data set 가 로부터 추출되었다고 한다면, 에 대한 $x$ 의 우도는 다음과 같다.
이를 최대화하는 것이 바로 maximum likelihood estimator를 통한 estimation이다. 이 값의 negative log를 최소화하는 것은 동치인 문제이므로, 다음과 같은 함수를 최소화하는 문제로도 볼 수 있다.
위 식을 최소화하는 은 sample mean임을, 그리고 역시 위 식을 최소화하는 은 sample variance임을 쉽게 알 수 있다. 그러나 이러한 maximum likelihood estimation의 경우 는 의 불편추정량이 될 수 있지만, 은 를 과소평가하게 된다. 즉,
이러한 variance에 대한 편향이 maximum likelihood estimation의 특성인 over-fitting의 근본적인 원인이 된다.
1.2.5. Curve fitting re-visited
이제 다시 curve fitting 문제로 돌아와서, 데이터 에 대응하는 에 대해, 가 를 평균으로 하는 표준분포를 따른다고 하자. (는 precision이다.)
이제 training data 를 이용해 새로운 데이터의 target value를 예측하는 최적의 를 최대우도법(maximum likelihood method)을 통해 추론한다고 해보자. 역시 우도 함수는 다음과 같다.
역시나 negative log를 씌우면, 다음과 같은 함수를 최소화하는 문제로 재표현할 수 있다.
마찬가지로 뒤의 두 항은 와 무관하기 때문에, 첫째 항이 남는다. 그런데 첫째 항은 바로 위에서 언급했던 mean squared error임을 알아볼 수 있다. 즉 mean squared error는 Gaussian noise을 가정한 target $t$ 를 추정하기 위한 maximum likelihood estimation으로부터 도출됨을 알 수 있다. Precision $\beta$는 앞서 구한 를 이용하여 sample variance를 구함으로써 얻어낼 수 있다.
이제 베이즈주의적인 접근법을 살펴보자. 가장 먼저 가 0을 평균으로 한 표준분포인 를 따른다고 가정하자. 그러면 에 대한 사전 확률은 다음과 같다.
또한 likelihood 는 (위에서와 같이 Gaussian noise를 상정한다면) 위에서 도출한 것과 동일하다. 그러면 사후 확률은 두 함수를 곱한 것에 비례하는데, 다음과 같이 표현할 수 있겠다.
이러한 사후 확률을 최대화하는 문제는 다음과 같은 함수를 최소화하는 문제와 동일하다.
이는 역시 앞에서 언급한 regularized MSE와 동일하다. 즉 Gaussian prior를 상정한 의 maximum posterior(MAP) estimation은 의 factor로 regularization된 MSE 함수를 최소화하는 문제와 동일하다.
1.2.6. Bayesian curve fitting
이제 위에서 구한 를 통해 curve fitting을 해 보자. Training set 를 기반으로, 새로운 데이터 에 대한 를 예측하는 것이다. (편의를 위해 는 알려진 것으로 가정한다.)
그러면 다음과 같다.
앞서 논의한 에 대한 가정 와 바로 위에서 도출한 사후 확률 를 통해 의 distribution을 구하게 되는 것인데, 나중에 배우겠지만 이러한 문제는 해석적으로 풀 수 있다고 한다. 어쨌거나 풀면 다음과 같은 형태가 나온다. 뭔지는 잘 모르겠다.
이 때 에서 noise로 인한 불확실성이 로 나타나며, 에 대한 불확실성이 로 나타나게 된다.
1.3. Model Selection
Polynomial curve fitting에서 관찰했듯, 좋은 성능을 위해서는 model complexity를 조절해주는 여러 가지 hyper-parameter를 조정해주어야 한다.
데이터가 많은 상황에서야, train-val-test 셋을 나누어 데이터를 체계적으로 학습하고 평가하여 선택하면 된다. 하지만 소중한 데이터를 val-test에 사용하는 것이 꺼려지는 상황이 있을 수 있다. 이런 상황에서는 cross-validation을 사용할 수도 있다. 그런데, cross-validation은 연산량이 무지막지하게 많을 수 있다는 단점을 가진다.
Adjustable parameter의 수로 penalty를 주는 AIC(Akaike Information Criterion)나 BIC(Bayesian Information Criterion) 등을 통해 maximum likelihood estimation을 over-fitting을 방지하려는 시도도 많이 있었다. 이에 관해 3장에서 Bayesian approach를 통한 자연스러운 complexity penalty 발생을 다루기로 한다.
1.4. The Curse of Dimensionality
이번 절에서는 "차원의 저주"를 간략히 소개한다. 던지고자 하는 메시지는 간단하다. 1) 데이터의 차원이 높아질수록 패턴을 드러내기 위해 훨씬 많은 데이터가 필요하다는 것, 2) 그리고 낮은(2, 3) 차원에서의 직관이 높은 차원에서는 통하지 않는다는 것이다. 그리고 실제로 많은 현실 세계의 문제들이 high-dimension data를 다루고는 한다.
하지만 희망은 있는데, 1) 많은 실제 데이터들이 낮은 effective dimensionality에 한정되어 있다는 것과, 2) 국소적으로나마 smoothness를 띄는 경우가 많아 interpolation과 같은 방법을 통해 효과적인 추론이 가능하다는 것이다.
1.5. Decision Theory
Decision theory는 확률이 주어졌을 때, 주어진 확률(불확실성) 하에서 어떻게 최적의 의사결정을 도출할 것인가에 대한 이론이다. 그런데 사실상 확률을 구하고 나면 decision step 자체는 굉장히 trivial할 수 있다. 특히 직관적으로 생각해봤을 때는, 예컨대 error를 최소화하고자 한다면 사후 확률을 최대화하는 방식으로 의사결정을 내리게 됨을 예상해볼 수 있다.
1.5.1. Minimizing the misclassification rate
를 두 class로 구별해야 한다고 하자. Decision region은 각각 $$R_1, R_2$$ 로 표기한다. 그러면 error rate은 다음과 같은데,
위를 최소화하기 위해서는 가 더 큰 로 를 할당해야 함을 알 수 있다. 그런데 이므로, 사후 확률이 더 큰 쪽으로 할당하는 것과 동일하다.
Class가 여러 개인 경우에는 correct rate을 최대화한다고 생각하면 편한데, 역시나 posterior probability를 최대화하는 쪽으로 결정을 하게 된다.
1.5.2. Minimizing the expected loss
그런데 단순히 error rate을 최소화하거나 correct rate을 최대화하는 게 아니라, ground truth와 의사 결정에 의해 정의된 loss function을 최소화해야 할 수도 있다. 이 경우에는 loss의 기댓값을 최소화하게 된다. 더 상세한 설명은 trivial하다.
1.5.3. The reject option
Loss가 특히 큰 경우, 아예 결정을 defer하는 것이 더 이득이 될 때가 있다. 이러한 상황에서는 가 특정 threshold $\theta$ 를 넘지 못하면 모델을 통한 결정을 내리지 않는 방식으로(따라서 사람이 추가적으로 검수한다던가 하는 방식으로) loss를 최소화할 수 있다. 물론 deference 상황에서의 loss 역시 따로 정의될 수 있다.
1.5.4. Inference and decision
Decision problem에 대한 접근 방식은 다음과 같이 세 가지로 나눌 수 있다.
•
먼저 우도인 를 도출해낸 다음, 따로 를 도출한다. 이러한 정보를 이용해 를 계산한다. 베이즈 정리에서의 denominator는 단순히 numerator를 전부 더함으로써 구할 수 있다. 이러한 모델의 경우 output 뿐 아니라 input의 distribution까지 모델링하기 때문에 generative model이라고도 부른다.
•
사후 확률 만을 직접적으로 도출해낸 후, 이를 의사 결정에 활용한다. 이러한 모델을 discriminative model이라 부른다.
•
의사 결정(class label)을 데이터로부터 직접적으로 도출해내는 경우, 이러한 모델을 discriminant function이라 부른다.
우리가 흔히 행하는 딥러닝은 두 번째 모델(discriminative model)에 속할 수 있을 것 같다. 물론 마지막 layer의 output을 합리적으로 확률이라고 해석할 수 있다면 말이다.
1.5.5. Loss functions for regression
이제 regression 문제에서의 decision theory를 간략하게 살펴본다. Regression 문제에서의 optimal decision은 흔히 loss function 을 최소화하는 target 에 대한 예측값인 를 구하는 것으로 볼 수 있겠다.
위 식을 에 대하여 풀면(미분하여 0이 되는 지점을 찾는다), 바로 최적의 예측값은 에 대한 의 기댓값임을 알 수 있다.
그런데 이 사실을 이용하여 loss function 를 decompose한 후 기댓값을 취하면,
식을 잘 살펴보면, 첫 번째 항은 최적의 를 찾아냄으로써 최소화할 수 있지만, 두 번째 항은 에 관계 없이 일정한 값을 가짐을 알 수 있다. 이러한 두 번째 항은 바로 $t$ 의 분포로부터의 분산으로, 더 이상 줄일 수 없는 systematic loss이다.
1.6. Information Theory
이제 역시 pattern recognition에 유용한 테크닉을 제공하는 information theory를 가볍게 소개하면서 1장을 마친다.
정보의 양은 'degree of surprise'로 정의될 수 있다. 이게 무슨 말인가 싶지만, 직관적으로 생각해보면 이미 알고 있는 (당연한) 정보를 얻는 것에 비해, 예상치 못했던 (놀라운) 정보를 얻는 것이 더 정보량이 많다고 생각해 보면 쉽게 이해할 수 있다.
놀라움의 정도는 역시 확률과 관련이 있다. 거두절미하고 정보량을 다음과 같이 정의한다. (여기서 log의 밑 2는 임의적인 선택 - bit를 표현하기 위한 - 이다.)
이제 어떠한 확률 분포 를 전달하기 위한 평균 정보량은 다음과 같다. 이를 entropy라 부른다.
이러한 entropy는 무질서도라고도 표현되는데, 여러 가지 유용한 성질을 지닌다. 첫째는 2를 밑으로 설정하였을 경우, 이러한 entropy는 어떠한 random variable의 state를 전달하기 위한 bit 수의 lower bound라는 것이 Claude Shannon에 의해 증명되었다는 것(noiseless coding theorem)이고, 둘째는 uniform distribution에 가까울수록 entropy가 크고, 그렇지 않을수록(e.g. 특정한 값(구간)에 확률이 몰려 있는 경우) entropy가 작다는 것이다.
또한 연속적인 값에 대한 entropy는 다음과 같이 differential entropy로 표현될 수 있는데,
이러한 Lagrange method를 통해 differential entropy를 최대화하는 분포는 Gaussian distribution임을 도출할 수 있다. 이 때의 entropy는 다음과 같다.
Conditional entropy도 마찬가지로 정의되며,
product rule에 의해 다음의 관계가 성립한다.
1.6.1. Relative entropy and mutual information
어떠한 확률 분포 가 주어졌을 때, 이러한 확률 분포를 근사한 분포인 를 통해 의 값을 전달할 경우 의 값을 특정하기 위해 필요한 추가적인 정보의 양(즉 정보량의 차이)를 다음과 같이 쓸 수 있다. 그 유명한 KL divergence이다.
이 때 함수가 convex function임을 이용하여, Jensen's inequality를 통해 이러한 KL divergence는 인 경우에만 0이고, 그렇지 않을 경우에는 0보다 크다는 사실을 알 수 있다. 이래서 divergence(dissimilarity)라고 부를 수 있는 것이다. 또한 parameter를 통해 정의되는 분포인 를 최적화하기 위해 KL divergence를 최소화하는 문제는 결국 likelihood 를 최대화하는 문제임을 쉽게 알 수 있다.
마지막으로 는 를 로 근사함으로써 발생하는 정보량의 손실 정도로 해석할 수 있는데, 이러한 손실은 가 독립적이지 않은 정도의 척도가 된다. 분명히 가 독립적일 경우 divergence가 0이 될 것이기 때문이다. 이러한 값을 mutual information이라 한다.
또 이러한 mutual information은 conditional entropy와 다음과 같은 관계를 가지는데, 직관적으로 mutual information을 에 대한 정보가 주어짐으로써 발생하는 $x$ 의 불확실성에 대한 감소 정도로 해석할 수 있다.
써 보고 나니 정리가 아니라 거의 번역을 해 놨다. 좀 더 요약 및 정리를 해야 할 것 같다.