앙상블 (Ensemble) 이란?
- 여러 가지 우수한 학습 모델을 조합해 예측력을 향상시키는 모델
- 장점 : 단일 모델에 비해서 분류 성능 우수
- 단점 : 모델 결과의 해석이 어렵고, 예측 시간이 많이 소요됨
- 앙상블 알고리즘 : 배깅(Bagging), 부스팅(Boosting)
- 부스팅(Boosting)은 맞추기 어려운 문제를 맞추는데 초점을 둠
분류 | 배깅 (Bagging) | 부스팅 (Boosting) |
공통점 | 전체 데이터 집합으로부터 복원 랜덤 샘플링(bootstrap)으로 훈련 집합 생성 | |
차이점 |
병렬학습 : 각 모델의 결과를 조합하여 투표 결정 |
순차학습 : 현재모델 가중치 -> 다음 모델에 전달 |
특징 | 균일한 확률분포에 의해 훈련 집합 생성 | 분류하기 어려운 훈련 집합 생성 |
강점 | 과대적합에 강함 | 높은 정확도 |
약점 | 특정 영역에서 정확도 낮음 | Outlier(이상치, 결측치)에 취약 |
1) 부트스트랩 (Bootstrap) 이란?
- 원래의 데이터 셋으로부터 관측치를 반복적으로 추출(복원 반복 추출)하여 데이터 셋을 얻는 방법
- 데이터 양을 임의적으로 늘리고, 데이터 셋의 분포가 고르지 않을 때 고르게 만드는 효과가 있다.
2) 배깅 (Bagging) 알고리즘
- Bootstrap Aggregating 의 줄임말 => Bagging
- 부트스트랩을 통해서 조금씩 서로 다른 훈련 데이터를 생성하여 모델(훈련된 트리)을 생성하고, 결과를 결합(aggregating)시키는 방법
- 각 샘플의 결과변수(예측치)를 결합하는 방법은 결과변수가 연속형이면 평균(average), 범주형이면 다중 투표(majority vote) 사용
3) 부스팅(Boosting) 알고리즘
- 잘못 분류된 객체들에 집중하여 새로운 분류규칙을 생성하는 단계를 반복하는 알고리즘 (순차적 학습)
- 약한 예측모형들을 결합하여 강한 예측모형을 도출
- 오분류된 개체는 높은 가중치, 정분류된 개체는 낮은 가중치 적용 => 예측모형의 정확도 향상
'Python 과 머신러닝 > III. 머신러닝 모델' 카테고리의 다른 글
[Python 머신러닝] 7장. 앙상블 (Ensemble) - (3) XGBoost (0) | 2019.10.28 |
---|---|
[Python 머신러닝] 7장. 앙상블 (Ensemble) - (2) RandomForest (0) | 2019.10.25 |
[Python 머신러닝] 6장. 분류 (Classification) (w/ scikit-learn) (0) | 2019.10.25 |
[Python 머신러닝] 5장. 회귀분석 - (2) 로지스틱 회귀분석 (0) | 2019.10.24 |
[Python 머신러닝] 5장. 회귀분석 - (1) 선형 회귀분석 (1) | 2019.10.23 |
댓글