앙상블 학습을 통한 분류는 여러 개의 분류기를 생성하고 그 예측을 결합함으로써 보다 정확한 최종 예측을 도출하는 기법을 말한다. 단일 분류기보다 신뢰성이 높은 예측값을 얻는 것이 목표다.
비정형 데이터의 분류는 딥러닝이 뛰어난 성능을 보이지만, 대부분의 정형 데이터에는 앙상블이 뛰어난 분류성능을 나타내고 있다.
쉽고 편하면서도 강력한 성능을 보유하고 있는 것이 바로 앙상블 학습의 특징이다.
앙상블 학습의 유형은 전통적으로 보팅, 배깅, 부스팅, 스태킹 으로 나눌 수 있다.
먼저, 보팅과 배깅은 여러 개의 분류기가 투표를 통해 최종 예측 결과를 결정하는 방식이다. 둘의 차이점은 보팅의 경우 일반적으로 서로 다른 알고리즘을 가진 분류기를 결합하는 것이고 배깅의 경우는 각각의 분류기가 모두 같은 유형의 알고리즘 기반이지만, 데이터 샘플링을 다르게 가져가면서 학습을 수행해 보팅을 수행하는 것이다.
대표적인 배깅 방식이 랜덤 포레스트 알고리즘이다.
배깅 방식으로 샘플링을 추출하는 것을 부트스트래핑 분할 방식이라고 부른다.
교차검증과 부트스트래핑의 샘플링 차이는 교차 검증은 데이터 세트간에 중첩을 허용하지 않는 것과 다르게 배깅 방식은 중첩을 허용한다는 것이다.
부스팅 방식은 여러 개의 분류기가 순차적으로 학습을 수행하면서 앞에서 학습한 분류기의 예측 오차가 있는 데이터에 대해서는 다음 분류기에서 가중치를 부여해가면서 학습과 예측을 진행하는 것이다.
부스팅은 예측 성능이 뛰어나 앙상블 학습을 주도하고 있고 대표적인 모듈로 그래디언트 부스팅(GBM), XGBoost, LightGBM이 있다.
스태킹은 여러 가지 다른 모델의 예측 결과값을 다시 학습 데이터로 만들어서 다른 모델로 재학습시켜 결과를 예측하는 방법이다.