Data Analysis Study

앙상블(Ensemble) 기법 개념 및 종류 정리

Solbi Lee 2025. 7. 20. 13:24

1. 앙상블 기법이란?

앙상블(Ensemble) 이란 여러 개의 모델을 조합하여 더 강력한 예측 성능을 갖춘 단 하나의 모델을 만드는 방법

앙상블 기법의 목적 및 효과 

1. 예측 성능 향상 : 단일 모델보다 다양한 모델의 예측을 조합하면 일반적으로 성능이 높아짐 

2. 과적합(Overfitting) 방지 : 개별 모델의 약점을 다른 모델이 보완하기 때문에, 특정 데이터에 과도하게 적합되는 문제를 방지할 수 있음.

3. 예측의 안정성 : 다양한 모델을 사용하면 특정 모델의 성능 편차를 보완하여 안정적인 결과를 제공함.


2. 앙상블 기법의 주요 종류 및 상세 분석

앙상블 기법은 크게 보팅(Voting), 배깅(Bagging), 부스팅(Boosting) 세 가지로 나눌 수 있음.

 

(1) 보팅 (Voting) # 다수결

여러 종류의 서로 다른 분류 모델의 예측 결과를 종합해 최종 결과를 결정하는 방법 

 

(1-1) 하드 보팅(Hard Voting) : 다수결 방식으로 가장 많이 나온 클래스를 최종 예측값으로 결정

예시 : 

모델1: 고양이🐱, 모델2: 개🐶, 모델3: 고양이🐱

최종 예측 값 : 고양이 (3개 중 2개가 고양이를 예측했기 때문)

(1-2) 소프트 보팅(Soft Voting) : 모델들이 예측한 클래스별 확률을 평균하여 가장 확률이 높은 클래스를 선택

예시 :

- 모델1: 고양이(60%), 개(40%)

- 모델2: 고양이(70%), 개(30%)

- 모델3: 고양이(50%), 개(50%)

평균 확률 : 고양이(60%), 개(40%) → 고양이🐱 선택

 

보팅의 특징 

- 여러 다양한 알고리즘 (예 : 로지스틱회귀, 결정리, KNN 등)을 혼합해 사용 가능 

- 성능이 각기 다른 다양한 모델이 있을 때 효과적, 직관적이고 쉬움 


(2) 배깅(Bagging: Bootstrap Aggregating) #무작위 #병렬 #랜포

동일한 알고리즘을 사용하되, 데이터를 랜덤으로 샘플링해서 여러 개의 모델을 만들고 그 결과를 통합하여 예측

주요 특징 

- 데이터셋에서 중복을 허용한 무작위 샘플링(Bootstrap Sampling) 방식으로 데이터를 나눠 여러 개의 서브셋을 생성.

- 각 서브셋을 가지고 같은 알고리즘(보통 결정트리)을 사용해 모델을 학습시킴.

- 최종 결과를 통합할 때는 보통 다수결(Voting) 또는 평균(Averaging)을 사용함.

대표적 알고리즘: 랜덤 포레스트(Random Forest)

결정트리를 여러 개 모아 만든 앙상블 모델 

 

작동 방식 : 

1. 전체 데이터를 여러 개의 중복 샘플로 나눔.

2. 각 샘플에 대해 결정트리를 독립적으로 학습시킴 

3. 여러 결정 트리의 예측 값을 투표 (보팅) 하여 최종 결과를 얻음 

예시 : 1000개의 데이터를 3개의 결정트리 모델에 각각 다르게 샘플링 

모델1, 모델2, 모델3 각각 학습 

예측 결과를 보팅을 통해 최종 결정

 

장점 : 

- 개별 결정트리의 과적합 문제를 효과적으로 해결 (분산 감소)

- 병렬처리를 통해 속도 향상 


(3) 부스팅(Boosting) #약한모델 #순차학습 #오차줄이기

부스팅은 성능이 약한 모델(약한 학습기, Weak Learner)을 순차적으로 학습시키면서, 이전 모델의 오차를 다음 모델이 개선하도록 하는 방법

- 핵심 아이디어 : 이전 모델의 실패한 데이터에 가중치 부여하고 가중치에 따라서 오류를 점점 줄여가며 학습한다. 

주요 특징 

앞에서 잘못 예측한 데이터를 뒤에 나오는 모델이 집중적으로 학습하는 방식

단계적으로 성능을 개선하기 때문에 최종적으로 매우 높은 정확도를 얻을 수 있음. 

 

(3-1) AdaBoost(Adaptive Boosting)

* 작동원리 : 잘못 분류된 샘플에 대해 가중치를 높이고, 정확히 분류된 샘플에는 가중치를 낮춰 다음 모델이 오분류된 데이터에 집중적으로 학습함. 

* 예시 : 1번째 모델이 고양이를 개로 오분류 했다면 다음 모델은 그 데이터를 집중 학습해 개선한다. 

 

(3-2) Gradient Boosting (경사하강 부스팅)

* 작동원리 : 각 모델은 이전 모델이 만든 오차( residual, 실제값-예측값)를 예측하여 오차를 점점 줄여나감. 오차(Loss)를 경사하강법으로 최소화하는 방식

* 예시 : 

실제 값: [10, 12, 15]
모델1 예측: [8, 11, 14] (오차 +2, +1, +1)
모델2는 이 오차를 학습하여 정확도를 높임

Gradient Boosting 계열 유명 모델들:

* XGBoost : 성능과 속도가 매우 뛰어나 캐글(Kaggle)과 실무에서 가장 많이 사용

* LightGBM : 매우 빠른 속도로 대량의 데이터 처리 가능

* CatBoost : 범주형 데이터를 자동 처리하고 높은 성능을 제공

 

장점 및 단점 :

- 성능이 매우 뛰어남 (정확도 굳)

- 너무 복잡한 모델을 만들 경우 속도가 느려질 수 있고, 과적합 문제 주의 필요


3. 앙상블 기법의 활용 포인트 및 주의사항 

- 모델 선정 : 모델의 다양성과 독립성이 높을수록 좋음 

- 하이퍼파라미터 튜닝 : 최적 성능을 위해 각 모델의 매개변수 튜닝 필수 

- 과적합 주의 : 과도하게 강력한 앙상블을 만들면 데이터에 지나치게 맞춰져서 새로운 데이터에서 성능이 저하될 수 있음 -> 교차검증 Early Stopping 기법 등을 활용