본문 바로가기
Python 과 머신러닝/III. 머신러닝 모델

[Python 머신러닝] 7장. 앙상블 (Ensemble) - (1) 앙상블의 개념

by JoyfulS 2019. 10. 25.

앙상블 (Ensemble) 이란?

- 여러 가지 우수한 학습 모델을 조합해 예측력을 향상시키는 모델

- 장점 : 단일 모델에 비해서 분류 성능 우수

- 단점 : 모델 결과의 해석이 어렵고, 예측 시간이 많이 소요됨

- 앙상블 알고리즘 : 배깅(Bagging), 부스팅(Boosting)

- 부스팅(Boosting)은 맞추기 어려운 문제를 맞추는데 초점을 둠

 

분류 배깅 (Bagging) 부스팅 (Boosting)
공통점 전체 데이터 집합으로부터 복원 랜덤 샘플링(bootstrap)으로 훈련 집합 생성
차이점

병렬학습

: 각 모델의 결과를 조합하여 투표 결정

순차학습

: 현재모델 가중치 -> 다음 모델에 전달

특징 균일한 확률분포에 의해 훈련 집합 생성 분류하기 어려운 훈련 집합 생성
강점 과대적합에 강함 높은 정확도
약점 특정 영역에서 정확도 낮음 Outlier(이상치, 결측치)에 취약

 

1) 부트스트랩 (Bootstrap) 이란?

- 원래의 데이터 셋으로부터 관측치를 반복적으로 추출(복원 반복 추출)하여 데이터 셋을 얻는 방법

- 데이터 양을 임의적으로 늘리고, 데이터 셋의 분포가 고르지 않을 때 고르게 만드는 효과가 있다.

 

2) 배깅 (Bagging) 알고리즘

- Bootstrap Aggregating 의 줄임말 => Bagging  

- 부트스트랩을 통해서 조금씩 서로 다른 훈련 데이터를 생성하여 모델(훈련된 트리)을 생성하고, 결과를 결합(aggregating)시키는 방법

- 각 샘플의 결과변수(예측치)를 결합하는 방법은 결과변수가 연속형이면 평균(average), 범주형이면 다중 투표(majority vote) 사용

 

3) 부스팅(Boosting) 알고리즘

- 잘못 분류된 객체들에 집중하여 새로운 분류규칙을 생성하는 단계를 반복하는 알고리즘 (순차적 학습)

- 약한 예측모형들을 결합하여 강한 예측모형을 도출

- 오분류된 개체는 높은 가중치, 정분류된 개체는 낮은 가중치 적용 => 예측모형의 정확도 향상

 

 

 

댓글