앙상블 기법 - 부스팅 모델의 특징과 장단점

Aurora·2025년 12월 8일

AI

목록 보기
9/25

앙상블-부스팅

목차


지난 주에는 데이터 학습 시 발생할 수 있는 편향과 분산에 대해 알아보았다.

편향과 분산은 트레이드-오프 관계이고, 적당한 합의점을 찾는 게 핵심이다.

이와 관련하여 앙상블 기법이란 게 있는데, 오늘은 앙상블 기법에 대해 간단히 알아보고, 부스팅에 대해서 정리해볼 것이다.

앙상블 기법

여러 개의 모델을 만들고 이들을 조합하여 하나의 최종 모델을 만드는 방법

앙상블

  • 앙상블 : 조화, 총체라는 뜻
  • 여러 전문가의 의견을 종합하는 것과 같이, 개별 모델 하나만 사용하는 것보다 여러 모델을 사용하면 예측 성능을 향상시키고 과적합을 줄이는 데 효과적

보팅

모델들로 투표를 하여 결정하는 것

  • 하드 보팅 : 여러 개의 분류기 간 투표를 하여 다수결로 최종 클래스 결정
  • 소프트 보팅 : 여러 개의 분류기들의 클래스확률의 평균들을 계산한 후, 가장 평균이 높은 클래스로 결정하는 것

배깅

유사한 데이터 셋들로 각 학습기들의 결과를 만들어서 합침

  • 핵심 : 여러 약한 학습기를 독립적으로 병렬 학습시킨 후 결과를 취합하여 분산을 감소시키고 과적합을 줄이는 방법
  • Bagging은 Bootstrap aggregating을 줄인 말
  • 주로 분산(Variance)을 감소시켜 과적합을 줄이고 예측의 안정성을 높이는 데 효과적인 방법
    • Bootstrap
      • 원본 데이터 셋으로부터 원본과 유사한 새로운 데이터 셋을 추출
      • 이것을 Scikit-learn에서는 원본데이터에서 중복을 허용하여 무작위로 원본데이터의 갯수만큼 새로운 데이터 셋을 추출
      • 즉, 이 데이터 셋들은 서로 유사하지만 서로 다른 데이터 셋들이다. 따라서 학습결과도 조금은 다 다르게 나올 것이다.
    • aggregating
      • 모으다, 합치다라는 뜻
      • Bootstrap을 통해 여러 데이터 셋을 추출하고, 서로 다르게 학습시켜서, 그 예측값을(결과값들을) 합치는 것.
      • 회귀 문제에서는 평균을 낼 것이고, 분류 문제에서는 빈도수를 기준으로 할 것이다.
  • 보팅이랑 비슷해보이지만 다르다
  • 대표적인 모델 : 랜덤 포레스트

부스팅

“전보다 더 크거나 높게 하다”라는 뜻. 여러 모델을 데이터 셋을 바꾸며 순차적으로 연속해서 사용

  • 핵심 : 이전 학습기가 잘못 예측한 데이터에 더 큰 가중치를 부여하며 다음 학습기를 훈련시켜 오차를 점진적으로 줄여나가는 방법 → 편향 감소, 예측 성능 향상
  • 일부러 약한 학습기를 사용하여, 결과에 따라 뒤에 있는 모델이 사용할 데이터 셋을 바꾼다.
  • 종합적으로 예측값들을 합칠 때, 성능이 좋은 모델의 예측에 더 큰 가중치를 부여한다.
  • 배깅과 비슷한데 샘플링의 방법이 다르다.
  • 배깅과 비교
    • 공통점 : 원본 데이터 집단으로부터 “원본과 유사한 새로운 데이터 집단”을 K번 추출하여 K번의 약학습기 학습을 진행. 둘 다 데이터 셋을 계속 바꾼다.
    • 차이점 : Bagging은 K번의 샘플링을 독립적으로 수행, Boosting은 순차적으로 수행.
  • 앞선 결과에서 오차가 발생한 데이터에 가중치를 더 강하게 준 다음, 다음 샘플링을 수행함으로써 “오차가 발생했던 데이터를 또 틀리지 않도록 학습시킴” (틀린 데이터 위주로 집어넣는다)

종류

  • AdaBoost(Adaptive Boosting, 적응 부스팅), GBM, XGBoost, LightGBM, MadaBoost, LogitBoost, CatBoost 등이 있다. Cost를 계산하는 방식이 서로 다름
    • AdaBoost
      • 지수 손실로 계산
      • 부스팅이나 배깅처럼 d개를 골라 사용하는 것이 아닌, 학습 데이터 전체를 사용.
      • 초기 가중치를 균등하게 부여
      • 작은 깊이의 Decision Tree 등 약한 학습기를 학습.(앙상블 특징이기도 함)
      • 약한 학습기 대표적인 특징 : 평균적으로 50%보다 조금 좋은 성능을 냄
    • Gradient Boosting Model(GBM)
      • Gradient Descent + Boosting
      • Ada Boost와 유사하지만 경사하강법(Gradient Descent)을 사용하는 것이 차이점.
      • Overfitting의 문제가 있어서 Early Stop방식으로 해결
    • XGBoost(eXtreme Gradient Boosing)
      • 대규모 데이터 세트에서 높은 성능을 발휘하며, 데이터 분석 경진 대회에서 자주 사용됨
      • 정규화 기법을 통해 과적합을 방지하고 병렬 처리를 지원함
    • LightGBM
      • 트리를 확장하는 방식 : Leaf-wise
      • Leaf-wise 방식이 빠른대신 과적합 위험이 있어서 파라미터 튜닝이 중요
      • 높은 예측 성능, 다만 과적합 발생 가능성 up

스태킹

개별 모델의 예측 결과를 다시 학습 데이터로 활용하여, 이를 입력으로 받아 최종 예측을 수행하는 메타 모델을 훈련시키는 방식

  • 모델 여러 개를 추론해놓은 다음에 똑같은 결괏값들로 다른 모델 학습시킨다.

앙상블 기법 정리

위 4가지 앙상블 기법의 공통점 : 여러 모델을 조합해서 더 좋은 성능을 얻는다는 것

차이점 : 조합하는 방식과 주로 해결하려는 문제가 다름.

구분보팅 (Voting)배깅 (Bagging)부스팅 (Boosting)스태킹 (Stacking)
핵심여러 독립적인 모델들의 '예측값'을 투표 (또는 평균)하여 최종 결정여러 약한 학습기를 '독립적으로' 병렬 학습시킨 후 결과 취합 (주로 분산 감소)약한 학습기들을 '순차적으로' 학습시키면서 이전 모델의 오류에 집중 (주로 편향 감소)여러 모델의 '예측값 자체를' 새로운 데이터(피처)로 활용하여 최종 모델 학습
학습 방식서로 다른 알고리즘을 가진 모델들이 각각 독립적으로 학습동일한 알고리즘을 가진 모델들이 부트스트랩 샘플링으로 생성된 서로 다른 데이터셋으로 독립 병렬 학습동일한 알고리즘을 가진 약한 학습기들이 이전 모델이 틀린 데이터에 가중치를 높여 주며 순차적으로 학습다양한 모델들을 학습시킨 후, 이 모델들의 예측값을 수집하여 또 다른 메타 모델이 학습
결과 취합- 하드 보팅: 다수결
- 소프트 보팅: 확률 평균
- 분류: 다수결 (Voting)
- 회귀: 평균 (Averaging)
각 학습기의 성능에 비례한 가중치를 부여하여 합산 (AdaBoost)
이전 잔차를 예측하여 합산 (GBM 계열)
최종 메타 모델이 개별 모델의 예측값을 바탕으로 최종 예측
주요 목표다양한 모델의 강점을 활용하여 예측 성능 향상모델의 분산(Variance) 감소 및 과적합(Overfitting) 방지. 더 안정적인 예측모델의 편향(Bias) 감소 및 예측 성능 극대화. 더 강력하고 정확한 예측여러 모델의 강점을 조합하여 최상의 예측 성능 달성 (때로는 부스팅보다도 더 좋다고 함)
비유여러 전문가 (각자 다른 전공)의 의견을 취합해서 최종 결정한 분야 전문가 (A)를 여러 명 복제해서 각자 다른 정보를 주고 독립적으로 판단하게 한 후 의견 취합 (평균)한 분야 전문가 (A)가 특정 문제를 틀리면 그 틀린 문제에 더 집중해서 계속 재학습시키는 방식으로 실력 향상여러 전문가 (각자 다른 전공)에게 최종 판단을 맡기지 않고, 그 전문가들의 예측 결과를 보고 최종 의사결정자가 다시 한번 판단
대표 모델로지스틱 회귀 + SVM + 결정 트리 조합 등랜덤 포레스트 (Random Forest)AdaBoost, Gradient Boosting (GBM), XGBoost, LightGBM, CatBoost 등..

부스팅 모델의 특징과 장단점

앙상블 공부를 했으니 이번에는 부스팅 모델을 활용하여 자전거 수요 예측을 해볼 것이다.

여러 앙상블 기법 중에서 부스팅 모델을 자세히 살펴본 결과, 다음과 같이 정리해볼 수 있다.

주요 특징

  • 순차적 학습 : 이전 모델이 학습을 마친 후에 다음 모델이 학습을 시작한다는 특징
  • 이전 모델의 오류에 집중 : 이전 모델이 잘못 분류하거나 오차가 컸던 데이터에 가중치를 부여하거나 예측 오차를 다음 모델의 정답으로 삼아서 학습
  • 약한 학습기 사용 : 성능이 뛰어나지 않은 약한 학습기(ex 깊이가 얕은 결정 트리)를 기본 모델로 사용. 약한 모델들이 순차적으로 보완하며 합쳐져서 강력한 하나의 최종 모델이 됨.

장점

  • 높은 예측 성능
  • 복잡한 패턴 학습
  • 특성 중요도 제공(피처 중요도를 제공하여 모델을 해석하는 데 도움을 줌)

단점

  • 과적합 위험 ← 파라미터 튜닝 중요
  • 노이즈에 민감 : 틀린 데이터나 예측 오류가 큰 데이터에 집중하는 특성 때문에 조심
profile
개발에 애정을 쏟는 연구자입니다

0개의 댓글