# 앙상블 학습
- 머신러닝의 집단지능. 여러 분류기의 예측을 모아서 하나의 예측을 함
- 모든 분류기가 완벽하게 독립적일 때 최고의 성능을 발휘 -> 각각 다른 알고리즘으로 학습시키는 것이 좋음
- 같은 종류의 분류기가 같은 데이터로 학습하면 같은 종류의 오차를 만들기 쉽다.
# 직접투표, 간접투표
직접 투표 분류기: 각 분류기의 예측을 모아서 가장 많이 선택된 클래스를 예측. (voting = 'hard')
간접 투표 분류기: 모든 분류기가 predict_proba() 메서드와 같이 클래스의 확률을 예측할 수 있는 경우 개별 분류기의 예측 확률을 평균하여 가장 높은 확률의 클래스를 예측. (voting = 'soft')
# 배깅과 페이스팅
분류기를 같은 알고리즘을 사용하는 경우, 훈련 세트에서 서브셋을 무작위로 구성하여 분류기를 각각 다르게 학습시킬 수 있다.
배깅(bootstrap aggregating): 훈련세트에서 중복을 허용하여 서브셋 샘플링
페이스팅(pasting): 중복을 허용하지 않고 서브셋을 샘플링
* 통계학에서 중복을 허용한 리샘플링(resampling) 을 bootstraping 이라고 함
예측 수집 함수: 분류 작업일 경우 통계적 최빈값(가장 많이 나온 클래스 예측), 회귀 작업일 경우 평균을 계산하여 예측 수집
원본 데이터셋으로 하나의 예측기를 훈련시킬 때와 비교하면 앙상블 결과는 편향이 비슷하고 분산이 감소함
예측기는 동시에 다른 CPU 코어나 서버에서 병렬로 학습이 가능하고 예측도 가능하기 때문에 인기가 좋음.
배깅이 페이스팅보다 보통 편향이 조금 더 높고 분산이 감소됨
# OOb 평가
배깅에서 중복을 허용하여 훈련 데이터셋에서 샘플의 수 m 개 만큼 서브셋을 선택할 때 샘플로 선택되지 않을 확률은 $ 1 - e^{-1}$ 로 수렴
이때 선택되지 않은 샘플을 OOb(out - of -bag) 샘플이라고 함.
학습 과정에서 oob 샘플은 학습하지 않기 때문에 검증 세트나 교차 검증 대신 oob 샘플을 이용하여 앙상블 모델 평가가 가능 -> oob 평가
# 특성 샘플링
-훈련 데이터에서 샘플(feature)을 무작위로 선택 -> 이미지와 같은 매우 고차원의 데이터셋을 다룰 떄 유용
-더 다양한 예측기를 만들며 편향을 늘리고 분산은 낮춤
랜덤 패치 방식(random patches method): 훈련 특성과 훈련 샘플을 모두 샘플링
랜덤 서브스페이스 방식(random subspace method): 훈련 샘플을 모두 사용하고 특성은 샘플링
'Artificial Intelligence > Machine Learning' 카테고리의 다른 글
[Colab / Keras] Avocado Price 예측 모델 만들기 1 (1) | 2020.04.24 |
---|---|
[Keras Deep Learning] 신경망 Tutorial (0) | 2020.04.18 |
핸즈온 머신러닝(7) - 결정 트리 (1) | 2020.01.28 |
핸즈온 머신러닝(6) - 서포트 벡터 머신 2 (0) | 2020.01.27 |
핸즈온 머신러닝(6) - 서포트 벡터 머신 1 (1) | 2020.01.27 |
댓글