Search
Duplicate

수학/ Bayesian Model Selection, Conditional Marginal Likelihood

모든 모델을 틀렸다. 그러나 어떤 것은 유용하다. —George Box

Bayesian Model Selection

서로 다른 모델의 집합 M\mathcal{M}이 있을 때, 최고의 모델을 고르는 자연스러운 방법은 베이즈룰을 따라 가장 가능성이 있는 모델을 고르는 것이다.
m^=arg maxmMp(mD)\hat{m} = \argmax_{m \in \mathcal{M}} p(m|\mathcal{D})
여기서
p(mD)=p(Dm)p(m)mMp(Dm)p(m)(3.278)p(m|\mathcal{D}) = {p(\mathcal{D}|m)p(m) \over \sum_{m\in\mathcal{M}} p(\mathcal{D}|m)p(m)} \tag{3.278}
이것은 모델들에 대한 posterior이다. 이것을 Bayesian model selection이라고 한다.
만일 모델들에 대한 prior가 균등이면 p(m)=1/Mp(m) = 1/|\mathcal{M}|이면 MAP 모델은 다음처럼 주어진다.
m^=arg maxmMp(Dm)\hat{m} = \argmax_{m\in\mathcal{M}} p(\mathcal{D}|m)
p(Dm)p(\mathcal{D}|m)은 다음처럼 주어진다.
p(Dm)=p(Dθ,m)p(θm)dθp(\mathcal{D}|m) = \int p(\mathcal{D}|\boldsymbol{\theta},m)p(\boldsymbol{\theta}|m)d\boldsymbol{\theta}
이것은 모델 mm에 대한 marginal likelihood 또는 evidence라고 한다. 모델이 관찰된 데이터에 높은 prior 예측 밀도로 할당되면, 그것을 좋은 모델이라고 여긴다.
그러나 모델이 너무 유연하면 어떤 prior 설정은 데이터에 매치되지 않을 수 있다. 이 확률 질량이 ‘낭비되어’ expected likelihood를 낮춘다. 이 암시적 규제 효과를 Bayesian Ocaam’s razor라고 부른다.

Bayes model averaging

단일 모델을 사용해서 예측하는 것보다 모든 모델의 평균을 내는 것이 더 낫다. 즉, 다음을 사용하여 posterior predictive distribution을 계산한다.
p(yD)=mMp(ym)p(mD)p(y|\mathcal{D}) = \sum_{m\in\mathcal{M}}p(y|m)p(m|\mathcal{D})
이것을 베이즈 모델 평균이라고 부른다. 이것은 예측기의 가중 조합을 취하는 앙상블의 기계학습과 유사하지만 앙상블은 가중치가 합해서 1이 될 필요가 없기 때문에 같지는 않다.
특히 BMA에서 mm^*이라 부르는 단일 최고 모델이 있다면 큰 샘플 한계에서 p(mD)p(m|\mathcal{D})는 모든 가중치가 mm^*에 집중되는 degenerate 분포가 되고 M\mathcal{M}의 나머지 멤버는 무시된다. 앙상블에서는 이런 일이 나타나지 않는다.
베이지안 모델 선택이나 평균화를 수행하려면 evidence라 부르는 marginal likelihood를 계산할 수 있어야 한다. 해석적으로 계산하는 것을 포함하여 이것을 위해 다음과 같은 방법들이 가능하다. (상세 내용 생략)
Harmonic Mean Estimator
Monte Carlo Method
Variational Bayes

Conditional Marginal Likelihood

marginal likelihood는 서로 다른 고정 prior 사이의 가설 검증에 적합할 수 잇지만 그들의 posterior에 기반한 모델 선택에는 유용하지 않다.
후자의 경우 ‘posterior가 데이터 분포로부터 보류된 점을 생성할 수 있는 확률은 얼마인가’라는 질문에 더 관심있다. 이것은 (fitted) 모델의 일반화 성능과 관계가 있다. 실제로 marginal likelihood는 때때로 일반화 성능과 음의 상관관계를 갖는다.
더 나은 접근은 다음처럼 정의되는 conditional log marginal likelihood를 사용하는 것이다.
CLML(m)=n=KNlogp(DnD1:n1,m)\text{CLML}(m) = \sum_{n=K}^N \log p(\mathcal{D}_n|\mathcal{D}_{1:n-1},m)
여기서 K{1,...,N}K \in \{1,...,N\}는 알고리즘의 파라미터이다. 이것은 첫 KK개 데이터 포인트에 의해 주어진 posterior 아래 마지막 NKN-K개 데이터 포인트의 LML을 평가한다.
순서에 대해 평균화 해서 데이터 포인트의 순서에 의존성을 줄일 수 있다. K=N1K=N-1를 설정하고 모든 순서를 평균화하면 LOO 추정을 얻을 수 있다.
CLML은 LML 보다 일반화 성능을 더 잘 예측할 수 있고 prior 하이퍼파라미터에 덜 민감하다.
게다가 posterior p(θD<n)p(\boldsymbol{\theta}|\mathcal{D}_{<n})에서 샘플링하는 적분의 몬테 카를로 추정을 직접적으로 사용할 수 있기 때문에 계산하기 쉽다. 이것은 prior에서 샘플링한 harmonic 평균 추정기와 같은 문제에 시달리지 않는다.

참고