앙상블 학습
앙상블 분류는 여러 분류기를 생성하고 그 예측을 결합함으로써 보다 정확한 예측을 도달하는 기법

 

이미지, 영상, 음성 등의 비정형 데이터의 분류는 딥러닝이 뛰어난 성능을 보이고 있지만, 대부분의 정형 데이터 분류 시에는 앙상블이 뛰어난 성능을 나타내고 있다.

 

* 정형 데이터와 비정형 데이터

정형 데이터 : 데이터베이스와 같이 데이터 들의 특징을 분류할 수 있도록 규칙에 맞게 정리된 정보

비정형 데이터 : (이미지, 음성, 영상등) 데이터 모델이 없거나 미리 정의된 방식으로 정리되지 않은 정보(위키 백과)

 

앙상블 학습의 유형 : 보팅(Voting), 배깅(Baggin), 부스팅(Boosting) 이외에도 스태킹을 포함한 다양한 앙상블 방법이 있다.

보팅 : 다른 분류 알고리즘을 사용하여 투표를 통해 최종 예측 값을 선정

(다른 분류 알고리즘의 예 : 선형 회귀, KNN, 서포트 벡터 머신 등)


배깅 : 같은 분류 알고리즘을 사용하고 데이터 샘플링을 서로 다르게 가져가 투표를 통해 최종 예측 값을 선정

(예: 랜덤 포레스트)

보팅과 배깅에서 학습 데이터의 활용 방법이 다르다.

보팅은 학습 데이터를 공유하여 여러 알고리즘에서 사용하는 것이나, 배깅에서는 학습 데이터를 샘플링하여 각 각 알고리즘에 전달한다. 이렇게 데이터를 샘플링하여 추출하는 방식을 부트스트래핑(Bootstraping)분할 방식이라고 한다.

 

교차 검증에선 데이터 세트간의 중첩을 허용하지 않았지만, 배깅은 중첩을 허용한다.

즉 10,000개의 데이터를 10개의 분류기가 배깅 방식으로 나눈다면 각 1000개의 데이터 내에서는 중복된 데이터가 있다.

 

부스팅은 순차적으로 학습을 수행하는데, 다음 분류기에 가중치를 부여하며 학습과 예측을 진행한다.

대표적인 무스팅 모듈 : 그래디언트 부스트, XGBoost(eXtra Gradient Boost), LightGBM(Light Gradient Boost) 등


보팅에는 두가지 방법이 있다. (하드 보팅, 소프트 보팅)
하드 보팅 : 다수의 분류기가 결정한 예측값을 최종 보팅 결괏값으로 선정 (다수결)
소프트 보팅 : 레이블 값 결정 확률을 모두 더하고 이를 평균해서 이들 중 확률이 가장 높은 레이블 값을 최종 보팅 결과값으로 선정

일반적으로 하드 보팅보다 소프트보팅이 예측 성능이 좋아 더 많이 사용된다.

+ Recent posts