Note
부스팅(Boosting) - GBM ( Gradient Boosting ) 본문
부스팅(Boosting) - GBM ( Gradient Boosting )
알 수 없는 사용자 2021. 5. 25. 13:47부스팅 : 성능이 약한 학습기를 여러 개 연결하여 순차적으로 학습함으로써 강한 학습기를 만드는 앙상블 학습 기법.
장점 : 오답에 대해 높은 가중치를 부여하고 정답에 대해 낮은 가중치를 부여하여 오답에 더욱 집중한다.
단점 : 이상치(Outlier)에 취약하다.
GBM은 가중치 업데이트를 경사 하강법을 이용한다. 기울기를 최소화하는 방향성을 가지고 반복적으로 가중치 값을 업데이트하는 것이 경사 하강법이다.
GBM 단점 : 가중치 업데이트 반복 수행으로 인해 학습 시간이 상대적으로 오래 걸린다, 그리드서치까지 할 경우 더 오랜 시간이 소요된다.
코딩 옵션
(1) loss : 경사 하강법에서 비용 함수 지정, 디폴트 값은 'deviance'
(2) learning_rate : 학습을 진행할 때마다 적용하는 학습률. 디폴트 값은 0.1이다. 너무 작은 값을 적용하면 업데이트되는 값이 작아져서 최소 오류 값을 찾아 예측 성능이 높아질 가능성이 높다. 또한, 많은 약한 학습기는 순차적인 반복이 필요해서 소요 시간이 오래 걸리고 너무 작게 설정하면 반복이 완료되어도 최소 오류 값을 찾지 못할 가능성이 있다. 너무 큰 설정은 최소 오류 값을 그냥 지나쳐 예측 성능이 떨어질 가능성이 높지만 수행 시간은 빠르다.
(3) n_estimators : 약한 학습기의 개수. 순차적으로 오류를 보정하므로 많을수록 예측 성능이 일정 수준까지는 좋아질 수 있다. 디폴트 값은 100이며, 많을수록 시간이 오래걸린다.
(4) subsample : 학습에 사용하는 샘플링 비율. 디폴트 값은 1, 이는 전체 학습 데이터 기반으로 학습한다는 의미이다( ex) 0.5는 학습 데이터의 50% 사용). 과적합이 우려되는 경우 1보다 작은 값으로 설정한다.
'Machine Learning > Classification' 카테고리의 다른 글
부스팅(Boosting) - LightGBM (0) | 2021.05.25 |
---|---|
부스팅(Boosting) - XGBoost ( eXtra Gradient Boost ) (0) | 2021.05.25 |
배깅 (Bagging) - 랜덤 포레스트(Random Forest) (0) | 2021.05.25 |
보팅 (Voting) (0) | 2021.05.24 |
앙상블 학습 (0) | 2021.05.24 |