부트스트랩 집계로도 알려진 배깅(bagging)은 노이즈가 많은 데이터 세트 내에서 분산을 낮추는 데 흔히 사용되는 앙상블 학습 방법입니다. 배깅에서는 훈련 데이터 세트의 데이터에 대한 무작위 표본이 중복하여 선택됩니다. 즉, 개별 데이터 포인트가 두 번 이상 선택될 수 있습니다. 여러 데이터 표본이 생성된 후 이러한 약한 모델은 독립적으로 훈련합니다. 그리고 작업의 유형(예: 회귀 또는 분류)에 따라 이러한 예측의 평균값 또는 다수값이 더 정확한 추정치가 됩니다.
참고로 랜덤 포레스트 알고리즘은 배깅 방법을 확장한 것으로 간주되며, 배깅 및 특성 무작위성을 활용하여 상관관계가 없는 의사결정 트리 포레스트를 만듭니다.
앙상블 학습은 집단 지성("wisdom of crowds")이라는 아이디어를 신뢰합니다. 집단 지성은 대규모 무리의 사람들이 내린 의사결정이 개인인 전문가가 내린 의사결정보다 보통은 더 적절하다고 시사합니다. 마찬가지로, 앙상블 학습은 최종 예측을 개선하기 위해 공동으로 작동하는 기본 학습기 또는 모델의 그룹(또는 앙상블)을 지칭합니다. 기본 학습기 또는 약한 학습기라고 하는 단일 모델은 높은 분산 또는 높은 편향 때문에 개별적으로는 잘 작동하지 않을 수 있습니다. 그러나 약한 학습기가 집계되면, 이들은 강한 학습기를 형성할 수 있습니다. 이들의 결합이 편향 또는 분산을 낮추므로 모델로부터 더 나은 성능을 달성할 수 있기 때문입니다.
앙상블 방법은 의사결정 트리를 사용하여 자주 설명됩니다. 이 알고리즘은 프루닝을 거치지 않을 경우 과대적합(높은 분산과 낮은 편향)이 발생하기 쉽고, 의사결정 스텀프(하나의 레벨이 있는 의사결정 트리)와 같이 규모가 매우 작은 경우 과소적합(낮은 분산과 높은 편향)이 발생할 수 있기 때문입니다. 기억할 점은 알고리즘이 훈련 세트에 대해 과대적합화 또는 과소적합화되면, 새로운 데이터 세트로 잘 일반화할 수 없다는 것입니다. 따라서, 앙상블 방법은 새로운 데이터 세트에 모델이 일반화되도록 이 행동을 중화하는 데 사용됩니다. 의사결정 트리는 높은 분산 또는 높은 편향을 보일 수 있지만, 의사결정 트리가 편향-분산 거래에서 "최적의 지점"을 찾기 위해 앙상블 학습을 활용하는 유일한 모델링 기법은 아니라는 점에 유의해야 합니다.
배깅 및 부스팅(boosting)은 앙상블 학습 방법의 두 가지 주요 유형입니다. 이 연구(PDF, 248KB)(ibm.com 외부 링크)에서 강조된 대로, 이 두 가지 학습 방법의 주된 차이점은 훈련 방식입니다. 배깅에서는 약한 학습기가 병렬로 훈련되지만, 부스팅에서는 순차적으로 학습합니다. 즉, 일련의 모델이 구성되고, 새로운 모델이 반복될 때마다 이전 모델에서 잘못 분류된 데이터의 가중치가 증가합니다. 이러한 가중치의 재분배는 알고리즘이 성능 향상을 위해 집중해야 하는 매개변수를 식별하는 데 도움이 됩니다. "적응형 부스팅 알고리즘"을 의미하는 AdaBoost는 최초의 부스팅 알고리즘 중 하나로 가장 많이 사용되는 부스팅 알고리즘 중 하나입니다. 다른 유형의 부스팅 알고리즘으로는 XGBoost, GradientBoost, BrownBoost 등이 있습니다.
배깅 및 부스팅의 또 다른 차이점은 이들이 사용되는 시나리오입니다. 예를 들면, 배깅 방법은 일반적으로 높은 분산과 낮은 편향을 보이는 약한 학습기에 사용되는 반면, 부스팅 방법은 낮은 분산과 높은 편향이 관찰되는 경우에 활용됩니다.
1996년, Leo Breiman(PDF, 829KB)(ibm.com 외부 링크) 씨는 세 가지 기본 단계로 구성된 배깅 알고리즘을 소개했습니다.
분류 또는 회귀 문제에 배깅 방법이 사용될 경우 발생하는 여러 가지 주요 장점과 문제가 있습니다. 배깅의 주요 장점은 다음과 같습니다.
배깅의 주요 문제는 다음과 같습니다.
배깅 기법은 여러 산업에 걸쳐 활용되고 있으며, 실제적인 가치와 흥미로운 관점(예: GRAMMY Debates with Watson) 모두에 대한 인사이트를 제공합니다. 주요 적용사례의 예는 아래와 같습니다.
IBM SPSS Modeler는 데이터 패턴을 찾고, 예측의 정확성을 확보하며, 의사결정을 개선하도록 지원하는 예측 분석을 제공합니다.
클라우드에서 신뢰할 수 있는 AI를 구축하고 이를 스케일링합니다. ModelOps에 대한 AI 라이프사이클을 자동화합니다.
데이터 사이언스 및 머신 러닝에 대해 자세히 알아보려면 IBM Data Science Community를 살펴보세요.