← 문제 목록/Soft Voting (확률 가중 앙상블) [medium]
문제 해설

Soft Voting (확률 가중 앙상블) [medium]

앙상블 · medium

preview

Soft Voting [medium]

v1 hard voting 은 각 분류기의 최종 레이블 만 사용 → 정보 손실. Soft voting예측 확률 을 평균해서 argmax → 확신도 반영:

y^i=argmaxk1mwmm=1MwmPm(y=kxi)\hat{y}_i = \arg\max_k \frac{1}{\sum_m w_m} \sum_{m=1}^{M} w_m \cdot P_m(y = k | x_i)

Hard vs Soft

방법입력동점 처리정보 활용
Hard레이블 (M, N)bincount tie → 최소값일부만
Soft확률 (M, N, K)연속 평균, tie 거의 없음전체 분포

가중치 wmw_m

신뢰 있는 분류기에 더 큰 가중. 예:

  • Cross-validation accuracy
  • AdaBoost 의 α\alpha
  • 수동 신뢰도

weights=None 이면 균등 가중 (단순 평균).

왜 Soft 가 보통 더 나은가

  • 한 분류기가 (0.51,0.49)(0.51, 0.49) 출력 (확신 없음) + 다른 두 개가 (0.1,0.9),(0.2,0.8)(0.1, 0.9), (0.2, 0.8) (확신)
  • Hard voting: 첫 번째 → 0, 나머지 → 1 → 평균 1 (2 대 1)
  • Soft voting: 평균 (0.27,0.73)(0.27, 0.73) → 1 (확신 반영 일치)

과제

함수 soft_vote(probs, weights=None) 를 완성하세요.

  • probs shape (M, N, K): 각 분류기·샘플·클래스별 확률.
  • weights shape (M,) 또는 None (균등).
  • 반환: shape (N,) 정수 레이블 (argmax).
  • 힌트: np.average(probs, axis=0, weights=weights)argmax(axis=1).

테스트 케이스

#이름검증
1shape (N,)
2weights=None → 단순 평균
3만장일치 확률 → 그 클래스
4한 분류기에 과도 가중 → 그 예측 지배
5Soft ≠ Hard in specific case확신도 차이 반영
6확률 합 보존 (평균도 1)
7weights 정규화 자유도 (scale 무관)
코드 작성
Loading...
실행 결과

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