티스토리 뷰

728x90

이번 포스팅은 GBM Regressor가 어떤 방식으로 동작하고, split  하는지 간단하게 손으로 구하는 포스팅이다.

GBM의 기본적인 이론을 숙지한 후 보는 것을 추천드린다.

https://sims-solve.tistory.com/96

 

[ML] GBM(Gradient Boosting Machine) - 정리

이번 포스팅에는 직접 GBM(Gradient Boosting Machine)을 살펴보려고 한다. boosting의 개념을 모른다면, 이전 글 ada boost를 보고 오길 바란다. boosting의 의미를 알아야 GBM을 알아가는데 직관적으로 와닿을

sims-solve.tistory.com

 

일단, GBM의 학습 과정을 간단하게 기술해 보았다. 밑 [그림 1]을 보고 천천히 이해해 보기 바란다.

[그림 1]

 

딱 2개의 tree의 과정을 설명해 놓았다. 여러분들은 이미 GBM은 '잔차를 학습'하는 것이라 알고 있기에 위의 내용이 쉽게 이해될 것이다. 즉, Tree를 거쳐가며 prediction의 값을 최대한 y(target)값에 가깝게 예측할 수 있도록 잔차를 DT로 학습하여 prediction을 update 해나가는 식이다.

 

predict(예측)은 어떻게 진행 될까?

사실, train할때 맨 처음 dummy regressor를 이용하여 target의 평균을 return 하는 모델을 하나 만들어 놓고 시작한다.( dummy regressor는 {“mean”, “median”, “quantile”, “constant”} 총 4개로 학습 가능함)

이러한 이유때문에, predict를 할때, 기존 train의 평균 값을 prediction으로 가져온다. 그 후 학습해놓은 DT에 X변수 값들을 넣어 prediction를 update해가는 방식이다.

모든 DT를 마치고 난 prediction값이 결국 예측하고자 하는 y-hat이 되는 것이다.

 

여기까지 GBM Regressor의 학습 방법, 예측 방법에 대해 알아보았다.

이전 이론과 차이점은 learning rate(lr)의 존재 여부 정도인것 같다. lr이 존재함으로써, 여러 DT를 걸쳐 조금씩 학습 할 수 있도록 해준다.

 

이 다음에는 DT의 split이 어떤 방식으로 되는지 한번 손으로 직접 구해보려고 한다.

물론, DT의 split은 이미 DT 포스팅에 존재하지만, GBM에서는 DT의 criterion이 squared error가 아닌 Friedman mse기 때문에 한번 직접 계산해보려고 한다.

혹, DT Regressor의 Split 하는 방식을 모른다면 밑에 포스팅을 보고 오면 훨씬 더 도움이 될 것이다.

https://sims-solve.tistory.com/90

 

[ML] 의사결정트리(Decision Tree) - Regression 손으로 구하기

이번 포스팅에는 직접 Decision Tree의 Regrssion을 살펴보자! 이전 포스팅과 마찬가지로 손으로 한번 간단한 dataset을 가지고 직접 구해보겠다. 만약, Decision Tree Classification을 모른다면, 밑에 링크를 참

sims-solve.tistory.com

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함