
소프트 보팅 (Soft Voting)
54번 다수결 (Hard Voting) 은 각 분류기의 하드 레이블 을 집계. 소프트 보팅 은 분류기가 내놓는 확률 분포를 평균 낸 뒤 argmax:
pˉi,c=M1∑m=1Mpi,c(m),y^i=argmaxcpˉi,c
왜 soft가 대개 더 좋은가
- 확신도를 버리지 않음. 한 분류기가 "0.9 for A vs 0.1 for B"인데 다른 건 "0.49 B vs 0.51 A"면, hard는 1:1이지만 soft는 A 쪽으로 정확히 기울어짐.
- 단, 분류기 출력이 보정(calibrated) 되어 있어야 의미 있음. 로지스틱 회귀/신경망은 대체로 OK, SVM은 Platt scaling 필요.
가중 소프트 보팅 (선택)
pˉi,c=∑mwm∑mwmpi,c(m)
과제
함수 soft_vote(probs, weights=None) 를 완성하세요.
probs shape (M, N, C) — M개 분류기, N개 샘플, C개 클래스 확률.
weights shape (M,) 또는 None (균등).
- 반환:
(N,) 정수 argmax 레이블.
- 루프 없이 브로드캐스팅.
테스트 케이스
| # | 이름 | 검증 |
|---|
| 1 | shape | (N,) |
| 2 | 모두 동일 분포 → argmax | |
| 3 | 약한 확신 vs 강한 확신 | 강한 쪽 승 |
| 4 | 가중치 편향 → 편향 모델 쪽 따라감 | |
| 5 | hard 대비 더 나은 케이스 | 손계산 |