본문 바로가기

AI/이론

[ML] Ensemble, Boosting

  • bagging : variance를 감소시키는 역할
  • boosting : bias를 감소시키는 역할

 

 

 

 

  • bagging은 병렬로 학습, boosting은 순차적으로 학습 ( 가중치 재분배를 위해서 )

 

Boosting

  • AdaBoost / Gradient Boost
  • 가중치 평균을 사용하여 약한 학습자를 더 강력한 학습자로 만드는 알고리즘 그룹을 말한다.
  • "teamwork"에 관한 것
  • 실행되는 각 모델은 다음 모델에 집중할 feature을 결정한다
  • 차례대로 하나는 다른 것으로부터 배우고, learning을 boosting함

 

 

 

1. Gradient Boost

gradient boosting regression tree는 여러 개의 decision tree를 묶어 강력한 model을 만드는 ensemble기법입니다.

random forest와 달리 gradient boosting model은 이전 tree의 오차를 보완하는 방식으로 tree를 만듭니다.

 

gradient boosting은 무작위성이 없어 powerful한 pre-pruning이 사용되며

1~5 정도 깊이의 tree를 사용하므로 메모리를 적게 사용하고 예측도 빠릅니다.

 

gradient boosting은 이런 얕은 트리들을 계속해서 연결해나가는 것입니다.

 

gradient boosting은 parmeter설정에 random forest보다 조금 더 민감하지만 잘 조정하면 높은 정확도를 제공합니다.

 

gradient boosting에서 주요 parameter는 이전 트리의 오차를 얼마나 강하게 보정할 것인가를 제어하는

learning_rate가 있습니다.

 

learning_rate를 높이면 보정을 강하게 하기 때문에 복잡한 모델을 만듭니다.

n_estimator 값을 키우면 ensemble에 트리가 더 많이 추가되어 모델의 복잡도가 커지고 train 세트를 더 정확하게 fitting합니다.

 

 

 

 

 

2. Ada Boost

 

 

 

 

Gradient Boosting Model

#!/usr/bin/env python3 Gradient Boosting Model gradient boosting regression tree는 여러 개의 decision tree를 묶어 강력한 model을 만드는 ensemble기법입니다. random forest와 달리 gradient boosting mo..

woolulu.tistory.com

scikit 함수 인자

 

3.2.3.3.6. sklearn.ensemble.GradientBoostingRegressor — scikit-learn 0.15-git documentation

Parameters:loss : {‘ls’, ‘lad’, ‘huber’, ‘quantile’}, optional (default=’ls’) loss function to be optimized. ‘ls’ refers to least squares regression. ‘lad’ (least absolute deviation) is a highly robust loss function solely based

scikit-learn.org

 

 

AdaBoost - 한 눈에 알아보기

Boosting Ensemble에 대한 기본적인 이해는 아래의 페이지를 보면 좋습니다.Ensemble (Bagging vs Boosting)Sample마다 Error에 기여하는 정도를 정의하고 Sample Weight을 변화시켜 해당 Error가 큰 Sample에 더

velog.io

 

 

앙상블 학습(ensemble learning)으로 알고리즘 성능 개선하기(3) - Boosting

앙상블 학습(ensemble learning)기법을 통한 알고리즘 성능 개선하는 방법에 대하여 알아보겠습니다.

teddylee777.github.io

 

'AI > 이론' 카테고리의 다른 글

[ML] Gradient Descent1  (0) 2021.05.18
[ML] Activation1 - 종류 및 설명  (0) 2021.05.18
[ML] Ensemble, Bagging (bootstrap aggregating) - Random Forest  (0) 2021.05.12
[ML] Ensemble  (0) 2021.05.12
[ML] 참고  (0) 2021.04.06