Notice
Recent Posts
Recent Comments
Link
관리 메뉴

뛰는 놈 위에 나는 공대생

[머신러닝] Boosting method 본문

연구 Research/인공지능 Artificial Intelligent

[머신러닝] Boosting method

보통의공대생 2021. 5. 26. 00:54

앙상블(ensemble) 방법 중에 boosting method가 있습니다.

 

bagging도 ensemble에 속하는데, boosting과 차이가 있습니다.

bagging 방법은 boostrap으로 데이터를 resampling해서 여러 개의 모델을 만들어서, 그 모델들을 종합하는 방식입니다.

boosting 역시 여러 개의 모델을 만들지만, 그 모델에 가중치를 부여해서 가중치를 반복적으로 업데이트하는 방식입니다.

 

Adaboost

 

Updates weights of the observations at each iteration. Weights of well classified
observations decrease relatively to weights of misclassified observations. Models that perform
better have higher weights in the final ensemble model

 

 

Xgboost

regression과 classification 둘 다 사용할 수 있는 방법입니다. (애초에 앙상블 방법은 여러 개의 모델을 조합해서 만드는 방법이라는 뜻이기 때문에 목적에 맞는 모델이 여러 개 있기만 하다면 모든 목적에 적용할 수 있습니다.)

 

특징

1. Scalability : 모델의 성능이 데이터 크기에 관계 없음

2. End-to-End : 데이터를 받아 처리까지 모든 단계를 하나의 과정으로 진행

3. Boosting

 

Xgboost는 gradient boosting*을 사용하지만 gradient boosting machine(GBM)과 달리 과적합을 방지하기 위해 regularization을 사용합니다.

 

** gradient boosting : 실제값과 예측값의 오차를 줄이기 위해 순차적으로 개선하는 방식. 알고리즘의 정보손실을 최소화하기 위해 Gradient descent algorithm을 사용합니다.

 

 

Xgboost 방법은 bagging 방법을 사용하는 random forest처럼 tree를 계속 만들지만 그 tree에 가중치가 부여된다는 점과, 또 새로 만들어지는 tree에는 규제가 가해진다는 점이 특징적이라고 생각하면 쉽습니다.

 

(수식적인 내용은 보충

참고자료 : https://towardsdatascience.com/xgboost-mathematics-explained-58262530904a)

Comments