
v1 산술평균 soft-vote 는 arithmetic mean. 하나가 을 주고 나머지가 이면 산술평균은 → 여전히 "살짝 맞음". Geometric mean 은 한 분류기의 거부권 을 존중:
한 분류기라도 이면 전체 제곱근도 0 → 모두 동의할 때만 높음. "Product of experts" (Hinton 2002) 의 바탕.
| Arithmetic | Geometric | |
|---|---|---|
| 의견 충돌 시 | 부드러운 타협 | 보수적 (veto 효과) |
| 오버컨피던트 한 분류기 | 영향 중간 | 강한 영향 |
| 수치 안정 | simple mean | log 공간 필요 (underflow) |
로그 공간에서 계산 → 정규화:
log_p = log(clip(probs, ε, 1))
log_avg = log_p.mean(axis=0)
avg = exp(log_avg)
pred = argmax(avg, axis=1)
정규화는 argmax 불변이라 필수 아님 (비용 절감).
함수 geometric_vote(probs, epsilon=1e-12) 를 완성하세요.
probs shape (M, N, K), 확률 (합 1).epsilon: log(0) 방지용 클리핑.(N,) 예측 레이블.np.log → mean(axis=0) → argmax(axis=1).| # | 이름 | 검증 |
|---|---|---|
| 1 | shape (N,) | |
| 2 | 만장일치 → 그 클래스 | |
| 3 | Veto 효과: 한 분류기 → 그 클래스 선택 안 됨 | arithmetic 과 다름 |
| 4 | arithmetic mean 과의 결정 차이 케이스 | 설계 예제 |
| 5 | 0 확률 clip → NaN 없음 | |
| 6 | 1 분류기 case → argmax 와 동일 | |
| 7 | 레이블 ∈ [0, K) |
코드를 작성하고 Run 을 눌러보세요.