[머신러닝] 앙상블 모델 : Boosting / Stacking 적용해보기

2023. 8. 30. 20:59
반응형

 

포스팅된 글의 인용한 모든 이미지는 CCL 라이선스의 이미지만을 사용했으며, 출처를 밝힙니다.

 

Boosting

 

 


Boosting은 여러 개의 약한 학습기(Weak Learner)를 결합하여 강한 학습기(Strong Learner)를 만드는 앙상블 기법이다.

여러 개의 Weak Learner를 순차적으로 결합하여 예측 성능을 향상하면서, 모델의 오류를 보정해나간다.

순차적인 앙상블 모델이다.


AdaBoost

잘못 분류된 샘플에 가중치를 높여서 다음 모델을 학습시키는 방식

Weak Learner의 결과에 가중치를 적용하여 Strong Learner를 생성한다.


Gradient Boosting

이전 모델의 예측 오차에 새로운 모델을 학습시켜 오차를 줄이는 방식. Gradient Descent를 사용하여 가중치 업데이트를 수행한다.

모델이 순차적으로 적용됨에 따라 오차를 감소시킬 수 있음. 그렇지만 Overfitting에 주의해야 한다.

 

 

 


Stacking

다양한 모델에서 예측한 결과를 기반으로 다시 모델을 훈련하여 최종결과를 도출 방법

 

 

 

 


AdaBoost : 직접 작성

 

 

 

데이터 수집 및 특징 추출, 필요한 함수 작성

 

유방암 데이터를 사용하였으며, 오차와, 가중치(알파)를 기반으로 Weight를 업데이트 하는 메서드를 만들어둔다.

 

 

 

 

 

여러개의 Weak Learner을 통해서 Strong Learner 생성

 

 

 


AdaBoost : Scikit-Learn 사용

 

 

 

 

 


GradientBoost : 직접 작성

 

 

 

데이터 수집 및 특징 추출

 

당뇨 데이터를 사용하였다.

 

 

 

 

 

모델을 순차적으로 적용시키며 Gradient Descent 수행

 

 

 

 


GradientBoost : Scikit-Learn 이용

 

 

반응형

BELATED ARTICLES

more