질문 출처: AI 대학원 면접 준비 - 전공 질문 리스트
1. Ensemble이란?
앙상블은 여러개의 모델을 결합해, 더 강한 예측 모델을 만드는 것
각 모델은 약하거나 불안정할 수 있지만, 여러 모델의 예측을 결합함으로써, 모델의 성능을 향상시킬 수 있고 과적합을 완화시키며 일반화 성능을 향상시킬 수 있음.
앙상블 기법의 종류는 다음과 같음:
- Bagging(Random Forest)
- Boosting(AdaBoost, Gradient Boosting, XGBoost)
- Stacking
이 기법들은 모델을 병렬 또는 순차적으로 학습시키거나, 다양한 모델을 조합하여 예측 성능을 높일 수 있음
2. Stacking Ensemble이란?
여러 개의 서로 다른 모델의 예측값을 조합해서, 그 결과를 입력으로 하는 또 다른 모델을 학습시켜 최종 예측을 수행하는 방식임. 크게 두가지 단계를 거침
1단계: RandomForest, SVM, KNN, XGBoost 등과 같은 여러 모델들을 학습 --> 예측값 도출
2단계: 위의 예측값들을 입력값으로 활용해 최종 예측을 학습 (ex) Logistic Regression, Linear Regression, LightGBM)
1) 장점
서로 다른 모델을 조합할 수 있기 때문에 각 모델의 장점만을 결합하여 성능을 높일 수 있음.
2) 단점
베이스 모델이 학습에 사용한 데이터의 예측값을 메타 모델이 학습 --> 과적합 발생할 수 있음.
3) 해결 방법
K-fold validation:훈련 데이터 (X_train) → K-fold로 분할
For each fold:
- base 모델은 나머지 (K-1 folds)로 학습
- 나머지 1개 fold에 대해 예측 → 저장 (Out-of-Fold 예측)
==> 이 OOF 예측값들이 meta 모델 학습의 입력
3. Bagging이란?
배깅(Bagging)은 ‘Bootstrap Aggregating’의 줄임말로, 중복을 허용한 샘플링(bootstrapping)을 통해 여러 개의 학습 데이터를 만들고, 각각의 모델을 독립적으로 학습시킨 후, 결과를 평균 또는 다수결로 결합하는 앙상블 기법임.
주요 목적은 분산(variance) 을 줄여 모델의 과적합(overfitting) 을 방지하는 것이며, 모델들이 서로 독립적이기 때문에 병렬 처리도 가능함.
대표적인 예시로는 Random Forest가 있음. 이는 여러 개의 결정 트리를 배깅 방식으로 학습한 모델로,각 트리는 서로 다른 데이터 샘플과 피처를 사용해 다양성을 확보하고, 예측 시 다수결을 통해 최종 결정을 내림.
--> 회귀: 평균 / 분류: 다수결
1) bagging은 왜 같은 모델을 여러개 사용하는지?
- Bagging의 목적은 분산(variance)을 줄이는 것.
- 같은 모델을 다른 데이터 샘플로 학습시켜 다양성을 확보하면 분산이 감소.
- 예를 들어 결정 트리(Decision Tree) 는 데이터 샘플에 매우 민감한(분산이 큰) 모델이기 때문에, Bagging에 잘 맞음.
2) 병렬로 독립적인 학습이 가능하다는 말의 의미는?
- 데이터 샘플을 랜덤으로 뽑아서 여러 개의 독립된 학습 데이터셋을 만든 뒤,
- 각 모델은 그 중 하나만 보고 학습.
- 즉, A 모델이 학습을 마쳐야 B 모델이 시작할 수 있는 의존 관계가 없음.
- Boosting은 순차적
- 다음 모델은 이전 모델의 예측 결과나 오차를 참고해서 학습하니까, 앞 모델이 끝나야 다음 모델을 학습시킬 수 있음 → 따라서 병렬 처리 불가.
4. Bootstrapping이란?
복원 추출을 허용한 표본 재추출 방법, 데이터가 뽑힐 확률분포를 유지하면서 재샘플링하도록 하는 기법
1) 장점
1-1) 데이터 분산 감소(오버피팅 방지)
각 모델이 서로 다른 데이터를 보고 학습하므로 과적합이 줄어듬 (특히 결정 트리에서 효과적)
1-2) 앙상블 학습에 다양성 부여
서로 다른 학습 데이터를 통해 다양한 모델(base learners) 생성 가능 → 앙상블 성능 향상
1-3) 소규모 데이터 활용할때 유용
데이터가 작아도 샘플을 복원 추출해서 여러 개의 학습 세트를 만들 수 있음
5. Boosting이란?
부스팅은 약한 학습기(weak learner)를 순차적으로 학습시키며, 이전 모델의 오차를 줄이는 방향으로 학습을 반복하여 강한 예측모델을 만드는 앙상블 기법임.
각 모델은 이전 모델이 잘못 예측한 데이터에 더 높은 가중치를 주고 학습하거나, 전체 오차의 그래디언트를 계산해 다음 모델이 잔차를 보정하도록 학습됨.
주요 목적은 편향(bias)을 줄이고, 예측 정확도를 점진적으로 향상시키는 것이며, 대표적인 알고리즘으로는 AdaBoost, Gradient Boosting, XGBoost 등이 있음.
6. Bagging 과 Boosting의 차이는?
Bagging과 Boosting은 모두 앙상블 기법이지만, 목적과 작동 방식이 다름.
1) Bagging은 분산(variance)을 줄이기 위해, 동일한 모델을 여러 개 학습시키고 예측을 평균이나 다수결로 결합함. 이때 각 모델은 중복을 허용한 무작위 샘플링(bootstrapping) 으로 서로 다른 데이터를 학습하며, 병렬로 독립 학습이 가능함. 대표적인 예로는 Random Forest가 있음.
2) 반면 Boosting은 편향(bias)을 줄이기 위해, 약한 모델을 순차적으로 학습시키고, 이전 모델이 틀린 부분을 다음 모델이 보완하도록 학습을 반복함. 이때 데이터 샘플의 가중치 조정 또는 오차 기반 학습을 사용하며, 대표적으로 AdaBoost, Gradient Boosting, XGBoost 등이 있음.
7. AdaBoost / Logit Boost / Gradient Boost
1) AdaBoost
2) Logit Boost
3) Gradient Boost
'ML | DL 기초' 카테고리의 다른 글
| day2: SVM (0) | 2025.07.17 |
|---|