앙상블(Ensemble)이란?
: 프랑스어로 ‘함께’. ‘동시에’ 라는 의미. ex. 앙상블 연주
앙상블 학습: 여러 개의 모델을 결합해서 더 좋은 성능을 내는 기법
⇒ 궁극적으로 더 좋은 예측을 하기 위함임.
ex. 결정 트리의 앙상블: 랜덤 포레스트
7.1 투표 기반 분류기

- 직접 투표(Hard Voting)
- 여러 개의 분류기의 예측을 집계해서 다수결에 의해 결과 분류
- 다수결 투표 분류기가 앙상블에 포함된 개별 분류기 중 가장 뛰어난 것보다 정확도 높은 경우 多
- 각 분류기가 약한 학습기일지라도 충분히 많고 다양하다면 앙상블은 강한 학습기가 될 수 있음.
- why? → 큰 수의 법칙(동전을 더 많이 던질수록 확률에 수렴) & 콘도르세 배심원 정리와 이항분포
- 간접 투표(Soft Voting)
- 모든 분류기가 클래스의 확률을 예측할 수 있을 때, 개별 분류기의 예측을 평균 내어 확률이 가장 높은 클래스 예측
- 확률이 높은 투표에 비중을 더 둠.
⇒ 직접 투표 방식보다 성능 높음.

*참고
<aside>
<콘도르세 배심원 정리와 이항 분포의 원리>
- 개별 정확도가 50%를 조금만 넘어도, 독립적인 다수결 투표를 통해 집단이 정답을 맞힐 확률은 높아짐.
| 정답 배심원 수(k) | 각 경우의 조합
(O: 정답, X: 오답) | 확률 계산
(개별 정확도 60% 가정) | 누적 확률
(%) |
| --- | --- | --- | --- |
| 2 | OOX | 0.6 * 0.6 * 0.4 = 0.144 | |
| 2 | OXO | 0.6 * 0.4 * 0.6 = 0.144 | |
| 2 | XOO | 0.4 * 0.6 * 0.6 = 0.144 | |
| 3 | OOO | 0.6 * 0.6 * 0.6 = 0.216 | |
| 총합 | | 0.648 | 64.8% |
</aside>
[예시] 사이킷런
- moons 데이터셋 로드 후 훈련 세트와 테스트 세트로 분할
- 세 가지 분류기로 구성된 투표 기반 분류기 생성
- 각 분류기 성능 0.864, 0.896, 0.896
- 각 분류기 예측 [1], [1], [0] ⇒ 투표 기반 분류기는 다수결에 의해 [1] 예측
- 투표 기반 분류기 성능 0.912 ⇒ 개별 분류기보다 성능 높음.


