앙상블 학습이란?
앙상블 학습이란 여러 개의 Classification을 생성하고 그 예측을 여러 방법으로 결합함으로써 보다 정확한 최종 예측을 도출하는 기법을 말합니다. 앙상블 학습의 목표는 다양한 분류기의 예측 결과를 결합함으로써 단일 분류기보다 신뢰성이 높은 예측값을 얻는 것입니다.
앙상블 학습의 종류
1. 배깅(Bagging)
- 각각의 분류기가 모두 같은 유형의 알고리즘 기반이지만, 데이터 샘플링을
다르게 가져가면서 학습을 수행해 보팅을 수행하는 것입니다.
- 개별 분류기에 할당된 학습 데이터는 원본 학습 데이터를 샘플링해 추출하는데, 이렇게
개별 분류기에게 데이터를 샘플링해서 추출하는 방식을 부트스트래핑(Bootstrapping)
분할 방식이라고 합니다.
- 교차 검증과 다르게 데이터 세트 간의 중첩을 허용합니다.
- 대표적으로 RandomForest가 있습니다.
2. 보팅(Voting)
- 서로 다른 알고리즘을 가진 분류기를 결합하는 것입니다.
- 여러 ML 알고리즘이 같은 데이터 세트에 대해 학습하고 예측한 결과를 가지고 보팅을
통해 최종 예측 결과를선정하는 방식입니다.
1) 하드 보팅 - 예측한 결괏값들 중 다수의 분류기가 결정한 예측값을 최종 보팅 결괏값으로
선정하는 방법입니다.
2) 소프트 보팅 - 분류기들의 레이블 값 결정 확률을 모두 더하고 이를 평균해서 이들 중
확률이 가장 높은 레이블 값을 최종 보팅 결괏값으로 선정합니다. 일반적
으로 소프트 보팅이 보팅 방법으로 적용됩니다.
3. 부스팅(Boosting)
- 부스팅의 여러 개의 분류기가 순차적으로 학습을 수행하되, 앞에서 학습한 분류기가
예측이 틀린 데이터에 대해서는 올바르게 예측할 수 있도록 다음 분류기에게
가중치(weight)를 부여하면서 학습과 예측을 진행하는 것입니다.
- 부스팅의 대표적인 구현인 AdaBoost(Adaptive Boosting)은 오류 데이터에 가중치를
부여하고, Gradiednt Boosting은 가중치 업데이트를 경사 하강법(Gradiendt Descent)
을 이용하는 것이 큰 차이입니다.
- 대표적으로 GBM(Gradient Boosting Machine), XGBoost, LightGBM이 있습니다.
경사하강법에 대해서는 회귀 부분에서 자세히 알아보겠습니다.
내 생각
분류에 있어서 여러가지 방법이 있다는 것을 알게되었는데, 경우에 따라서 어떤 모델이 성능이
좋게 나오는지 빨리 느껴보고 싶었다.
'AI_basic > ML' 카테고리의 다른 글
[ML] 지도학습/분류 GBM(Gradient Boosting Machine) (0) | 2021.07.23 |
---|---|
[ML] 지도학습/분류 랜덤 포레스트(RandomForest) (0) | 2021.07.23 |
[ML] 데이터 전처리 - 원-핫 인코딩(pd.get_dummies) (0) | 2021.07.21 |
[ML] GridSearchCV - 교차 검증과 최적 하이퍼 파라미터 튜닝을 같이 (0) | 2021.07.21 |
[ML] 지도학습/분류 결정트리 Decision Tree (0) | 2021.07.13 |