반응형

 

 

 

<GBM>

부스팅 알고리즘

→1. AdaBoost(Adaptive boosting)

→2. 그래디언트 부스트(GBM)

 

 

  1. AdaBoost

 

개별적인 모델을 순차적으로 학습을 시킬 때, 하나의 모델을 각 한 턴에 학습을 시키고, 각각의턴 마지막에는 오분류된 (회귀오차가 큰) 샘플들을 찾아서 그 것들이 새로운 훈련세트에서는 더 많이 나올 수 있도록 가중치를 부여함. 즉, 앞선 모델에 의해서 나타는 큰 오차는 이어서 학습된 모델이 그 오차를 줄이기 위한 학습을 할 것이므로 줄어들 것이다.

 

  • 첫번째 모델과 가중치, 두번째 모델과 가중치, 세번째 모델과 가중치를 잘 합하면 최종적 분류 경계면 생성!

2. GBM

에이다부스트와 유사하나, 가중치 업데이트를 경사하강법을 이용하는 것이 큰 차이

x1,x2,x3 … 의 피처가 있을 때, 결괏값을 y, 예측함수를 F(x) 라고 한다. 오류 식 y-F(x) 를 최소화하는 방향성을 가지고 반복적으로 가중치 값을 업데이트하는 것이 경사 하강법이다.

GBM 은 과적합에도 강한 뛰어난 예측 성능을 가진 알고리즘이다. 하지만 수행 시간이 오래 걸린다는 단점이 있다.

3.XGBoost

XGBoost는 그래디언트 부스팅머신이다. 보다 빠르게 수행하고자, 스케일 과정에서 병렬처리가 가능하게 하려는 목적이 있다.

  • Approximate algorithm 은 병렬처리가 가능하므로 Basic exact greedy algorithm 보다 빠른 수행

4.LightGBM

위의 부스팅 계열 알고리즘보다 더 빠른 수행 가능

원래의 부스팅은 모든 feature, 모든 data instances 에 대해 추정해야하므로 시간이 오래걸림

Idea

  1. Gradient-basde One-Side Sampling
  • Keep large gradients and randomly drop instances small gradients

실질적으로는 gradients 가 낮은 객체들은 random하게 drop 되므로 모든 객체에대해 수행 X

  1. Exclusive Feature Bundling
  • 하나의 개체에 대해서 두개이상의 변수들이 0이 아닌 값을 동시에 가질 확률이 매우 낮다는 것을 이용

 

 

 

반응형

+ Recent posts