본문 바로가기

머신러닝

[파이썬 머신러닝] 머신러닝의 분류-앙상블 학습

앙상블 학습이란 ?

앙상블 학습은 여러개의 분류기를 생성하고 예측을 모아서 정확한 예측을 시행하는 것을 말한다. 예를 들면 한 문제의 답을 얻기 위해 여러 명의 전문가들이 모여서 다양한 의견을 모아서 결정하는 것이다.

 

이미지, 영상, 음성 등의 비정형 데이터는 딥러닝이 뛰어나지만 정형 데이터 분류는 앙상블 학습이 뛰어나다. 앙상블 학습의 대표적인 랜덤 포레스트, 그래디언트 부스팅 알고리즘이 있는데 부스팅 계열의 알고리즘은 캐글에서 인기가 많다. 요새 많이 쓰이는 XGBoost ,LightBGM 등이 있다.

 

앙상블 학습은 Voting, Bagging, Boosting 으로 나눌 수 있다.

velog.io/@jiselectric/Ensemble-Learning-Voting-and-Bagging-at6219ae

 

Ensemble Learning : Voting and Bagging

* Ensemble Learning * : process by which multiple models, such as classifiers or experts, are strategically generated and combined to solve a partic

velog.io

위에 보면 보팅, 배깅에 대해 영문으로 알 수 있다. 위에서 갖고온 그림이다.

보팅은 여러가지 알고리즘을 가진 분류기를 결합하는 것이고 배깅은 각각의 같은 유형의 분류기가 샘플링 데이터를 다르게 학습을 하는 것이다. 위에 그림을 보면 배깅은 여러개의 분류기가 개별적으로 예측을 하는데 부트스트랩핑 분할 방식으로 데이터를 샘플링해서 추출한다. 교차 검증과 다른 점은 교차 검증은 데이터 세트 간의 중첩을 허용하지 않지만 배깅은 중첩을 허용한다. 대표적인 배깅은 랜덤 포레스트 알고리즘이 있다.

부스팅은 여러개의 분류기가 학습을 수행하는데 만약 맨 먼저 학습한 분류기가 예측이 틀리면 다음 분류기에 가중치를 부여하여서 학습과 예측을 진행하는 것이다. 그래디언트 부스트, XGBoost, LightBGM 이 있다.