2024. 1. 22. 14:26ㆍML model/Tableau Model
Ensemble: 여러 모델을 학습하여 오류의 감소를 추구함.
- "No free lunch" : 특정 문제에 최적화된 모델이 다른 문제에서는 그렇지 않음을 수학적으로 정리.
- 따라서 어떤 알고리즘도 모든 상황, 모든 데이터에서 절대적으로 우위에 있지 않음.
ex) bootstrap을 통해 원본 dataset으로부터 T개의 subset을 만들고, 각 subset별 다른 모델(T개)을 학습하여 predict값 T개 추출
- T개의 predict값을 Voting(voting, weight voting, stacking 등등 기법 여러가지)하여 최종 predict 생성하는 기법.
**개별 모델의 평균 오류보다 앙상블의 오류가 같거나 작음.
- 즉 가장 최적화 모델보다 뛰어난지는 알 수 없으나 개별 모델들의 평균치보다 항상 우수하거나 같은 성능을 나타냄.
1. bagging(boostrap + aggregating의 약자)
- 앙상블 각 모델은 다른 subset이용(이때 subset은 원 dataset에서 복원추출로 샘플링)
- 개별 subset을 bootstrap이라고 함.
aggregating 방식(모델 총 K개)
1) Voting : 다수결
2) Weighted Voting : 각 모델마다 weight 다름
- weight : k번째 모델의 acc / 전체 모델의 acc
3) stacking : meta-classifier 생성
- K개의 predict를 바탕으로 다시 y를 예측하는 meta-classifier 생성 → result forecast
Random Forest(대표적인 bagging 모델)
- bagging + Random subsapce(variables 랜덤 추출)
- bootstrap시 data뿐만 아니라 variables(변수)도 랜덤 복원 추출.
2. boosting
- 순차적으로 weak learners 학습시키는 앙상블 기법.
- 1번째 모델로 predict 후, 틀린 것을 중점적으로(weight) 재학습 → 2번째 모델 생성
- bagging과는 여러 모델(K개)가 독립적이지 않고 연속적인 것에 차이가 있음.
**weight 부여 방식에 따라 여러 종류가 존재(Adaboost, GBM 등등)
if) 1~10 classification, bootstrap1(subset1)으로 학습한 1번째 모델이 8을 잘 예측하지 못할 경우
bootstrap2(subset2)에는 class 8에 대한 데이터 비중이 커진다. 이로써 학습한 2번째 모델은 8을 많이 학습하므로 8에 대한 정확도 ↑
2번째 모델이 이번에는 2와 4를 잘 에측하지 못하는 경우
bootstarp3 에는 class 2와4에 대한 비중이 커진다. 이로써 학습한 3번째 모델은 2와4를 많이 학습하여 2와 4에 대한 정확도↑
'ML model > Tableau Model' 카테고리의 다른 글
GBM(XGB, LightGBM, Catboost) (0) | 2024.01.22 |
---|