앙상블 학습
앙상블 분류는 여러 분류기를 생성하고 그 예측을 결합함으로써 보다 정확한 예측을 도달하는 기법
이미지, 영상, 음성 등의 비정형 데이터의 분류는 딥러닝이 뛰어난 성능을 보이고 있지만, 대부분의 정형 데이터 분류 시에는 앙상블이 뛰어난 성능을 나타내고 있다.
* 정형 데이터와 비정형 데이터
정형 데이터 : 데이터베이스와 같이 데이터 들의 특징을 분류할 수 있도록 규칙에 맞게 정리된 정보
비정형 데이터 : (이미지, 음성, 영상등) 데이터 모델이 없거나 미리 정의된 방식으로 정리되지 않은 정보(위키 백과)
앙상블 학습의 유형 : 보팅(Voting), 배깅(Baggin), 부스팅(Boosting) 이외에도 스태킹을 포함한 다양한 앙상블 방법이 있다.
보팅 : 다른 분류 알고리즘을 사용하여 투표를 통해 최종 예측 값을 선정
(다른 분류 알고리즘의 예 : 선형 회귀, KNN, 서포트 벡터 머신 등)
배깅 : 같은 분류 알고리즘을 사용하고 데이터 샘플링을 서로 다르게 가져가 투표를 통해 최종 예측 값을 선정
(예: 랜덤 포레스트)
보팅과 배깅에서 학습 데이터의 활용 방법이 다르다.
보팅은 학습 데이터를 공유하여 여러 알고리즘에서 사용하는 것이나, 배깅에서는 학습 데이터를 샘플링하여 각 각 알고리즘에 전달한다. 이렇게 데이터를 샘플링하여 추출하는 방식을 부트스트래핑(Bootstraping)분할 방식이라고 한다.
교차 검증에선 데이터 세트간의 중첩을 허용하지 않았지만, 배깅은 중첩을 허용한다.
즉 10,000개의 데이터를 10개의 분류기가 배깅 방식으로 나눈다면 각 1000개의 데이터 내에서는 중복된 데이터가 있다.
부스팅은 순차적으로 학습을 수행하는데, 다음 분류기에 가중치를 부여하며 학습과 예측을 진행한다.
대표적인 무스팅 모듈 : 그래디언트 부스트, XGBoost(eXtra Gradient Boost), LightGBM(Light Gradient Boost) 등
보팅에는 두가지 방법이 있다. (하드 보팅, 소프트 보팅)
하드 보팅 : 다수의 분류기가 결정한 예측값을 최종 보팅 결괏값으로 선정 (다수결)
소프트 보팅 : 레이블 값 결정 확률을 모두 더하고 이를 평균해서 이들 중 확률이 가장 높은 레이블 값을 최종 보팅 결과값으로 선정
일반적으로 하드 보팅보다 소프트보팅이 예측 성능이 좋아 더 많이 사용된다.
'AI > ML(지도학습)' 카테고리의 다른 글
[파이썬 머신러닝 완벽가이드 - 분류(Classifier)] XGBoost(eXtra Gradient Boost) (0) | 2021.07.11 |
---|---|
[파이썬 머신러닝 완벽가이드 - 분류(Classifier)] 랜덤 포레스트(Random Forest), GBM(Gradient Boost Machine) (0) | 2021.07.11 |
[분류(Classifier)] 보팅 분류기(Voting Classifier) (0) | 2021.07.11 |
[파이썬 머신러닝 완벽가이드 - 분류(Classifier)] 결정 트리(Decision Tree) (0) | 2021.07.11 |
[파이썬 머신러닝 완벽가이드 - 분류(Classifier)] (0) | 2021.07.11 |