Ensemble: Bagging
ㅁ Ensemble
ㅇ 정의:
여러 개의 모델을 결합하여 예측 성능을 향상시키는 기법으로, 각 모델의 결과를 조합하여 최종 결정을 내리는 방법.
ㅇ 특징:
– 다양한 모델을 결합하여 단일 모델보다 일반화 성능을 높임.
– 데이터 샘플링 방법에 따라 여러 종류의 Ensemble 기법이 존재.
– 과적합을 방지하고 안정적인 예측 결과를 제공.
ㅇ 적합한 경우:
– 데이터가 불균형하거나 노이즈가 많은 경우.
– 단일 모델의 성능이 충분하지 않을 때.
ㅇ 시험 함정:
– Ensemble 기법의 종류를 혼동할 수 있음.
– Bagging과 Boosting의 차이를 명확히 이해하지 못하면 오답 가능.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: Ensemble 기법은 여러 모델을 결합하여 성능을 향상시킨다.
– X: Ensemble은 단일 모델만을 사용하여 예측 성능을 높이는 방법이다.
================================
1. Bagging
ㅇ 정의:
데이터의 랜덤 샘플링을 통해 여러 개의 모델을 독립적으로 학습시킨 후, 결과를 평균 또는 투표 방식으로 결합하는 Ensemble 기법.
ㅇ 특징:
– 각 모델은 서로 독립적으로 학습되며, 병렬 처리가 가능.
– 과적합을 방지하고 안정성을 높이는 데 효과적.
– 대표적인 알고리즘으로 Random Forest가 있음.
ㅇ 적합한 경우:
– 데이터가 비교적 많고, 모델 간 상호작용이 필요하지 않을 때.
– 과적합 가능성이 높은 경우.
ㅇ 시험 함정:
– Bagging과 Boosting의 차이를 혼동하여 잘못된 정의를 선택할 수 있음.
– Bagging의 병렬 처리 가능성을 간과할 수 있음.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: Bagging은 데이터의 랜덤 샘플링을 통해 여러 모델을 독립적으로 학습시킨다.
– X: Bagging은 각 모델이 순차적으로 학습하는 방식이다.
================================
1.1 Random Forest
ㅇ 정의:
Bagging 기법을 기반으로 다수의 의사결정 트리를 학습시키고, 최종 예측을 투표 또는 평균으로 결합하는 알고리즘.
ㅇ 특징:
– 데이터 샘플링과 변수 샘플링을 동시에 수행하여 다각적인 학습을 가능하게 함.
– 높은 예측 성능과 과적합 방지 효과를 제공.
– 병렬 처리가 가능하여 대규모 데이터에 적합.
ㅇ 적합한 경우:
– 데이터에 많은 변수(특징)가 존재할 때.
– 과적합을 방지하면서 높은 예측 성능이 필요할 때.
ㅇ 시험 함정:
– Random Forest의 변수 샘플링 개념을 혼동할 수 있음.
– Random Forest와 Gradient Boosting의 차이를 명확히 이해하지 못하면 오답 가능.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: Random Forest는 변수와 데이터 샘플링을 동시에 수행한다.
– X: Random Forest는 단일 데이터 샘플링만을 사용한다.
ㅁ 추가 학습 내용
Bagging과 Boosting의 차이점은 다음과 같습니다:
1. **Bagging**:
– Bagging은 여러 모델을 독립적으로 학습시키고, 그 결과를 결합하여 최종 예측을 만듭니다.
– 각 모델은 원본 데이터에서 중복을 허용한 샘플링(bootstrap sampling)을 통해 학습 데이터를 생성합니다.
– 개별 모델 간의 상호작용이 없으며, 병렬적으로 학습이 이루어집니다.
– 주로 과적합을 방지하고 모델의 안정성을 높이는 데 효과적입니다.
– 대표적인 Bagging 알고리즘: 랜덤 포레스트.
2. **Boosting**:
– Boosting은 순차적으로 모델을 학습시키며, 이전 모델의 오류를 보완하는 방식으로 동작합니다.
– 각 모델은 이전 모델이 잘못 예측한 데이터에 더 높은 가중치를 부여하여 학습합니다.
– 모델 간의 상호작용이 존재하며, 단계적으로 성능을 향상시킵니다.
– 과적합 위험이 있지만, 적절한 하이퍼파라미터 튜닝을 통해 강력한 성능을 발휘할 수 있습니다.
– 대표적인 Boosting 알고리즘: AdaBoost, Gradient Boosting, XGBoost.
Bagging과 Boosting의 핵심 차이는 모델 학습 방식과 데이터 샘플링 방법에 있습니다. Bagging은 병렬적이고 독립적인 학습을 강조하며, Boosting은 순차적이고 상호작용적인 학습을 강조합니다.
Stacking과 Bagging의 차이점은 다음과 같습니다:
1. **Stacking**:
– 서로 다른 유형의 모델(예: 선형 회귀, 결정 트리, SVM 등)을 결합하여 최종 메타 모델을 학습합니다.
– 개별 모델의 예측 결과를 새로운 데이터로 사용하여 메타 모델을 학습시킵니다.
– 일반적으로 다양한 모델의 강점을 활용해 성능을 극대화하는 데 목적이 있습니다.
– 모델 간의 다양성이 중요하며, 메타 모델의 성능이 전체 시스템의 성능에 영향을 미칩니다.
2. **Bagging**:
– 동일한 유형의 모델을 여러 개 학습시키며, 데이터 샘플링을 통해 다양성을 제공합니다.
– 개별 모델의 예측을 평균 또는 다수결로 결합하여 최종 예측을 만듭니다.
– 모델 간의 상호작용이 없으며, 병렬적으로 학습이 이루어집니다.
Stacking은 서로 다른 모델을 결합하여 최종 메타 모델을 학습시키는 방식이고, Bagging은 동일한 유형의 모델을 독립적으로 학습시키고 결합하여 안정성을 높이는 방식이라는 점을 이해하는 것이 중요합니다.