BASHA TECH

앙상블 학습 Ensemble Learning 본문

AI/Machine Learning

앙상블 학습 Ensemble Learning

Basha 2022. 10. 14. 14:50
728x90

앙상블 학습의 유형은 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

https://velog.io/@yuns_u/%ED%8F%89%EA%B7%A0%EC%A0%9C%EA%B3%B1%EC%98%A4%EC%B0%A8MSE-%ED%8F%89%EA%B7%A0%EC%A0%88%EB%8C%80%EC%98%A4%EC%B0%A8MAE

 

평균제곱오차(MSE), 평균절대오차(MAE)

MSE, MAE, 손실함수와 머신러닝.

velog.io

 

728x90
반응형

'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
Comments