topics 배깅이란? 배깅이란?
부트스트랩 집계, 즉 배깅이 어떻게 머신 러닝 모델의 정확성을 높여 더 나은 인사이트를 얻도록 지원하는지 알아봅니다.
Z용 소프트웨어의 등측도
배깅이란?

부트스트랩 집계로도 알려진 배깅(bagging)은 노이즈가 많은 데이터 세트 내에서 분산을 낮추는 데 흔히 사용되는 앙상블 학습 방법입니다. 배깅에서는 훈련 데이터 세트의 데이터에 대한 무작위 표본이 중복하여 선택됩니다. 즉, 개별 데이터 포인트가 두 번 이상 선택될 수 있습니다. 여러 데이터 표본이 생성된 후 이러한 약한 모델은 독립적으로 훈련합니다. 그리고 작업의 유형(예: 회귀 또는 분류)에 따라 이러한 예측의 평균값 또는 다수값이 더 정확한 추정치가 됩니다. 

참고로 랜덤 포레스트 알고리즘은 배깅 방법을 확장한 것으로 간주되며, 배깅 및 특성 무작위성을 활용하여 상관관계가 없는 의사결정 트리 포레스트를 만듭니다.

앙상블 학습

앙상블 학습은 집단 지성("wisdom of crowds")이라는 아이디어를 신뢰합니다. 집단 지성은 대규모 무리의 사람들이 내린 의사결정이 개인인 전문가가 내린 의사결정보다 보통은 더 적절하다고 시사합니다. 마찬가지로, 앙상블 학습은 최종 예측을 개선하기 위해 공동으로 작동하는 기본 학습기 또는 모델의 그룹(또는 앙상블)을 지칭합니다. 기본 학습기 또는 약한 학습기라고 하는 단일 모델은 높은 분산 또는 높은 편향 때문에 개별적으로는 잘 작동하지 않을 수 있습니다. 그러나 약한 학습기가 집계되면, 이들은 강한 학습기를 형성할 수 있습니다. 이들의 결합이 편향 또는 분산을 낮추므로 모델로부터 더 나은 성능을 달성할 수 있기 때문입니다.

앙상블 방법은 의사결정 트리를 사용하여 자주 설명됩니다. 이 알고리즘은 프루닝을 거치지 않을 경우 과대적합(높은 분산과 낮은 편향)이 발생하기 쉽고, 의사결정 스텀프(하나의 레벨이 있는 의사결정 트리)와 같이 규모가 매우 작은 경우 과소적합(낮은 분산과 높은 편향)이 발생할 수 있기 때문입니다. 기억할 점은 알고리즘이 훈련 세트에 대해 과대적합화 또는 과소적합화되면, 새로운 데이터 세트로 잘 일반화할 수 없다는 것입니다. 따라서, 앙상블 방법은 새로운 데이터 세트에 모델이 일반화되도록 이 행동을 중화하는 데 사용됩니다. 의사결정 트리는 높은 분산 또는 높은 편향을 보일 수 있지만, 의사결정 트리가 편향-분산 거래에서 "최적의 지점"을 찾기 위해 앙상블 학습을 활용하는 유일한 모델링 기법은 아니라는 점에 유의해야 합니다.

배깅 및 부스팅 비교

배깅 및 부스팅(boosting)은 앙상블 학습 방법의 두 가지 주요 유형입니다. 이 연구(PDF, 248KB)(ibm.com 외부 링크)에서 강조된 대로, 이 두 가지 학습 방법의 주된 차이점은 훈련 방식입니다. 배깅에서는 약한 학습기가 병렬로 훈련되지만, 부스팅에서는 순차적으로 학습합니다. 즉, 일련의 모델이 구성되고, 새로운 모델이 반복될 때마다 이전 모델에서 잘못 분류된 데이터의 가중치가 증가합니다. 이러한 가중치의 재분배는 알고리즘이 성능 향상을 위해 집중해야 하는 매개변수를 식별하는 데 도움이 됩니다. "적응형 부스팅 알고리즘"을 의미하는 AdaBoost는 최초의 부스팅 알고리즘 중 하나로 가장 많이 사용되는 부스팅 알고리즘 중 하나입니다. 다른 유형의 부스팅 알고리즘으로는 XGBoost, GradientBoost, BrownBoost 등이 있습니다.

배깅 및 부스팅의 또 다른 차이점은 이들이 사용되는 시나리오입니다. 예를 들면, 배깅 방법은 일반적으로 높은 분산과 낮은 편향을 보이는 약한 학습기에 사용되는 반면, 부스팅 방법은 낮은 분산과 높은 편향이 관찰되는 경우에 활용됩니다.

배깅의 작동 방식

1996년, Leo Breiman(PDF, 829KB)(ibm.com 외부 링크) 씨는 세 가지 기본 단계로 구성된 배깅 알고리즘을 소개했습니다.

  1. 부트스트래핑: 배깅은 다양한 표본을 얻기 위해 부트스트래핑 샘플링 기법을 활용합니다. 이러한 재샘플링 방법은 무작위로 중복하여 데이터 포인트를 선택하므로 훈련 데이터 세트의 다양한 하위 그룹이 생겨납니다. 즉, 훈련 데이터 세트에서 데이터 포인트를 선택할 때마다 동일한 인스턴스를 여러 번 선택할 수 있습니다. 그 결과, 값/인스턴스는 한 표본에서 두 번(또는 그 이상) 반복됩니다.
  2. 병렬 훈련: 이러한 부트스트랩 샘플은 그 다음 약한 학습기 또는 기본 학습기를 사용하여 독립적으로 그리고 동시에 훈련됩니다.
  3. 집계: 마지막으로 작업(즉, 회귀 또는 분류)에 따라 예측의 평균값 또는 다수값으로 더 정확한 추정치를 계산합니다. 회귀의 경우에는 개별 분류기가 예측한 모든 출력값의 평균을 냅니다. 이를 소프트 보팅(soft voting)이라고 부릅니다. 분류 문제의 경우, 가장 많은 표를 얻은 클래스가 받아들여집니다. 이를 하드 보팅(hard voting) 또는 다수결 보팅(majority voting)이라고 부릅니다.
배깅의 장점 및 문제

분류 또는 회귀 문제에 배깅 방법이 사용될 경우 발생하는 여러 가지 주요 장점과 문제가 있습니다. 배깅의 주요 장점은 다음과 같습니다.

  • 구현 용이성: scikit-learn(sklearnd이라고도 알려짐)과 같은 Python 라이브러리를 사용하면 기본 학습기 또는 추정기의 예측을 쉽게 결합하여 모델 성능을 향상할 수 있습니다. 문서(IBM 외부 링크)를 통해 모델 최적화에 활용할 수 있는 이용 가능한 모듈을 알아볼 수 있습니다.
  • 분산 감소: 배깅은 학습 알고리즘 안의 분산을 낮출 수 있습니다. 이러한 장점은 특히 고차원 데이터에 도움이 됩니다. 고차원 데이터의 경우 누락된 값으로 인해 분산이 높아지며, 이로 인해 과대적합이 발생하기 쉽고 새로운 데이터 세트에 대한 정확한 일반화가 이루어지지 않습니다.

배깅의 주요 문제는 다음과 같습니다.

  • 해석 가능성 상실: 예측들의 평균을 내므로 배깅을 통해 매우 정확한 비즈니스 인사이트를 얻는 것은 어렵습니다. 결과는 어느 개별 데이터 포인트보다 더 정확하지만, 더 정확하거나 완전한 데이터 세트일수록 단일 분류 또는 회귀 모델 내에서 더 큰 정확성을 달성할 수 있습니다.
  • 높은 연산 비용: 반복 횟수가 증가함에 따라 배깅이 느려지고 더욱 강렬해집니다. 따라서, 배깅은 실시간 애플리케이션에 적합하지 않습니다. 대규모 테스트 세트에서 배깅된 앙상블을 신속하게 만들려면 클러스터링된 시스템이나 많은 수의 프로세싱 코어를 사용하는 것이 이상적입니다.
  • 낮은 유연성: 하나의 기법으로서 배깅은 안정성이 떨어지는 알고리즘과 특히 잘 작동합니다. 안정성이 높거나 편향이 높은 알고리즘은 모델의 데이터 세트 안의 변동이 적으므로 큰 이점을 제공하지 않습니다. 머신 러닝 실무 가이드(IBM 외부 링크)에서 지적한 대로, "선형 회귀 모델을 배깅하면 사실상 충분히 큰 b에 대해 원래의 예측을 반환하기만 할 것입니다."
배깅의 응용 분야

배깅 기법은 여러 산업에 걸쳐 활용되고 있으며, 실제적인 가치와 흥미로운 관점(예: GRAMMY Debates with Watson) 모두에 대한 인사이트를 제공합니다. 주요 적용사례의 예는 아래와 같습니다.

  • 의료: 배깅은 의료 데이터 예측을 수행하는 데 사용되어 왔습니다. 예를 들어, 연구(PDF, 2.8MB)(ibm.com 외부 링크)에 따르면 앙상블 방법은 특정 관심 특성을 찾기 위한 유전자 및/또는 단백질 선택과 같은 다양한 생물정보학 문제에 활용되어 왔습니다. 더 구체적으로 말하자면, 이 연구(ibm.com 외부 링크)는 다양한 위험 예측 인자를 기반으로 당뇨병 발병을 예측하기 위해 앙상블 방법을 사용하는 것에 대해 심층적으로 탐구하고 있습니다다.
  • IT: 배깅은 또한 네트워크 침입 탐지 시스템과 같은 IT 시스템의 정밀성과 정확성을 향상할 수 있습니다. 한편, 이 연구(ibm.com 외부 링크)는 배깅으로 어떻게 네트워크 침입 탐지 정확성을 향상하고 위양성률을 낮출 수 있는지 살펴봅니다.
  • 환경: 배깅과 같은 앙상블 방법은 원격 감지 분야에서 적용되어 왔습니다. 더 구체적으로 말하자면, 이 연구(ibm.com 외부 링크)는 앙상블 방법이 해안가 환경 안에서 습지 유형을 지도로 파악하는 데 어떻게 사용되어 왔는지 보여줍니다.
  • 금융: 또한 배깅은 사기 탐지, 신용 리스크 평가, 옵션 가격 책정 문제 등 중요한 작업을 자동화하며 금융 산업에서 딥 러닝 모델과 함께 활용되어 왔습니다. 이 연구(ibm.com 외부 링크)는 다른 머신 러닝 기법 중에서 배깅이 채무 불이행 리스크를 평가하는 데 어떻게 활용되어 왔는지 보여줍니다. 이 연구(ibm.com 외부 링크)는 배깅이 은행 및 금융 기관에서 리스크를 최소화하고 신용 카드 사기를 방지하지 하는 데 어떤 도움을 주는지 보여줍니다.
관련 솔루션
IBM SPSS Modeler

IBM SPSS Modeler는 데이터 패턴을 찾고, 예측의 정확성을 확보하며, 의사결정을 개선하도록 지원하는 예측 분석을 제공합니다.

IBM SPSS Modeler 살펴보기
Watson Studio

클라우드에서 신뢰할 수 있는 AI를 구축하고 이를 스케일링합니다. ModelOps에 대한 AI 라이프사이클을 자동화합니다.

Watson Studio 살펴보기
배깅 및 부스팅

데이터 사이언스 및 머신 러닝에 대해 자세히 알아보려면 IBM Data Science Community를 살펴보세요.

IBM Data Science Community 살펴보기
다음 단계

IBM 솔루션은 엔드투엔드 방식으로 머신 러닝 라이프사이클을 지원합니다. IBM SPSS Modeler 및 Watson Studio와 같은 IBM의 데이터 모델링 툴이 다양한 모델을 구축하고 정확성을 위해 모델을 미세하게 조정하여, 예측 및 후속 데이터 분석을 개선하도록 어떻게 지원할 수 있는지 알아보세요. 데이터 사이언스 및 머신 러닝에 대해 자세히 알아보려면 IBMid를 등록하고 IBM Data Science Community에 가입하세요.

지금 IBM 데이터 사이언스 커뮤니티 가입