Economics & Deeplearning

앙상블 기법 4 - 부스팅 본문

머신러닝

앙상블 기법 4 - 부스팅

이슈카 2016. 1. 26. 14:38

부스팅

 

AdaBoost 알고리즘

부스팅은 간단한 학습기들이 상호보완적 역할을 할 수 있도록 단계적으로 학습을 수행하여 결합함으로써 그 성능을 증폭시키는 것을 기본 목적으로 하는 방법으로그 이름도 이러한 목적에서 유래하였다.

부스팅이 배깅과 다른 가장 큰 차이점은 분류기들을 순차적으로 학습하도록 하여먼저 학습된 분류기의 결과가 다음 분류기의 학습에 정보를 제공하여이전의 분류기의 결점을 보완하는 방향으로 학습이 이루어지도록 한다는 것이다.

 

가장 처음에 제안된 부스팅 방법에서는각 학습기별로 서로 다른 데이터 집합을 사용하는 것이다.

첫 번째 데이터 집합을 이용해서 첫 번째 분류기를 학습하고두 번째 분류기를 학습할 때에는 새로운 집합을 생성하여 첫 번째 분류기에 입력으로 주어 분류를 수행하게 한 후잘못된 분류 결과를 내는 데이터들을 찾는다이 오분류된 데이터와 함께 바르게 분류된 데이터들도 일부 추출하는데그 수가 오분류된 데이터와 같은 정도로만 추출한다이렇게 만들어진 학습 집합을 이용하여 두 번째 분류기를 학습한다이어서 세 번째 분류기의 경우에는 새로운 집합을 먼저 첫 번째와 두 번째 분류기에 입력으로 주어 두 분류기의 결과가 일치하지 않는 데이터들만 모아서 세 번째 분류기를 위한 학습데이터 집합을 만든다이렇게 세 개의 분류기의 학습이 완료되면새로운 데이터가 주어졌을 때 인식을 위해서는 먼저 첫 번째와 두 번째를 이용하여 분류를 수행한 후그 결과가 일치하면 그것을 최종 결과로 하고만약 일치하지 않으면 세 번째의 결과를 최종 결과로 선택한다이러한 방법은 필터링에 의한 부스팅이라고 하며간단한 분류기의 분류 성능을 증폭시킬 수 있음을 보였다.

그러나 이 방법은 각 분류기를 학습할 때마다 새로운 데이터 집합을 생성해야 하며두 번째와 세 번재에 생성되는 데이터는 학습에 그 일부만 활용될 수 있다따라서 제대로 학습이 수행되기 위해 필요한 학습데이터의 규모가 매우 크다는 문제점을 가지고 있다이를 해결하기 위하여 AdaBoost에서는 같은 데이터 집합을 반복해서 사용하되학습할 대마다 각 데이터에 대한 중요도를 적절히 조정하여 학습에 변화를 준다.

Comments