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

작성자

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Business Development + Partnerships

IBM Research

앙상블 학습은 여러 학습자를 결합하여 예측 성능을 향상시킵니다. 제한된 데이터 세트로 인한 문제에 대응하여 채택되었습니다.

앙상블 학습은 두 명 이상의 학습자를 집계하는 머신 러닝 기법입니다(예: 회귀 모델, 신경망)을 사용하여 더 나은 예측을 생성할 수 있습니다. 즉, 앙상블 모델은 여러 개별 모델을 결합하여 단일 모델만 사용하는 것보다 더 정확한 예측을 생성합니다.1 이 기법을 위원회 기반 학습이라고 부르는 경우도 있습니다. 앙상블 학습은 학습자 집단이 개별 학습자보다 전반적인 정확도가 더 높다는 원칙에 기반합니다.2 실제로 연구는 머신 러닝 모델과 컨볼루션 신경망(CNN)을 통해 그 효능을 뒷받침합니다.

용어에 대한 참고 사항: 기본 학습자(base learner), 기본 모델(base model), 그리고 경우에 따라 기본 추정기(base estimator)는 앙상블 알고리즘에서 사용되는 개별 모델 또는 모델을 나타냅니다. 문헌은 기본 학습자를 강한 학습자와 약한 학습자로 나눕니다. 약한 모델 또는 학습자는 무작위 추측보다 거의 더 나은 성능을 발휘하지 않는 모델로 정의됩니다. 이진 분류 문제의 경우, 약한 분류자는 보다 공식적으로는 약 50%의 정확도를 달성하는 분류자입니다. 대조적으로, 강력한 모델 또는 학습자는 우수한 예측 성능을 달성하며, 이는 이진 분류에서 80% 이상의 정확도로 공식화됩니다.3

앙상블 방법, 특히 순차 방법이 약한 학습자를 강한 학습자로 효과적으로 끌어올린다는 점을 감안할 때 일부 출처는 약한 학습자와 기본 학습자를 혼동한다는 점에 유의하십시오.4

전문가가 전하는 최신 AI 트렌드

가장 중요하고 흥미로운 AI 뉴스에 대한 선별된 인사이트를 확인하세요. 주간 Think 뉴스레터를 구독하세요. IBM 개인정보 보호정책을 참조하세요.

감사합니다! 구독이 완료되었습니다.

구독은 영어로 제공됩니다. 모든 뉴스레터에는 구독 취소 링크가 있습니다. 여기에서 구독을 관리하거나 취소할 수 있습니다. 자세한 정보는 IBM 개인정보 보호정책을 참조하세요.

앙상블 학습을 사용하는 이유는 무엇입니까?

편향-분산 트레이드오프

편향-분산 상충은 머신 러닝 분야에서 잘 알려진 문제이며, 많은 정규화 기술의 기본 원리입니다. 우리는 이를 다음과 같이 정의할 수 있습니다.

- 편향은 예측값과 실제값의 평균 차이를 측정합니다. 편향이 증가하면 학습 데이터 세트에 대한 모델의 예측 정확도가 떨어집니다. 편향이 높다는 것은 학습 오류가 높다는 것을 의미합니다. 최적화는 편향을 줄이려는 시도를 의미합니다.

- 분산은 주어진 모델의 다양한 실현에 대한 예측 간의 차이를 측정합니다. 분산이 증가하면 보이지 않는 데이터에 대한 모델의 예측 정확도가 떨어집니다. 분산이 높다는 것은 테스트 및 유효성 검사 중 오류가 많다는 의미입니다. 일반화는 분산을 줄이려는 시도를 말합니다.

따라서 편향과 분산은 각각 학습 데이터와 테스트 데이터에 대한 모델 정확도를 반비례하게 나타냅니다.5 이는 모델의 총 오류율을 구성하는 세 가지 항 중 두 가지이며, 세 번째는 줄일 수 없는 오류입니다. 이 세 번째 용어는 데이터 세트에 내재된 무작위성으로 인해 발생하는 오류를 나타냅니다. 전체 모델 오류는 다음 공식으로 정의할 수 있습니다:6

앙상블 학습을 위한 총 오차 공식

여러 모델 대 단일 모델

하나의 모델 학습 알고리즘은 수많은 변수로 구성됩니다. 예를 들어, 학습 데이터, 하이퍼매개변수 등이 있으며, 이들은 결과 모델의 총 오류에 영향을 미칩니다. 따라서 단일 학습 알고리즘이라도 각각 고유한 편향성, 분산, 감소 불가능한 오류율을 가진 다양한 모델을 생성할 수 있습니다. 앙상블 알고리즘은 여러 다양한 모델을 결합함으로써 전체 오류율을 낮추는 동시에 특정 데이터 하위 집합에 대한 현저히 낮은 편향성과 같은 각 개별 모델의 고유한 복잡성과 이점을 유지할 수 있습니다.7

연구에 따르면 일반적으로 결합된 모델 간의 다양성이 클수록 결과 앙상블 모델이 더 정확합니다. 따라서 앙상블 학습은 모델 편향을 해소하지 않고도 과잉 적합과 같은 Regression 문제를 해결할 수 있습니다. 실제로, 연구에 따르면 앙상블은 다양하고 과소 정규화 된 모델(즉, 훈련 데이터에 과적합된 모델)은 단일 정규화된 모델보다 성능이 뛰어납니다.8 게다가 앙상블 학습 기술은 고차원 데이터에서 발생하는 문제를 해결하는 데 도움이 되므로 차원 축소에 대한 대안으로 효과적으로 활용할 수 있습니다.

앙상블 모델 유형

문헌에서는 머신 러닝의 앙상블 학습 방법을 크게 병렬과 순차의 두 가지로 분류합니다.

- 병렬 방법은 각 기본 학습자를 다른 학습자와 구별하여 훈련시킵니다. 따라서 병렬 앙상블은 그 이름에서 알 수 있듯이 기본 학습자를 병렬로 서로 독립적으로 훈련시킵니다.

- 순차적 방법은 이전 단계에서 학습된 모델에서 발생한 오류를 최소화하도록 새로운 기본 학습자를 학습합니다. 즉, 순차적 방법은 기본 모델을 단계적으로 순차적으로 구성합니다.9

병렬 앙상블과 순차 앙상블을 설명하는 다이어그램

병렬 방법은 동종 방법과 이종 방법으로 다시 구분됩니다. 동종 병렬 앙상블은 동일한 기본 학습 알고리즘을 사용하여 모든 구성 요소 기본 학습기를 생성합니다. 이종 병렬 앙상블은 서로 다른 알고리즘을 사용하여 기본 학습기를 생성합니다.10

투표

앙상블 방법은 어떻게 기본 학습기를 최종 학습기로 결합합니까? 일부 기술(예: 스태킹 - 별도의 머신 러닝 알고리즘을 사용하여 기본 학습자로부터 앙상블 학습자를 훈련시킵니다. 그러나 기본 학습자 예측을 통합하는 일반적인 방법 중 하나는 투표, 더 정확하게는 다수결 투표입니다.

과반수 투표(Majority voting)는 주어진 데이터 인스턴스에 대한 각 기본 학습자의 예측을 고려하고 대다수의 학습자가 예측하는 것으로 결정되는 최종 예측을 출력합니다. 예를 들어, 이진 분류 문제에서 과반수 투표는 주어진 데이터 인스턴스에 대한 각 기본 분류자에서 예측을 가져와서 과반수 예측을 최종 예측으로 사용합니다. 가중 과반수 투표는 이 기법의 확장으로, 특정 학습자의 예측에 다른 학습자보다 더 큰 가중치를 부여합니다.11

앙상블 학습 기법

가장 인기 있는 앙상블 학습 기법 세 가지는 아마도 배깅, 부스팅, 스태킹일 것입니다. 실제로 이들은 순차적, 병렬, 동종 및 이질적 유형의 앙상블 방법을 구분하는 예시입니다.

이 개요에는 블렌딩 및 가중 평균 앙상블과 같은 몇 가지 추가 앙상블 방법이 있습니다. 이것은 단지 문헌에서 가장 두드러진 몇 가지 방법을 조사하기 위한 것입니다.

배깅

배깅부트스트랩 집계라고도 하는 동종 병렬 방법입니다. 이 훈련 데이터 세트의 수정된 반복실험을 사용하여 동일한 훈련 알고리즘으로 여러 기본 학습자를 훈련시킵니다.12 Python의 Scikit-learn의 앙상블 모듈에는 BaggingClassifier와 같은 배깅을 구현하기 위한 함수가 포함되어 있습니다.

좀 더 구체적으로 말하자면, 배깅은 부트스트랩 리샘플링이라는 기술을 사용하여 여러 기본 학습자를 교육하기 위해 하나의 초기 교육 데이터 세트에서 여러 개의 새로운 데이터 세트를 파생합니다. 이것은 어떻게 작동하나요? 학습 데이터 세트에 n개의 학습 예제가 포함되어 있다고 가정해 보겠습니다. 부트스트랩 리샘플링은 해당 데이터 집합에서 n개의 데이터 인스턴스를 복사하여 새로운 하위 샘플 데이터 집합으로 만듭니다. 이때 일부 초기 인스턴스는 두 번 이상 나타나고 다른 인스턴스는 완전히 제외됩니다. 이것이 부트스트랩 샘플입니다. 이 프로세스를 x번 반복하면 원래 데이터 세트의 x회 반복이 생성되며, 각 데이터 세트에는 초기 세트의 n개 샘플이 포함됩니다. 그런 다음 초기 세트의 각 반복을 사용하여 동일한 학습 알고리즘을 가진 별도의 기본 학습자를 훈련시킵니다.13

앙상블 학습의 맥락에서 배깅을 묘사하는 다이어그램.

랜덤 포레스트는 배깅의 확장으로, 무작위 의사결정트리의 앙상블을 구성하기 위해 배깅을 사용하는 것을 구체적으로 나타냅니다. 이는 표준 의사결정트리와 다르며, 후자는 분할에 가장 적합한 것을 식별하기 위해 모든 기능을 샘플링합니다. 대조적으로, 랜덤 포레스트는 기능의 무작위 하위 집합을 반복적으로 샘플링하여 결정 노드를 만듭니다.14

스태킹

스태킹 또는 스택 일반화15는 메타 학습으로 알려진 것을 예시하는 이질적인 병렬 방법입니다. 메타 학습은 여러 기본 학습자의 아웃풋에서 메타 학습자를 학습시키는 것으로 구성됩니다. 스태킹은 각 학습자에 대해 다른 훈련 알고리즘을 사용하여 동일한 데이터 세트에서 여러 기본 학습자를 구체적으로 훈련시킵니다. 각 기본 학습자는 보이지 않는 데이터 세트에 대해 예측을 합니다. 그런 다음 이러한 첫 번째 모델 예측을 컴파일하여 메타 모델인 최종 모델을 훈련하는 데 사용합니다.16

앙상블 학습의 맥락에서 스태킹을 묘사하는 다이어그램

메타 학습자를 학습시키기 위해 기본 학습자를 학습시키는 데 사용되는 것과 다른 데이터 세트를 사용하는 것이 중요합니다. 동일한 데이터 세트를 사용하여 기본 학습자와 메타 학습자를 학습시키면 과적합이 발생할 수 있습니다. 이를 위해서는 기본 학습자 교육 데이터에서 데이터 인스턴스를 제외하여 테스트 세트 데이터로 사용해야 할 수 있으며, 이는 다시 메타 학습자의 학습 데이터가 됩니다. 문헌에서는 이러한 데이터 세트가 겹치지 않도록 교차 검증과 같은 기술을 권장하는 경우가 많습니다.17

배깅과 마찬가지로 Python의 sklearn.ensemble 모듈은 스태킹 기술을 구현하기 위한 다양한 함수를 제공합니다.

부스팅

부스팅 알고리즘은 순차적 앙상블 방법입니다. 부스팅에는 다양한 변형이 있지만 모두 동일한 일반적인 절차를 따릅니다. 부스팅은 학습자에게 몇 가지 초기 데이터 세트를 학습시킵니다d. 그 결과 학습자는 일반적으로 취약하여 데이터 세트의 많은 샘플을 잘못 분류합니다. 배깅과 마찬가지로 부스팅은 초기 데이터 세트에서 인스턴스를 샘플링하여 새 데이터 세트(d2)를 만듭니다. 그러나 부스팅은 배깅과 달리 첫 번째 모델 또는 학습자에서 잘못 분류된 데이터 인스턴스의 우선순위를 지정합니다. 새로운 학습자는 이 새로운 데이터 세트 d2에 대해 학습을 받습니다. 그런 다음 d1d2 에서 세 번째 데이터 세트(d3)가 컴파일되어 두 번째 학습자의 잘못 분류된 샘플과 d1d2 가 일치하지 않는 인스턴스를 우선시합니다. 이 프로세스는 n 번 반복되어 n 명의 학습자를 생성합니다. 그런 다음 부스팅은 모든 학습자를 결합하고 가중치를 부여하여 최종 예측을 생성합니다.18

앙상블 학습의 맥락에서 부스팅을 설명하는 다이어그램

부스팅 알고리즘은 새 데이터 세트를 생성할 때 잘못 예측된 데이터 인스턴스의 우선 순위를 지정하는 방법에 따라 크게 다릅니다. 가장 눈에 띄는 두 가지 부스팅 방법을 예로 들 수 있습니다.

- 적응형 부스팅(AdaBoost)은 모델 오류에 가중치를 둡니다. 즉, 다음 학습자를 훈련하기 위해 데이터 세트의 새로운 반복을 생성할 때 AdaBoost는 이전 학습자의 잘못 분류된 샘플에 가중치를 추가하여 다음 학습자가 잘못 분류된 샘플의 우선 순위를 정하도록 합니다.

- 그래디언트 부스팅은 새로운 학습자를 교육할 때 잔여 오류를 사용합니다. 그래디언트 부스팅은 잘못 분류된 샘플에 가중치를 부여하는 대신 이전 모델의 잔차 오류를 사용하여 다음 모델에 대한 목표 예측을 설정합니다. 이러한 방식으로 한 모델이 남긴 오류 간격을 닫으려고 시도합니다.19

안타깝게도 sklearn에는 부스팅을 구현하기 위한 사전 정의된 함수가 없습니다. 익스트림 그라디언트 부스팅(XGBoost) 오픈 소스 라이브러리는 Python에서 그래디언트 부스팅을 구현하기 위한 코드를 제공합니다.

최근 연구

학습자 교육을 위해 공정하게 사용되고 레이블이 지정된 대규모 데이터 세트를 획득하는 데 어려움을 감안할 때 앙상블 러닝은 적은 데이터로 학습자의 성과를 향상시키려는 시도로 많이 응용되고 있습니다. 예를 들어, 최근의 몇몇 연구는 데이터 세트(20)의 상이한 표현을 가진 여러 모델을 훈련시키거나 여러 편향된 모델을 결합하는 것과 같은 컴퓨터 비전 작업을 위한 앙상블 방법을 사용하여 모델 일반화 가능성을 향상시키는 유망한 결과를 보여줍니다.21

앙상블 방법은 일반화 가능성을 향상시킬 수 있음에도 불구하고 불공평을 겪을 수 있습니다. 머신 러닝에서 공정성은 자동화된 시스템에서 알고리즘 편향(종종 소수 집단에 대한)을 완화하려는 시도를 의미하며, 일반적으로 민감한 데이터에 대해 훈련된 학습자로부터 발생합니다. 소수의 연구에서는 앙상블 모델의 공정성을 개선하기 위한 지표, 전처리 및 후처리 기술을 제안합니다.22 AI의 윤리적 관행과 공정성을 개선하기 위한 지속적인 노력은 향후 연구에서 매우 필요한 영역으로 남아 있습니다.

관련 솔루션
IBM watsonx.ai

AI 빌더를 위한 차세대 엔터프라이즈 스튜디오인 IBM watsonx.ai로 생성형 AI, 파운데이션 모델 및 머신 러닝 기능을 학습, 검증, 조정 및 배포하세요. 적은 데이터로 짧은 시간 내에 AI 애플리케이션을 구축하세요.

watsonx.ai에 대해 알아보기
인공 지능 솔루션

업계 최고의 AI 전문성과 솔루션 포트폴리오를 보유한 IBM과 함께 AI를 비즈니스에 활용하세요.

AI 솔루션 살펴보기
AI 컨설팅 및 서비스

AI 추가를 통해 중요한 워크플로와 운영을 혁신함으로써 경험, 실시간 의사 결정 및 비즈니스 가치를 극대화합니다.

AI 서비스 살펴보기
다음 단계 안내

AI 개발 라이프사이클 전반에 걸친 기능에 원스톱으로 액세스하세요. 사용자 친화적인 인터페이스, 워크플로, 업계 표준 API 및 SDK에 대한 액세스를 통해 강력한 AI 솔루션을 제작할 수 있습니다.

watsonx.ai 살펴보기 라이브 데모 예약하기