1. 알고리즘 중심의 머신러닝 가이드
13장 위원회의 결정: 앙상블 학
습
아꿈사 스터디
정민철(ccc612@gmail.com)
2. 앙상블 학습
• 하나의 만능 알고리즘은 없다
• 서로 다른 여러개의 모델 혹은 학습자를 합성해 데이터에
대해 다른 결과 도출
• 여러 학습모델의 결과를 종합해 결정 => 결과가 비교적 좋
음
3. 배깅 (bagging)
• 배깅: bootstrap aggregating
• bootstrap: 교차검증 샘플링 기법
• 집합 X에서 N개의 샘플을 임의로 뽑는다.
• 한번에 하나씩 뽑으며 뽑은 샘플은 다시 집어넣는다(중
복허용)
• 이런 샘플링 작업을 독립적으로 T번 수행하여 샘플 집합
을 T개 만든다.
• 이들을 이용해 검증을 수행하고 평균값을 최종 성능으로
취한다.
4. 배깅 (bagging)
• 배깅은 bootstrap기법을 다중 분류기 생성 기법으로 확장한
것
• 다른 트레이닝 데이터 선정에 사용
• 분산을 줄이는 것이 목적
• 최종 결과는 다수결에 의해 종합
• 원본 데이터와 같은 양의 샘플을 뽑는다.
• 장점: 단순하지만 뛰어난 성능 제공,
• 단점: 전략적인 샘플링을 하는 부스팅에 비해 성능이 떨어
짐
5. 부스팅(boosting)
• 정교한 재 샘플링 연산 사용해 트레이닝 데이터 생성
• 중복 샘플링 허용하지 않음
• 앞에서 생성된 학습자의 성능이 뒤에서 생성될 모델의 데이
터에 영향을 줌
• AdaBoost 알고리즘이 가장 널리 쓰임
• 결과는 각 학습자의 결과에 식별 성능을 가중치로 곱한 합
을 사용
6. 에이다부스트
(AdaBoost, Adaptive boosting)
• 각기 다른 데이터에 강점을 가지는 학습자를 여러개 구축
• 이전 학습자의 에러에 따라 데이터에 부여되는 가중치
조정
• 잘 맞추면 => 가중치 하락, 못맞추면 => 가중치 상승
• 다음 학습자는 이전 학습자가 못맞춘 데이터를 더 많이
접하게 됨
9. 랜덤 포레스트
(random forest)
• 랜덤하게 트레이닝 된 결정 트리를 여러개 만들어 숲을 만
든다.
• 여러개의 트리 생성 방법
• 트레이닝 데이터 선택: 부트스트랩
• 각 트리가 랜덤하게 선택된 입력값의 일부만 사용
10. 랜덤 포레스트
(random forest)
• 의사결정 방법: 다수결
• 장점
• 트레이닝/모델 속도가 빠름 (계산 비용이 효율적이고 병
렬화가 쉬움)
• 부트스트랩 사용으로 추가적인 검증 데이터가 필요없음
• 크고 복잡한 데이터에서도 성능이 우수함
11. 다른 앙상블 알고리즘
• 투표 방법
• 편중된 투표
• 다수결 투표 (다수결, 만장일치, 반 이상 찬성 등)
• 중앙값 사용 (브래깅 알고리즘)
• 전체 앙상블이 정답을 맞출 확률: 이항분포
• 혼합 전문가 알고리즘 (mixture of experts)
• 각 분류기가 예측한 값이 상관관계 게이트를 통해 가중치가
부여되어 합쳐짐
• 상관관계 게이트: 트리, 네트워크 형태로 구성 가능