BASHA TECH
앙상블 학습 Ensemble Learning 본문
앙상블 학습의 유형은 3가지로 나누어진다. Voting, Bagging, Boosting
보팅과 배깅은 여러개의 분류기(앙상블)가 투표를 통해 최정 예측 결과를 결정하는 방식이다.
차이점은
보팅(Voting) => 일반적으로 서로 다른 알고리즘을 가진 분류기를 결합
보팅 유형
- Soft Voting : 확률(따라서 오차가 나온다.) predict_proba
/ 비슷하게 Softmax 알고리즘이 있음 (각각의 오차를 구하는 알고리즘)
- Hard Voting : 다수결
배깅(Bagging) => 각각의 분류기가 모두 같은 유형의 알고리즘 기반이지만, 데이터 샘플링을 서로 다르게 가져가면서 학습을 수행해 보팅을 수행함. 대표적인 배깅 방식이 바로 랜덤 포레스트 알고리즘(RF)임. 주로 이걸 더 많이 씀. 같은 모델 약한 트리
랜덤 포레스트 하이퍼 파라미터 및 튜닝
- n_estimators : 랜덤 포레스트에서 결정 트리의 개수를 지정함. 디폴트는 10개. 많이 설정할 수록 좋은 성능을 기대할 수 있지만 자칫하다간 과적합이 생길 수도 있음.
- max_features는 결정 트리에 사용된 max_features파라미터와 같다 (일부 컬럼 사용) 하지만, RandomForestClassifier의 max_features는 'None'이 아니라 'auto'. 즉 'sqrt'와 같다.
GBM (Grediant Boosting Machine) : 오차를 수정해 나가는 방식, 반복 수행=미분을 통하여 최소화된 오차를 찾을 수 있도록 가중치의 업데이트 값을 도출하는 기법
부스팅의 대표적인 구현은 AdaBoost (Adaptive Boosting 적응해 가면서 가장 Best를 찾는 것) , Gradient Boosting (최소화 된 오차를 찾아가는 것) 이 있다. AdaBoost와 GBM은 언뜻 보면 유사해 보이나, GBM의 경우 가중치 업데이트를 경사하강법을 이용하는 것이 큰 차이. 오류값 = 실제 값 - 예측 값.
아래 자료도 참고 하면 좋을 것 같다.
https://angeloyeo.github.io/2020/08/16/gradient_descent.html
경사하강법(gradient descent) - 공돌이의 수학정리노트
angeloyeo.github.io
평균제곱오차(MSE), 평균절대오차(MAE)
MSE, MAE, 손실함수와 머신러닝.
velog.io
'AI > Machine Learning' 카테고리의 다른 글
Ch5. 회귀 (0) | 2022.10.20 |
---|---|
xg boost 설치 & light gbm 설치 (0) | 2022.10.17 |
Ch4. 분류 (0) | 2022.10.13 |
Human Activity Recognition Using Smartphones Data Set (0) | 2022.10.13 |
Pima indian diabetes : 피마 인디언 당뇨병 예측 (0) | 2022.10.13 |