1. 앙상블(Ensemble)
1. 정의
2. 특징
2. 앙상블(Ensemble) 종류
1. Bagging(배깅)
2. RandomForest(랜덤 포레스트)
3. Boosting(부스팅)
4. Stacking
1. 앙상블(Ensemble)
1. 정의
-앙상블 러닝(Ensemble learning): 여러개의 기본 모델을 활용하여 하나의 새로운 모델을 만들어내는 개념
=>기본 모델(base model): weak learner, classifier, base learner, single learner
-다양한 learner를 만들면 전체 모델의 성능이 증가할 수 있음
-학습 데이터로 여러 모델에 적합하고, 검증 데이터에 대해 예측한 값을 평균or투표하여 결과값 출력
-확률이 p인 L개의 classifier를 썼을 때 확률:
=> p<0.5이면 L이 증가함에 따라 기대값이 낮아짐
=> p>0.5이면 L이 증가함에 따라 기대값이 높아짐
-각각의 base learner들은 최소 0.5이상의 정확도를 가져야함
-각각의 분류기는 독립이어야함
-총 분류기의 수는 이론적으로 무한대여야 성능이 좋아짐(일반적으로 수십~수백개)
2. 특징
-굉장히 파워풀, 캐글 대회 등에서 많이 씀
-일반적으로 대부분의 경우, single learner보다 예측 성능이 좋음
-but 현업에서는 많이 쓰는 모델들과 큰 차이x, 변수선택이 더 중요
-test 데이터에 대해 다양한 예측값을 수렴하기 위해 과적합이 잘되는 모델(ex. tree)을 기본적으로 사용
-tree기반 모델(random forest, boosting)을 많이 사용
-꼭 tree모델이 아니어도 됨
2. 앙상블(Ensemble) 종류
1. Bagging(배깅)
-모델을 다양하게 만들기 위해 데이터를 재구성하여 예측(데이터의 행 조절)
-tree 기반의 단일 모델(패키지 함수 in r, python)
2. RandomForest(랜덤 포레스트)
-모델을 다양하게 만들기 위해 데이터뿐 아니라 변수도 재구성(데이터의 행, 열 조절)
-tree 기반의 단일 모델(패키지 함수 in r, python)
3. Boosting(부스팅)
-맞추기 어려운 데이터에 대해 좀 더 가중치를 두어 학습
-모델들이 독립x, 순서대로
-앞의 모델이 잘 못맞춘 데이터에 대해 가중치를 두어 다음 learner가 학습
-종류: Adaboost, Gradient boosting(Xgboost, LightGBM, Catboost)
-tree 기반의 단일 모델(패키지 함수 in r, python)
4. Stacking
-모델의 output값을 새로운 독립변수로 사용
-앙상블의 한 개념(여러 모델 결합), 패키지 제공x
-캐글 대회에서 우승 많이 차지함(0.몇프로의 성능을 높일 때 사용)
-학습량이 많고 시간이 오래 걸려 실제론 잘 안씀
참고) 앙상블 종류별 이론, 특징, 장단점 - [머신러닝]앙상블(Ensemble) - Bagging, RandomForest, Boosting 이론
https://topo314.tistory.com/81
'데이터분석 > 이론' 카테고리의 다른 글
[머신러닝]중요 변수 추출 방법 - feature importance, shap value 이론 (0) | 2022.03.15 |
---|---|
[머신러닝]앙상블(Ensemble) - Bagging, RandomForest, Boosting, Stacking 이론 (0) | 2022.03.13 |
[머신러닝]의사결정나무(Decision Tree) 이론 (0) | 2022.03.13 |
[머신러닝] SVM(Support Vector Machine) 이론 (0) | 2022.03.12 |
[머신러닝]k-Nearest Neighbors Algorithm(KNN) 이론 (0) | 2022.03.12 |