반응형
1. 앙상블 학습
앙상블 학습을 통한 분류는 여러 개의 분류기(Classifier)를 생성하고 그 예측을 결합함으로써 보다 정확한 최종 예측을 도출하는 기법이다.
앙상블 학습의 목표는 다양한 분류기의 예측 결과를 결합함으로써 단일 분류기보다 신뢰성이 높은 예측값을 얻는 것이다.
앙상블의 특징을 살펴보면 아래와 같다.
- 단일 모델의 약점을 다수의 모델들을 결합하여 보완
- 뛰어난 성능을 갖진 모델들로만 구성하는 것보다 성능이 떨어지더라도 서로 다른 유형의 모델을 섞는 것이 오히려 전체 성능에 도움이 될 수 있다.
- 랜덤 포레스트 및 뛰어난 부스팅 알고리즘들은 모두 결정 트리 알고리즘을 기반 알고리즘으로 적용함
- 결정 트리의 단점인 과적합(오버피팅)을 수십~수천개의 많은 분류기를 결합해 보완하고 장점인 직관적인 분류 기준은 강화됨
2.앙상블의 유형
앙상블의 유형은 일반적으로는 보팅(Voting), 배깅(Bagging), 부스팅(Boosting), 스태깅(Stacking)등의 기법이 존재한다.
각각의 기법들을 간단히 살펴보면 다음과 같다.
- 보팅(Voting)
- 여러개의 분류기를 결합하여 각 분류기의 예측 결과를 투표방식으로 결합한다. 보통 하드보팅과 소프트보팅 2가지로 나누어진다.
- 하드 보팅(Hard Voting) : 각 분류기의 예측 결과 중 다수결로 최종 예측을 결정
- 소프트 보팅(Soft Voting) : 각 분류기가 예측한 클래스 확률의 평균을 구하고, 가장 높은 확률을 가진 클래스를 최종 예측으로 결정 - 배깅(Bagging)
- 원래 데이터셋에서 여러 번 샘플링(복원 추출)하여 각각 다른 데이터셋을 만들고, 각 데이터셋으로 모델을 학습시킨다.
최종 예측은 모든 모델의 예측을 평균하거나 다수결로 결합하여 결정한다. 배깅은 모델의 분산을 줄이고 과적합을 방지하는 데 효과적이다.
- 대표적인 기법으로는 랜덤 포레스트(Random Forest) 알고리즘이 있다. 랜덤 포레스트 알고리즘은 다수의 결정 트리를 배깅 방식으로 결합한 모델로, 각 트리는 서로 다른 샘플링된 데이터셋과 무작위 특성 선택을 통해 학습한다. - 부스팅(Boosting)
- 모델을 순차적으로 학습시키되, 이전 모델이 예측한 오류를 보완하도록 다음 모델을 학습시킨다. 각 모델의 예측을 가중합하여 최종 예측을 만든다. 부스팅은 모델의 편향을 줄이는 데 효과적이다.
- 대표적인 기법은 에이다 부스트(AdaBoost), 그래디언트 부스팅(Gradient Boosting)이 있다. 에이다부스트는 각 모델의 가중치를 조정하여 오차를 줄이는 방식으로 모델을 순차적을로 학습시킨다. 그래디언트 부스팅은 손실 함수를 최소화하는 방향으로 모델을 순차적으로 추가한다. XGBoost, LightGBM, CatBoost 등이 유명한 구현체이다.
- 정형 데이트의 분류나 회귀에서는 GBM 부스팅(Gradient Boosting) 계열의 앙상불이 전반적으로는 높은 예측 성능을 나타낸다. - 스태깅(Stacking)
- 여러 개의 다른 모델(기저 모델, base models)을 학습시킨 후, 이 모델들의 예측 결과를 새로운 데이터셋으로 사용하여 최종 모델(메타 모델, meta model)을 학습시킨다. 스태깅은 모델의 다형성을 활용하여 예측 성능을 높이게 된다.
반응형
'ML > 분류(Classification)' 카테고리의 다른 글
앙상블 학습 - 부스팅 알고리즘이란? (0) | 2024.06.17 |
---|---|
앙상블 학습 - 보팅 & 배깅 (0) | 2024.05.29 |
사용자 행동 인식(Human Activity Recognition) 데이터 세트를 활용한 결정트리 실습 (0) | 2024.05.22 |
결정트리의 과적합(Overfitting) (0) | 2024.05.07 |
특성 중요도(feature_importances_) (0) | 2024.04.22 |