AI 101
앙상블 학습이란 무엇인가?

가장 강력한 기계 학습 기술 중 하나는 앙상블 학습입니다. 앙상블 학습은 예측의 신뢰성과 정확도를 향상시키기 위해 여러 기계 학습 모델을 사용하는 것입니다. 그런데 여러 기계 학습 모델을 사용하는 것이 어떻게 더 정확한 예측으로 이어질까요? 앙상블 학습 모델을 생성하는 데는 어떤 종류의 기법이 사용될까요? 우리는 이러한 질문에 대한 답을 탐구하며, 앙상블 모델을 사용하는 근거와 앙상블 모델을 생성하는 주요 방법을 살펴볼 것입니다.
앙상블 학습이란 무엇인가?
간단히 말해, 앙상블 학습은 여러 기계 학습 모델을 훈련시키고 그들의 출력을 결합하는 과정입니다. 서로 다른 모델들이 하나의 최적 예측 모델을 생성하기 위한 기반으로 사용됩니다. 다양한 개별 기계 학습 모델을 결합하면 전체 모델의 안정성이 향상되어 더 정확한 예측으로 이어질 수 있습니다. 앙상블 학습 모델은 종종 개별 모델보다 더 신뢰할 수 있으며, 그 결과 많은 기계 학습 대회에서 1위를 차지하는 경우가 많습니다. 엔지니어가 앙상블 학습 모델을 생성하는 데 사용할 수 있는 다양한 기법이 있습니다. 단순한 앙상블 학습 기법에는 서로 다른 모델의 출력을 평균화하는 것과 같은 방법이 포함되는 반면, 많은 기본 학습기/모델의 예측을 결합하기 위해 특별히 개발된 더 복잡한 방법과 알고리즘도 있습니다.
왜 앙상블 훈련 방법을 사용하는가?
기계 학습 모델은 여러 가지 이유로 서로 다를 수 있습니다. 서로 다른 기계 학습 모델은 모집단 데이터의 다른 샘플에서 작동할 수 있고, 다른 모델링 기법이 사용될 수 있으며, 다른 가설이 사용될 수 있습니다. 당신이 많은 사람들과 함께 퀴즈 게임을 하고 있다고 상상해 보세요. 만약 당신이 혼자 팀을 이룬다면, 당신이 지식이 있는 주제도 있을 것이고 지식이 없는 많은 주제도 있을 것입니다. 이제 당신이 다른 사람들과 함께 팀을 이룬다고 가정해 보세요. 당신처럼 그들도 자신의 전문 분야에 대한 지식은 있지만 다른 주제에 대해서는 지식이 없을 것입니다. 그러나 당신의 지식이 결합되면 더 많은 분야에 대해 더 정확한 추측을 할 수 있고, 당신 팀이 지식이 없는 주제의 수는 줄어듭니다. 이것이 앙상블 학습의 기본 원리로, 서로 다른 팀원(개별 모델)의 예측을 결합하여 정확도를 향상시키고 오류를 최소화하는 것입니다. 통계학자들은 증명했습니다, 가능한 답변 범위가 있는 주어진 질문에 대해 정답을 추측하도록 군중에게 요청했을 때, 그들의 모든 답변은 확률 분포를 형성한다는 것을. 정답을 진정으로 아는 사람들은 확신을 가지고 올바른 답을 선택할 것이지만, 잘못된 답을 선택하는 사람들은 가능한 모든 잘못된 답변 범위에 걸쳐 자신의 추측을 분산시킬 것입니다. 퀴즈 게임의 예로 돌아가면, 당신과 두 친구가 정답이 A라는 것을 안다면, 세 사람 모두 A에 투표할 것이며, 답을 모르는 팀의 다른 세 사람은 B, C, D 또는 E를 잘못 추측할 가능성이 높습니다. 결과는 A가 3표를 얻고 다른 답변은 최대 1표 또는 2표만 얻을 가능성이 높습니다. 모든 모델에는 어느 정도 오류가 있습니다. 위에서 설명한 이유로 모델 자체가 다르기 때문에 한 모델의 오류는 다른 모델이 생성한 오류와 다를 것입니다. 모든 오류를 검토하면 한 답변 또는 다른 답변 주위에 집중되지 않고 오히려 흩어져 있을 것입니다. 잘못된 추측은 본질적으로 가능한 모든 잘못된 답변에 걸쳐 퍼져 서로 상쇄됩니다. 한편, 서로 다른 모델의 올바른 추측은 진정한 정답 주위에 집중될 것입니다. 앙상블 훈련 방법을 사용하면, 정답을 더 높은 신뢰도로 찾을 수 있습니다.
단순 앙상블 훈련 방법
단순 앙상블 훈련 방법은 일반적으로 통계적 요약 기법의 적용만 포함합니다. 예를 들어, 예측 집합의 최빈값, 평균 또는 가중 평균을 결정하는 것과 같은 방법입니다. 최빈값은 숫자 집합 내에서 가장 자주 발생하는 요소를 의미합니다. 최빈값을 얻기 위해 개별 학습 모델은 예측을 반환하고 이러한 예측은 최종 예측에 대한 투표로 간주됩니다. 예측의 평균을 결정하는 것은 예측의 산술 평균을 계산하여 가장 가까운 정수로 반올림하는 것으로 간단히 수행됩니다. 마지막으로, 가중 평균은 예측을 생성하는 데 사용된 모델에 다른 가중치를 할당하여 계산할 수 있으며, 가중치는 해당 모델의 인지된 중요도를 나타냅니다. 클래스 예측의 수치 표현은 0에서 1.0 사이의 가중치와 함께 곱해지고, 개별 가중 예측이 합산된 후 결과는 가장 가까운 정수로 반올림됩니다.
고급 앙상블 훈련 방법
세 가지 주요 고급 앙상블 훈련 기법이 있으며, 각각은 특정 유형의 기계 학습 문제를 다루도록 설계되었습니다. “배깅” 기법은 모델 예측의 분산을 감소시키는 데 사용되며, 분산은 동일한 관찰을 기반으로 할 때 예측 결과가 얼마나 다른지를 나타냅니다. “부스팅” 기법은 모델의 편향을 해결하는 데 사용됩니다. 마지막으로, “스태킹”은 일반적으로 예측을 개선하는 데 사용됩니다. 앙상블 학습 방법 자체는 일반적으로 두 가지 다른 그룹 중 하나로 나눌 수 있습니다: 순차적 방법과 병렬 앙상블 방법. 순차적 앙상블 방법은 기본 학습기/모델이 순차적으로 생성되기 때문에 “순차적”이라는 이름을 얻었습니다. 순차적 방법의 경우, 핵심 아이디어는 더 정확한 예측을 얻기 위해 기본 학습자 간의 의존성을 활용한다는 것입니다. 잘못 표시된 예제는 가중치가 조정되는 반면 올바르게 표시된 예제는 동일한 가중치를 유지합니다. 새로운 학습기가 생성될 때마다 가중치가 변경되고 정확도가 (희망적으로) 향상됩니다. 순차적 앙상블 모델과 대조적으로, 병렬 앙상블 방법은 기본 학습기를 병렬로 생성합니다. 병렬 앙상블 학습을 수행할 때, 아이디어는 기본 학습자가 독립성을 가지고 있다는 사실을 활용하는 것으로, 개별 학습자의 예측을 평균화함으로써 일반 오류율을 줄일 수 있습니다. 앙상블 훈련 방법은 본질적으로 동종일 수도 있고 이종일 수도 있습니다. 대부분의 앙상블 학습 방법은 동종이며, 이는 단일 유형의 기본 학습 모델/알고리즘을 사용한다는 의미입니다. 대조적으로, 이종 앙상블은 서로 다른 학습 알고리즘을 사용하여 학습자를 다양화하고 변화시켜 정확도가 가능한 한 높도록 합니다.
앙상블 학습 알고리즘의 예

앙상블 부스팅 시각화. 사진: Sirakorn via Wikimedia Commons, CC BY SA 4.0, (https://commons.wikimedia.org/wiki/File:Ensemble_Boosting.svg)
순차적 앙상블 방법의 예로는 AdaBoost, XGBoost, Gradient tree boosting이 있습니다. 이들은 모두 부스팅 모델입니다. 이러한 부스팅 모델의 목표는 약하고 성능이 낮은 학습자를 더 강력한 학습자로 변환하는 것입니다. AdaBoost 및 XGBoost와 같은 모델은 무작위 추측보다 약간 더 나은 성능을 보이는 많은 약한 학습자로 시작합니다. 훈련이 계속됨에 따라 데이터에 가중치가 적용되고 조정됩니다. 이전 훈련 라운드에서 학습자에 의해 잘못 분류된 인스턴스에는 더 많은 가중치가 부여됩니다. 이 과정이 원하는 훈련 라운드 수만큼 반복된 후, 예측은 가중 합(회귀 작업의 경우) 또는 가중 투표(분류 작업의 경우)를 통해 결합됩니다.

배깅 학습 과정. 사진: SeattleDataGuy via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Bagging.png)
병렬 앙상블 모델의 예는 랜덤 포레스트 분류기이며, 랜덤 포레스트는 또한 배깅 기법의 예이기도 합니다. “배깅”이라는 용어는 “부트스트랩 집계”에서 유래했습니다. 샘플은 “부트스트랩 샘플링”으로 알려진 샘플링 기법을 사용하여 전체 데이터 세트에서 추출되며, 기본 학습자가 예측을 하는 데 사용됩니다. 분류 작업의 경우 기본 모델의 출력은 투표를 사용하여 집계되고, 회귀 작업의 경우 평균화됩니다. 랜덤 포레스트는 개별 결정 트리를 기본 학습자로 사용하며, 앙상블의 각 트리는 데이터 세트의 다른 샘플을 사용하여 구축됩니다. 트리를 생성하기 위해 특징의 무작위 하위 집합도 사용됩니다. 이는 고도로 무작위화된 개별 결정 트리로 이어지며, 이들은 모두 결합되어 신뢰할 수 있는 예측을 제공합니다.

앙상블 스태킹 시각화. 사진: Supun Setunga via Wikimedia Commons, CC BY S.A 4.0 (https://commons.wikimedia.org/wiki/File:Stacking.png)
스태킹 앙상블 기법의 경우, 여러 회귀 또는 분류 모델이 더 높은 수준의 메타 모델을 통해 결합됩니다. 하위 수준의 기본 모델은 전체 데이터 세트를 공급받아 훈련됩니다. 그런 다음 기본 모델의 출력은 메타 모델을 훈련시키기 위한 특징으로 사용됩니다. 스태킹 앙상블 모델은 본질적으로 이종인 경우가 많습니다.












