BookmarkSubscribeRSS Feed

[EM] 그래디언트 부스팅(Gradient Boosting) 이론

Started ‎06-10-2020 by
Modified ‎06-10-2020 by
Views 685

 

이번시간에는 그래디언트 부스팅(Gradient Boosting)에 대하여 다뤄보겠습니다.

 

 

 

 

introduction

 

그래디언트 부스팅이란 Gradient Desent 와 Boosting의 합성어로 쉽게 말해 Boosting에 Gradient Descent를

접목시킨 강력한 머신러닝기법입니다.

 

우선 Boosting이란 앞서 연재된 글에서 소개 된 바와 같이 단순한 모델들을 결합하여 단계적으로 학습함으로써

 이전모델의 약점을 점점 보완해 가는 모델입니다.

 

 

 

 

Gradient Descent

 

Gradient Descent는 단어 그대로 해석하면 ‘경사 하강’ 이란 의미입니다. 말 그대로 함수의 기울기를 구하여

기울기가 낮은 쪽으로 이동시키면서 극값에 이를 때까지 반복하는 방법입니다.

weu9lJJ9CZ3mAAAAABJRU5ErkJggg__.png

위의 그림은 3yeZvc8K12tSkptmsuTJ0xxShQx9cxn9b69dNn2N07R3Q5ng2U5H0sM_oBRzF7sP68XRnX4nwnY2Zt6cbMXlnGYGMQEYgI5ARyAi.png를 얻는 모습을 나타내고 있습니다.

10.PNG

QCj5a_bxmo4AAAAASUVORK5CYII_.png

2_PpBONuD0VUKNpPA53wfyjbTykVovbQQGXc7XGOFYocDVTGXZlF22qgMu62PdoKWGXclQ20rQYq427bo62AVcZd2UDbaqAy7rY9.png

7TVxAAAAX0lEQVQYV2NgoDlQYuFgUBHihNojIcOuoMgMt1SJXV5YCs5T5hMXRLhHmYeDgUGRVYSbSQEoqMQGVCcrzSTHB_JJg80T.png은 이동할 거리를 조절하는 매개변수입니다7TVxAAAAX0lEQVQYV2NgoDlQYuFgUBHihNojIcOuoMgMt1SJXV5YCs5T5hMXRLhHmYeDgUGRVYSbSQEoqMQGVCcrzSTHB_JJg80T.png은 wolfe 조건을 만족하는 라인검색을 통해 구하거나 다음과 같은 Barzilai-Borwein 방법을 통해 구할 수 있습니다.

ALahbTLCcXoIAAAAAElFTkSuQmCC.png

 

그래디언트 부스팅은 약한 모델들을 단계적으로 부스팅하는 과정에서 이전 모델의 오류를 손실함수로 나타내고

이 손실함수를 최소화하는 방법으로 Gradient Descent를 사용하는 분석기법입니다.

 

 

 

 

 

algorithm

 

iHuQwAAAABJRU5ErkJggg__.png

 

2.PNG

 

NXRuGGCzOK8AAAAASUVORK5CYII_.png

이런 함수식을 추정량h(x)에 대하여 다시 정리하면

Ab8WejzIfwLL8kLFhdH5N0AAAAASUVORK5CYII_.png

위와 같은 식이 나오는데 그래디언트 부스팅의 주 목적은 이 h(x)를 추정하는 것입니다그리고 h(x)를 추정하는 과정에서 Gradient descent를 사용하게 됩니다.

분류나 순위문제에서 손실함수에 대한 일반적인 아이디어는 주어진 모델에 대한 잔차 y-F(x)가 오차제곱 손실함수SJNRglKaw7ChNQfzG3W9oOSBAd_Ll7gAAAABJRU5ErkJggg__.png의 음의 기울기라는 점에서 나왔습니다.

따라서 그래디언트 부스팅의 목적은 특정한 손실함수의 기대값을 최소화하는 함수 F(x) 대한 근사치 7TVxAAAATklEQVQYV2NgwAFEGdnEQVLSQlziYpzCyKqkOBiBgAUkJAokJdhBLEEwCdLAJyDNLwJiSbIyMjKDDZFgFpfkBssilPHy.png을 찾는 것입니다.

 sAAAAASUVORK5CYII_.png

3.PNG

kuNxFdT9cCgAAAABJRU5ErkJggg__.png

4.PNG

wAAAABJRU5ErkJggg__.png

하지만 임의의 손실함수 L에 대한 최고의 함수h를 고르는 것은 계산적으로 불가능합니다따라서 함수를 단순화 시키게 됩니다이때 Gradient descent를 적용하게 됩니다연속형의 경우아래와 같은 방정식에 따라 모델을 업데이트합니다.

lpQRDMEGliSKBwZZAQdjBlTB_6hUw3pnU_It4ecN4a7wNz28QOdHb7g83De4YSu1FAkUCnUqgIGynkivPFQkUCRQJtJLAyM3DtpJ.png

그리고 이산형의 경우, 손실함수L의 기울기에 가장 가까운 후보함수h를 선택하고 계수IyiLFzMgjwMQmLMAkzMIiyCPLzAg0T5_LhAJspxCoIpkWYIVYIsUFoPjQaLAgAVnoBlqN2D_cAAAAASUVORK5CYII_.png 은 line search을 통해 구합니다. 비록 이런 접근법이 완벽하게 정확하지는 않지만 충분히 설득력있는 근사값을 얻을 수 있습니다.

 

 

loss function

 

대표적인 손실 함수는 Square loss : PfoL1gwcDKGNKdAAAAAASUVORK5CYII_.png 가 있고 Square loss 는 수학적으로 다루기는

쉽지만 이상치에 민감한 단점을 가지고 있습니다. 이러한 단점을 보완하는 이상치에 민감하지 않은 손실함수로는 Absolute loss 나 Huber loss 가 있습니다.

 

BKlXqhBMIxAXaNBAKQYwkOp0WLY2r9ndZK9Mk64VRkK9V0XhK7qbwpCrUrQga0aBADrHegL1QjUI8UcUgzq0SXAeofli4GF9a4eU.png

 

 

 

 

 

 

 

Reference

https://en.wikipedia.org/wiki/Gradient_descent

http://www.ccs.neu.edu/home/vip/teach/MLcourse/4_boosting/slides/gradient_boosting.pdf

https://en.wikipedia.org/wiki/Gradient_boosting

Version history
Last update:
‎06-10-2020 10:06 PM
Updated by:
Contributors

sas-innovate-white.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.

 

Early bird rate extended! Save $200 when you sign up by March 31.

Register now!

Article Labels
Article Tags