이번 챕터의 주 내용은 크게 3가지로 구분됩니다.
첫째는 Bayesian Inference의 명확한 이해,
둘째는 Model Selection,
셋째는 Probabilistic Graphical Model입니다.
비중 자체는 첫째가 가장 많고, Probabilistic Graphical Model은 뒤에 다시 나오므로 적당히 소개하는 정도로 마무리됩니다.
Model Selection과 Probabilistic Graphical Model은 솔직히 완전히 이해하지는 못했는데, 정리하면서 좀 더 나아지지 않을까 기대해보겠습니다...하하
내용정리
- Bayesian Inference
사실, Bayesian에 관해 꽤 읽어본 내용도 많고 공부도 어느 정도 했다고 생각했는데 이 파트를 읽으면서 그동안 Bayesian을 전혀 이해하지 못하고 있다는 생각이 들었다. 그만큼 명확한 설명과 직관력을 제공한다. 정리하면서 다시 살펴보자.
여기서는 Bayesian과 Frequentist 시각의 차이를 동전 뒤집기로 설명한다. 우선 Frequentist의 시각부터 점검하자. 동전뒤집기를 하는데 θ라는 확률로 앞면이, 1-θ의 확률로 뒷면이 나온다고 하자. 우리의 목표는 θ라는 확률을 구하는 것이다. 그렇다면 어떻게 구할 수 있을까?
Frequentist들의 접근 방식은 다음과 같다. 어차피 어떤 값이 진짜 θ일지는 아무도 모른다. 그러니까 모든 θ에 대해서, 주어진 데이터(주어진 동전 뒤집기 결과값)가 나올 확률이 가장 높은 θ를 선택하자는 것이다. 즉, 주어진 결과값을 y라고 했을 때 p(y l θ)를 최대로 하는 θ를 선택하자는 것이다. 여기서 p(y l θ)를 likelihood라고 한다. 이러한 방법은 likelihood를 maximizing하는 estimator를 선택하는 방법, 즉 Maximum Likelihood estimation(MLE)이라고 한다.
한편, Bayesian의 경우에는 논의에 한 가지를 추가한다. 바로 prior이다. Bayesian은 이런 의문을 가진다. '어떤 값이 진짜 θ일지는 몰라도, θ에 대해서 아예 정보가 없는 것은 아니잖아?', '동전 뒤집기를 하는데 동전마다 앞뒤가 나올 확률이 다를 수는 있겠지만 그래도 대충 0.5근처에서 잡히지 않을까?', '그러면 사실 θ는 0.5를 평균으로 갖는 정규분포를 따르지 않을까?' 이처럼 미리 가정하는 θ의 분포를 prior라고 한다. 그렇다면 이제 이야기는 조금 달라진다. 우리의 목표는 우리가 갖고 있는 y를 통해 목표값인 θ를 찾는 것이다. 즉, p(θ l y)를 최대로 하는 θ를 찾는 것이 목표이다. 이를 Maximum a posteriori(MAP)라고 한다. 우리는 Bayes' Rule을 통해 이를 분해하여 구할 수 있다.
p(θ l y) = p(y l θ)p(θ) / p(y) ∝ p(y l θ)p(θ) 이다.
따라서 목표값을 최대화하는 것은 θ가 나올 확률과 θ일때 주어진 데이터가 나올 확률을 곱해서 구해진다. 즉, prior와 likelihood를 곱해서 구해지는 것이다.
구체적인 예시로 살펴보자. 참고로 예시에서 등장하는 숫자들은 단순화해서 적은 것이다.(정확한 값을 의미하지는 않는다.)
동전을 100번 던져서 앞면이 30번 나왔다고 하자.
Frequentist들의 사고는 다음과 같다.
θ가 0.1일수도 있고, θ가 0.3일수도 있고, θ가 0.5일수도 있고, θ가 0.7일수도 있는데 (물론 0~1사이의 어느 다른 값일 수도 있다.) 그 중에서 θ가 0.3일때 우리가 얻은 데이터가 나올 확률(likelihood)이 가장 높네? 그렇다면 0.3으로 추정하는 게 정확하겠다...!
Bayesian들의 사고는 다음과 같다.
물론 0.3일때 우리가 얻은 데이터가 나올 확률이 높지만, 동전들은 대체로 앞뒤가 나올 확률이 0.5에 가깝단 말이지...(prior) 그렇다면 동전 자체가 0.3의 확률을 가지고 있을수도 있지만 동전 자체의 확률은 0.35정도인데 그냥 우연히 뒷면으로 치우쳐서 30번이 나온 게 아닐까? 그렇다면 오히려 0.35가 더 정확할 것 같다...!
이 정도 차이일 것이다. 여기서 보면 Bayesian이 더 정확해 보일 수 있는데, 이는 prior가 맞다는 가정하에 사실이다. 그렇지만 현실에서는 prior를 정확히 알 수 없으므로 상황에 따라 성능이 달라질 것이다.
Bayesian의 방법은 다르게 이해하면 prior을 보정하는 것이다. 아무런 데이터도 없었을 때의 확률인 prior = p(θ)를 주어진 데이터 = y를 바탕으로 보정하여 posterior = p(θ l y)를 구해가는 과정이다. 위의 예시에서도 아무런 데이터가 없었다면 아마 0.5로 확률을 추정했을 테지만, 100번 중 30번만 앞면이 나왔다는 예시를 바탕으로 확률을 보정하여 0.5와 0.3 사이인 어느 값으로 추정된다는 것을 알 수 있다.
또한 책에 나온 내용으로, MAP의 variance가 MLE의 variance보다 작다는 사실이 있다. 아마도 MLE의 경우 prior를 uniform으로 잡은 것이나 마찬가지니까 정보량이 엄청 적으므로
(=> 높은 엔트로피) 당연히 분산이 커질 수 밖에 없는 것 같다.
- Sequential Bayesian updates
prior의 보정을 Sequential하게 해주는 방법이다. 데이터를 100개 구해서 하는 게 아니라, 한 번 한 번 동전을 던질 때마다 구한 posterior를 다음 prior로 사용하여 해주는 방식이다. 직관적으로 본다면 아마 Momentum을 갖게 되어 훨씬 보정이 빠르고 수렴이 빠르지 않을까 싶다.
- Model Selection 부분에서는 여러 가지 모델 중 어떤 모델을 선택해야 하는지에 관한 내용이 등장한다. 물론 performance가 월등히 좋은 모델이 있다면 그런 모델을 선택하면 되겠지만, 그렇지 않은 경우를 상정하고 논의를 전개한다. 그리 복잡하지 않게, 그냥 그런 경우에도 Bayesian의 접근법을 사용해서 해결할 수 있다고 이야기하는 것 같다. 추가로, Selection이 아닌 Averaging도 나오는데 여러 모델에서 구해진 weight들을 averaging하여 만든 모델을 사용할 수 있다는 내용이다.
- Probabilistic Graphical Models에서는 Probabilistic Graphical model들의 다양한 representation을 배운다. 여기서는 예시로 logistic regression classifier를 naive Bayes' binary classifier로 이해할 수 있음을 보였다. weight와 bias는 각각 likelihood와 log-odds ratio의 다른 표현이라는 것도 짚고 넘어간다. 8.1에 등장하는 Mixture Models는 사실 정확히 이해하지는 못했기에 다시 읽고 나서 추가하도록 하겠다.
댓글 없음:
댓글 쓰기