본문 바로가기

기초 지식

Prior VS Posterior

생성 모델의 주 목적은 "타겟 분포를 학습한다" 라는 정의를 하게 되는데, 그 때 사용되는 분포의 개념인 사전 분포, 사후 분포에 대한 의미가 헷갈려 이번에 정리를 통해 완벽하게 이해하고자 한다.


우선 ChatGPT에게 물어봤다.

ChatGPT에게 사전/사후 분포의 의미를 물어본 결과

꽤나 정확하게 말해줬는데, 아직 대략적인 느낌이고, 확 와닫지는 않는다.


모수, 확률 분포, 베이지안 추론,, 이런 용어들이 아직은 낯설어 먼저 정의부터 알아보자.

 

  • 모수: parameter, 모집단의 특성(예: 평균, 분산 등)을 나타내는 값으로, 좀 더 쉽게 풀어보자면 "모집단에 속해 있는 데이터들을 설명할때, 어떠한 숫자로 표현하고 싶다!" 라고 생각하면 될 것 같다.
  • 확률 분포: 확률 변수(무작위 실험 결과, 특정 확률로 발생하는 각각의 결과를 숫자로 표현한 변수) X와 얼마나 확률 변수마다 나타날지의 확률을 분포로 나타낸 것이다.
  • 베이지안 추론은 다음 포스팅에서 조금 더 자세하게 작성할 계획이다.

그렇다면, 사전 분포와 사후 분포의 정의를 정의해보자.

사전 분포(prior)란 데이터를 관찰하기 전 모수의 분포를 말한다. 즉, 데이터가 이렇게 생겼을거 같다는 자신의 가정이나 이전 실험 결과의 분포를 말한다.

수식으로 표현하면 $ p(\theta) $ 라고 표현하고, 보통은 균일분포($ \text{Beta}(1,1) $) 혹은 정규분포($ \mathcal N(0,1) $)를 사용한다. 

 

사후 분포(posterior)는 데이터가 관찰된 이후 변화된 모수의 분를 말한다.

터 $ x_1, ..., x_N $θ.

 

Likelihood 분포는 $ p(x_1, ..., x_N | \theta) $로 표현하고, $ \theta $가 주어졌을 때, 데이터 $ x_1, ..., x_N $가 관측될 확률을 말한다.


이렇게 사전, 사후, likelihood 를 예제를 통해 좀 더 직관적으로 이해를 해보도록 하자.

 

마찬가지로 ChatGPT에게 요청했다.

ChatGPT의 사전/사후 분포 예시 설명

ChatGPT의 예시는 무게를 측정하는 예시를 들었다.

사전 분포는 물체의 무게가 0~10 kg만 존재한다는 가정이라고 정의했고, 0~10 kg 사이의 물체가 동일한 분포로 있다고 균등 분포로 가정한다.

데이터는 5, 6, 7 kg 의 세 개의 물체가 있다고 가정하자.

사후 분포는 데이터에 맞춰진 추정을 하려고 우리가 가정한 사전 분포와 세 개의 데이터에 의해 사전 분포를 업데이트하게 된다. 따라서 5, 6, 7 kg 데이터의 분포를 좀 더 높은 확률을 할당하게 바뀔 것이다..!

따라서 데이터가 좀 더 많아진다면 이보다 더 정확하게 반영할 수 있다.

 

이 때의 likelihood 는 어떻게 설명할 수 있을까?

위 예시에서의 likelihood


정리

 

이렇게 사전분포, likelihood 를 통해 사후분포를 다음과 같은 식으로 계산할 수 있다.

$$ p(\theta | data) = \frac{(p(data | \theta) \times p(\theta))}{p(data)} $$

  • $ p(\theta | data) $는 사후분포이다.
  • $ p(data | \theta) $는 likelihood이다.
  • $ p(\theta) $는 사전분포이다.
  • $ p(data) $는 정규화 상수로, 주어진 데이터에 대한 총 확률이다.

특히 likelihood는 $ p(data | \theta) = p(x_1 | \theta) \times p(x_2 | \theta) \times ... p(x_n | \theta) $로 표현된다.

최종적으로, 사후분포는 데이터에 기반하여 모수($ \theta $)의 가능성을 나타내는 분포로 업데이트된다. 이를 통해 추정된 모수에 대한 확률 분포를 얻을 수 있다.

'기초 지식' 카테고리의 다른 글

WGAN-GP  (0) 2023.07.16