Bayes Rule

Summary

Bayes Rule은 새로운 증거를 보고 믿음을 업데이트하는 규칙이다.
처음 믿음(prior)에, 관측된 데이터가 얼마나 그럴듯한지(Likelihood)를 곱하고, 전체 경우로 나누어 정규화하면 새 믿음(posterior)이 된다.

핵심 insight

Bayes Rule의 핵심은 **“결과를 봤을 때 원인을 거꾸로 추론하는 법”**이다.

  • 보통 조건부 확률은 원인에서 결과로 간다:
  • Bayes Rule은 결과에서 원인으로 돌아간다:

그래서 Bayes Rule은 단순한 확률 공식이 아니라, 관측을 통해 belief를 업데이트하는 엔진으로 해석할 수 있다.

공식

  • : hypothesis. 내가 믿고 싶은 가설.
  • : data. 새로 본 증거.
  • : prior. 데이터를 보기 전 믿음.
  • : likelihood. 그 가설이 맞다면 이 데이터가 얼마나 그럴듯한가.
  • : evidence 또는 marginal likelihood. 이 데이터가 전체적으로 얼마나 자주 나오는가.
  • : posterior. 데이터를 본 뒤의 새 믿음.

짧게 쓰면:

조건부 확률과 partition 관점

Bayes Rule은 조건부 확률 정의에서 바로 나온다.

그리고 joint probability는 이렇게도 쓸 수 있다.

따라서:

문제는 아래쪽 다. 이 값은 “데이터 가 전체 경우에서 얼마나 나오는가”를 뜻한다. 가능한 가설들이 처럼 세상을 빠짐없이 나누는 partition이라면:

Important

Partition 관점에서 는 모든 가능한 원인이 이 데이터를 만들 수 있는 총량이다.
그래서 Bayes Rule의 분모는 단순한 나눗셈이 아니라, posterior들이 합쳐서 1이 되게 만드는 정규화 상수다.

즉, Bayes Rule은 각 가설에 대해 점수를 만든 뒤:

전체 점수 합으로 나누는 과정이다.

이 관점은 Bayes Classifier에서 그대로 쓰인다. 각 class를 하나의 partition으로 보고, 가 큰 class를 고른다.

예시

어떤 병이 있는 사람은 전체의 1%라고 하자.

  • 병 있음:
  • 병 없음:
  • 병이 있으면 검사 양성:
  • 병이 없어도 검사 양성:

검사 결과가 양성일 때 정말 병이 있을 확률은?

양성인데도 실제 병일 확률은 약 16.7%다. 이유는 병 자체가 매우 드물기 때문이다. 이 예시는 Bayes Rule에서 prior가 얼마나 중요한지 보여준다.

Belief update 관점

Bayes Rule을 belief update로 보면 훨씬 직관적이다.

  1. 처음 믿음이 있다:
  2. 새 데이터를 본다:
  3. 각 가설이 그 데이터를 얼마나 잘 설명하는지 본다:
  4. 믿음을 다시 나눈다:

즉:

여기서 는 “비례한다”는 뜻이다. 마지막에는 전체 합이 1이 되도록 정규화한다.

이 해석은 Partially Observable Markov Decision Process(POMDP)의 belief state update와 연결된다. 에이전트는 진짜 상태를 직접 보지 못하므로, 관측이 들어올 때마다 “현재 상태가 무엇일 확률”을 Bayes Rule로 갱신한다.

VAE에서의 해석

Auto-Encoding Variational Bayes나 VAE에서는 관측 데이터 가 있고, 그 뒤에 숨어 있는 latent variable 를 추론하고 싶다.

Bayes Rule로 쓰면:

  • : prior. latent가 원래 어떻게 생겼을 거라고 믿는가.
  • : likelihood. latent 가 주어졌을 때 데이터 를 얼마나 잘 만들 수 있는가.
  • : evidence. 가능한 모든 latent가 를 만들 가능성의 총합.
  • : posterior. 를 보고 나서 가 무엇일지에 대한 belief.

VAE의 핵심 어려움은 다.

가능한 모든 를 다 고려해야 해서 직접 계산하기 어렵다. 그래서 VAE는 진짜 posterior 를 바로 계산하지 않고, encoder가 만드는 근사 posterior 로 대신한다.

Important

VAE를 Bayes Rule 관점에서 보면, encoder는 “데이터 를 보고 latent 에 대한 belief를 업데이트하는 함수”이고, decoder는 “latent 가 주어졌을 때 데이터 가 얼마나 그럴듯한지”를 주는 likelihood model이다.

헷갈리기 쉬운 점

  • 와 는 다르다. “병이면 양성일 확률”과 “양성이면 병일 확률”은 같은 말이 아니다.
  • likelihood는 parameter나 hypothesis를 확률변수처럼 보는 값이 아니다. 고정된 데이터를 놓고, 어떤 가설이 데이터를 더 잘 설명하는지 비교하는 점수에 가깝다.
  • 분모 는 계산을 귀찮게 만드는 항이지만, posterior를 확률분포로 만들기 위해 꼭 필요하다.
  • MAP 추정은 posterior를 최대로 만드는 가설을 고른다. MLE는 prior를 빼고 likelihood만 최대로 만든다. 관련: Maximum Likelihood Estimation, Likelihood

관련 노트