← 문제 목록/Product of Experts (기하 평균 앙상블)
문제 해설

Product of Experts (기하 평균 앙상블)

앙상블 · easy

preview

Product of Experts (기하 평균 앙상블)

55번 Soft Voting 은 확률의 산술 평균 으로 앙상블. Product of Experts (PoE)기하 평균:

pˉc(m=1Mpm,c)1/M\bar{p}_c \propto \left( \prod_{m=1}^{M} p_{m, c} \right)^{1/M}

정규화 (cpˉc=1\sum_c \bar{p}_c = 1) 후 argmax.

산술 평균 vs 기하 평균

  • Arithmetic (soft vote): 한 분류기가 아주 낮은 확률 줘도, 다른 분류기가 높으면 평균은 살아남음 → OR 같은 합의.
  • Geometric (PoE): 하나라도 0에 가깝게 두면 전체 0 → AND 같은 합의. 한 분류기의 veto 가 강하게 반영.

→ PoE 는 "모든 전문가가 동의해야" 높은 점수. 에너지 기반 모델(EBM), 언어 모델 앙상블에서 자주 쓰임.

로그 공간 구현 팁

언더플로우 방지: 로그 공간에서 평균 후 softmax-v1.

logpˉc=1Mmlogpm,clogsumexpc()\log \bar{p}_c = \frac{1}{M} \sum_m \log p_{m, c} - \text{logsumexp}_c(\cdot)

과제

함수 poe_vote(probs) 를 완성하세요.

  • probs shape (M, N, C), 각 엔트리 (0,1]\in (0, 1].
  • 반환: (N,) 정수 argmax.
  • 힌트: log(probs).mean(axis=0)argmax(axis=1). (argmax는 정규화 불필요)

테스트 케이스

#이름검증
1shape(N,)
2M=1 → argmax
3한 전문가 veto → PoE ≠ softAND 성질
4모두 동일 분포 → 그대로
5손계산 일치toy 예제
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.