여러 개의 Weak Model을 조합/결합하여 최적의 모델을 만드는 것
특징
- 단일 모델의 약점을 다수의 모델들을 결합하여 보완
- 성능이 떨어지더라도 서로 다른 유형의 모델을 섞는 것이 오히려 전체 성능에 도움이 될 수 있음
- Decision Tree의 단점인 과적합(Overfitting)은 여러 모델을 결합하고 보완하여, 알고리즘 자체의 장점인
직관적인 분류를 강화할 수 있음
※ 과적합 : 모델이 훈련 데이터에는 너무 잘 맞지만, 새로운 데이터(테스트 데이터)에는 성능이 떨어지는 현상
앙상블에는 Base Ensemble, Meta Ensemble이 존재한다
Base Ensemble에는 Voting, Bagging, Boosting 이렇게 3가지가 존재한다
Base Ensemble
여러 개의 개별 모델들의 예측을 직접적으로 결합하여 최종 예측을 만들어내는 방식
Voting
여러 모델이 낸 예측 결과를 모아서 다수결(또는 평균)로 최종 예측을 결정
특징:
- 서로 다른 종류의 모델들을 사용해도 무방 (예: SVM + Decision Tree + Logistic Regression)
- 병렬 학습 가능
- 단순하지만 예측 성능이 꽤 괜찮음
방식:
- Hard Voting: 다수결. 분류 문제에서 많이 사용
- Soft Voting: 각 모델의 확률값 평균을 사용 → 더 정교함
근데 여기서 다수결?? 만약 클래스 A,B,C로 한표씩, 동률이라면 걍 index순으로 하든 랜덤으로 뽑든 한다고 한다
그리고 Soft Voting말고도 Weighted Voting이라고 존재하는 걸로 안다. 그리고 분류 문제가 아닌 회귀 문제에서는 그냥 Soft Voting을 쓰면 된다.
Bagging
- 단일 알고리즘의 여러 개 모델로 학습
- 각 모델에 할당된 학습 데이터는 여러 번 복원 추출하는 Random Sampling
- 오버피팅 위험이 낮음 (분산 감소)
- 대표 알고리즘 : randomForest
즉 결론은
원 데이터에서 샘플을 중복 허용하여 여러 데이터셋을 생성 → 각각의 모델을 학습시켜 결과를 평균/투표로 결정
Boosting
이전 모델에서 잘못 예측한 샘플에 대해 가중치를 높여주면서, 그 샘플에 더 집중하게 만드는 것
- 여러 개의 모델이 순차적으로 학습
- 예측이 틀린 데이터에 대해서는 가중치를 부여(Boosting)하여 학습
- 대체적으로 예측 성능이 뛰어나 Ensemble Modeling 주도
- AdaBoost, Gradient Boosting, XGBoost, LightGBM, CatBoost
참고로 이렇게 선언해서 사용할 수 있는데 AdaBoosting이나 GradientBoosting이나 내부적으로 Decision Tree가 여러 개 있고 순차적으로 학습시키는 구조로 되어 있다. 근데 우리가 그걸 굳이 만들 필요는 없고 이렇게 간단하게 사용하면 된다.
Meta Ensemble
- 기본 모델들의 예측을 독립변수로 활용하여 최종 예측을 수행하는 기법
- 다른 모델들의 출력값을 다시 학습해서 최종 결과 도출
- Overfitting 이슈로 신중하게 고려해야 함
- 일반적으로 분류 문제에서 많이 사용된다.
그리고 Meta Ensemble의 기법으로는 Stacking이 존재한다
- 다른 모델들의 출력값을 다시 학습해서 최종 결과 도출
- Meta-Learner, Base-Learner가 존재한다.
Base Learners(1층) : 서로 다른 알고리즘들 사용 ( SVM, Decision Tree, KNN)
Meta Learner(2층) : base 모델들의 예측값을 입력으로 받아 학습 (LogisticRegression 많이 사용)
입력 값 : 원본 데이터 -> base 모델들이 예측
메타 입력 : base 모델들이 예측한 값 -> 이게 meta 모델의 입력이 됨
장점
- 서로 다른 모델들의 약점을 보완하고
- 예측 결과의 상관관계를 학습할 수 있음
- Voting보다 훨씬 유연하고 정교함
메타 모델은 보통 간단한 모델(Logistic, Ridge) 을 쓰는게 일반적이다.
Kaggle 수상자들이 가장 자주 쓰는 앙상블 기법 중 하나이다
'SKALA > AI' 카테고리의 다른 글
Cross Validation (0) | 2025.04.23 |
---|---|
Graph RAG (0) | 2025.04.22 |
네이버 뉴스 RAG 실습(3) - Prompting 및 RAG 구축 (2) | 2025.04.11 |
네이버 뉴스 RAG 실습(1) - WebBaseLoader (0) | 2025.04.09 |
Fine-tuning 개념 및 장단점 (0) | 2025.03.27 |