XGBoost Algorithm Overview
1. XGBoost(Extreme Gradient Boosting) ํน์ฅ์
LightGBM, CatBoost๊ณผ ๊ฐ์ด ์บ๊ธ์์ ๊ฐ๊ด๋ฐ๊ณ ์๋ gradient boosting ์๊ณ ๋ฆฌ์ฆ
Parallel Processing: GBDT์ ๊ธฐ๋ฐํ๊ณ ์์ง๋ง, GBDT๊ณผ ๋ฌ๋ฆฌ ๋ณ๋ ฌ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ์ฌ ์ํ ์๊ฐ์ด ํจ์ฌ ๋น ๋ฆ (LightGBM๋ณด๋ค๋ ๋๋ฆผ)
Robust to Overfitting: Greedy ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ๊ฐ์ง์น๊ธฐ(pruning)๋ฅผ ์ํํ๊ณ early stopping ๊ธฐ๋ฅ์ ์ง์ํ๊ธฐ ๋๋ฌธ์ ๊ณผ์ ํฉ์ด ์ ์ผ์ด๋์ง ์์
Cost Function: Cost Function์ ๋ํด 1์ฐจ, 2์ฐจ ๋ํจ์ ์ ๋ณด๋ฅผ ๋ชจ๋ ์ฌ์ฉ
Regularization: Decision Tree ๊ตฌ์ฑ ์ Regularization Term์ ์ถ๊ฐํ์ฌ overfitting ๋ฐฉ์ง
Flexible Loss function: ์ฌ์ฉ์ ์ ์ Loss function์ ์ํ๋ ๋๋ก ์ ์ํ ์ ์์
Sparsity aware: Missing Value์ ๋ํด์ ์์ฒด์ ์ผ๋ก ์ฒ๋ฆฌํจ
2. Boosting ์๋ฆฌ: Objective Function
Objective Function: Training Loss + Regularization
๊ฐ์ ํธ๋ฆฌ๊ฐ ์๊ณ ๋ชจ๋ธ ๋ฅผ ๋ํด ๋ฅผ ์์ธกํ ๋, ์ด ํธ๋ฆฌ๋ค์ด ๋ชจ์ฌ์ ๊ตฌ์ฑ๋๋ ๋ชจ๋ธ (CART; Classification And Regression Trees์ ๋ชจ๋ tree ์ธํธ)๋ ์๋์ ๊ฐ์ด ํํํ ์ ์๋ค.
๋ชฉ์ ํจ์(objective function)๋ ์๋์ ๊ฐ์ด ์ ์ํ์ฌ ์ต์ ํํ ์ ์๋ค.
์ฌ๊ธฐ์์ ์ข์ธก ํญ์ ์ค์ ๊ฐ๊ณผ ์์ธก๊ฐ๊ณผ์ ์ฐจ์ด๋ฅผ ๋ํ๋ด๋ training loss์ด๊ณ , ์ฐ์ธก ํญ์ ํธ๋ฆฌ ๋ชจ๋ธ์ ๋ณต์ก๋๋ฅผ ์กฐ์ ํ์ฌ ๊ณผ์ ํฉ(overfitting)์ ๋ฐฉ์งํ๋ ์ ๊ทํ(regularization) ํญ์ด๋ค. ํ์ตํ ํ๋ผ๋ฉํฐ๋ค์ ๊ฐ ํธ๋ฆฌ์ ๊ตฌ์กฐ์ leaf ๋ ธ๋์ score๋ก ์ด๋ค.
Additive Training
XGBoost๋ ์ข ๋ GBM๊ณผ ๋ฌ๋ฆฌ ํธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ง์ ํ์ตํ๋ค. ๋ค์ ๋งํด, ํธ๋ฆฌ์ ๋ํ ์ต์ ํ๋ผ๋ฉํฐ๋ค์ ์ฐพ๋๋ค.
์ข ๋ GBM์์๋ Stochastic Gradient Descent๋ฅผ ์ฌ์ฉํ๊ธฐ์ ์์ฐจ(residual)์ ๋ํ ์์ฐจ์ ์ธ ๊ณ์ฐ์ด ํ์ํ๊ธฐ์ ํ ๋ฒ์ ๋ชจ๋ ํธ๋ฆฌ์ ์ต์ ํ๊ฐ ๋ถ๊ฐ๋ฅํ๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด XGBoost์์๋ ํ ๋ฒ์ ํ๋์ ํธ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ ๊ฐ์ฐ(additive) ์ ๋ต์ ์ฌ์ฉํ๋ค.
๋ ์๊น์ง์ ์์ธก ๊ฒฐ๊ณผ์ด๊ณ ๋ ์์ ์ ๋ถ๋ฅ๊ธฐ ํจ์์ด๋ค.
(3)์ ์์์ ๊ทธ๋๋ก ์นํํ๋ฉด ๋ชฉ์ ํจ์๋ ์๋์ ๊ฐ์ด ํํํ ์ ์๋ค.
๋ง์ฝ, loss function์ MSE(Mean Squared Error)๋ก ์ ์ํ๋ฉด ๋ชฉ์ ํจ์๋ ๋ค์๊ณผ ๊ฐ๋ค.
(6)์ ์์์ ์ ์ดํด๋ณด์. ๋ถ๋ช ์ ๋ํ ๋ฌธ์ ์ธ๋ฐ ์์ ๊น์ง ๊ณ ๋ คํด์ผ ํ๊ธฐ์ loss function ์ต์ ํ๊ฐ ๋งค์ฐ ๋ณต์กํด์ง๋ค. ์ด๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์์๊น?
Taylor ๊ธ์๋ฅผ ํ์ฉํ objective function ๊ฐ์ํ
์๊ธฐ์ ๊ฐ์ด ๋ชฉ์ ํจ์๋ฅผ ๊ทธ๋๋ก ์ ๊ฐํ๋ฉด, ์๋ ๋ณต์กํด์ง๊ณ ๋ค์ํ loss function์ ์ ์ฉํ๋๋ฐ ์ด๋ ค์์ด ์๋ค. ํ์ง๋ง, ํ ์ผ๋ฌ ๊ธ์๋ฅผ ์ฌ์ฉํด ๊ฐ์ํํ๋ฉด ์ด๋ฌํ ์ด๋ ค์๋ค์ ํด๊ฒฐํ ์ ์๋ค.
ํ ์ผ๋ฌ ๊ธ์ ์ ๊ฐ๋ก ๋ชฉ์ ํจ์๋ฅผ ์นํํ๋ฉด ์๋์ ๊ฐ๋ค. ๋ 1์ฐจ ํธ๋ฏธ๋ถ ํจ์๋ก gradient์ด๊ณ , ๋ 2์ฐจ ํธ๋ฏธ๋ถ ํจ์๋ก Hessian ํ๋ ฌ์ด๋ค.
loss function ์ ์์ ์์ ์์์ด๋ฏ๋ก, ์์๋ฅผ constant ํญ์ ํฌํจ์ํฌ ์ ์๋ค. ๋ฐ๋ผ์, (7) ์ ์๋์ ๊ฐ์ด ์ถ์ฝ ๊ฐ๋ฅํ๋ค.
์ด์ loss function ํํ์ ์์กด์ ์ด์ง ์์ผ๋ฏ๋ก, ์ ๋ฅผ ์ฌ์ฉ์ ์ ์ํ์ฌ ๋ค์ํ loss function์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ๋ถ์ฐ ์ฒ๋ฆฌ๊ฐ ์ฉ์ดํ๋ค.
์ด์ ์์ ์ฐ์ธก์ ํญ์ ๋ํด ์์๋ณด์.
Regularization
Decision Tree ๋ฌ๋ฆฌ XGBoost์์๋ ํธ๋ฆฌ์ ๋น์ค์ ์กฐ์ ํ๋ ์ ๊ทํ ํจ์๋ฅผ ์ ๊ทน ์ฌ์ฉํ๋ค.
์ฐ์ , ํธ๋ฆฌ ํจ์ ๋ฅผ ์๋์ ๊ฐ์ด ์ ์ํ์. (: leaf ๋ ธ๋์ score, : ๋ฐ์ดํฐ ํฌ์ธํธ๋ค์ ๋ฒ์งธ leaf ๋ ธ๋์ ํ ๋นํ๋ ํจ์, : leaf ๋ ธ๋์ ๊ฐ์)
๋ค์ ๋งํด, ๋ฐ์ดํฐ ํฌ์ธํธ ๋ฅผ ๋ฒ์งธ leaf์ ํ ๋นํ๊ณ , ๊ทธ์ ๋์ํ๋ ๋ฒ์งธ leaf์ score ๋ฅผ ๋ฐ์ดํฐ ํฌ์ธํธ์ ํ ๋นํ๋ค.
XGBoost์์๋ ํธ๋ฆฌ์ ๋น์ค(weights)์ ์กฐ์ ํ๋ ์ ๊ทํ ํจ์ ๋ฅผ ์๋์ ๊ฐ์ด ์ ์ํ๋ค.
๋ leaf์ ๊ฐ์๋ก ๋ชจ๋ธ์ด ์ผ๋ง๋ ์ ํํ๊ฒ ๋ง๋ค์ด์ก๋์ง์ ๋ํ ๋ณต์ก๋๋ฅผ ์กฐ์ ํ๊ณ , ๋ leaf score์ L2 norm ํจ์์ด๋ค. ์ด ํจ์๋ ์ต์ ํ๊ฐ ๊ฐ๋ฅํ๋ค.
์ด์ ์์ (8)์ (9)์ (10)์ ๊ทธ๋๋ก ์นํํ์ฌ ์๋์ ๊ฐ์ด ํ์ด์ธ ์ ์๋ค.
๋๋ฒ์งธ ์ค์ ๋ j๋ฒ์งธ leaf์ ํ ๋น๋ ๋ฐ์ดํฐ ํฌ์ธํธ์ ์ธ๋ฑ์ค ์ธํธ๋ก, ๋์ผ leaf์ ์ํ ๋ชจ๋ ๋ฐ์ดํฐ ํฌ์ธํธ๋ ๋์ผํ score๋ฅผ ๊ฐ์ง๋ฏ๋ก ์ฒซ๋ฒ์งธ ์ค์ ์์์ ๋ณ๊ฒฝํ ๊ฒ์ด๋ค. ์์์ sigma ์์ฒจ์๋ฅผ ์ ํ์ธํด ๋ณด๋ฉด, ๋ชฉ์ ํจ์๋ weight์ ๋ํ 2์ฐจ์์ ๊ฐ์ ํฉ์ผ๋ก ์ ๊ฐ๊ฐ ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ์ ์ ์๋ค. ์ด์ ์ ์ ๋ํด ์ต์์ ์ด ๋๋ ํ๋ผ๋ฉํฐ๋ฅผ ๊ตฌํ๋ ๋ชฉ์ ํจ์ ์ต์ ํ๋ฅผ ์ํํด ๋ณด์.
3. Boosting ์๋ฆฌ: Optimization
Formulation
๋ก ์ ์ํ์ฌ (11)์ ์์์ ๋จ์ํํด๋ณด๋ฉด, 2์ฐจ์(quadratic form)์ ํํ๋ฅผ ํ์ธํ ์ ์๋ค.
๋ค์ ๋งํด, ์ ์ ๋ํด ์ต์์ ์ ๋ง์กฑํ๋ ํธ๋ฆฌ ๋ ์๋์ ๊ฐ์ด ํํํ ์ ์๋ค.
loss function์ ์ต์ํํ๊ธฐ ์ํด ์ ๋ํ loss function์ ๋ํจ์๋ฅผ 0์ผ๋ก ์ค์ ํ, 2์ฐจ์์ ๋ํ ์ต์ ํ ๋ฌธ์ ๋ ์๋ ํํ๋ก ์ต์ ํ๊ฐ ๊ฐ๋ฅํ๋ค.
ํ์ง๋ง, ํ ๊ฐ์ง ์ ์ฐจ๊ฐ ๋ ๋จ์์๋ค. ์๋์์ ํ์ธํด ๋ณด์.
Tree ๋ถ๊ธฐ
Decision Tree ๊ธฐ๋ฐ ์๊ณ ๋ฆฌ์ฆ์ ๊ณผ์ ํฉ์ ๋ฐฉ์งํ๊ธฐ ์ํด ๊ฐ์ง์น๊ธฐ(pruning)๊ฐ ํ์์ด๋ค. ์ด๋ฅผ ์ํด์๋ ์ด์์ ์ผ๋ก๋ ๋ชจ๋ ํธ๋ฆฌ๋ฅผ ์์ฑํ๊ณ , ์ด ์ค ๊ฐ์ฅ ์ต์ ์ ํธ๋ฆฌ๋ฅผ ์ ํํด์ผ ํ์ง๋ง, ์ค์ ๋ก ๊ทธ๋ ๊ฒ ์ ์ฉํ๋ ๊ฒ์ NP-hard ๋ฌธ์ ๋ก ๋งค์ฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ XGBoost๋ Level-wise tree growth ์ ๋ต์ผ๋ก ํ ๋ฒ์ ํ ๋จ๊ณ์ ํธ๋ฆฌ๋ฅผ ์ต์ ํํ๋ค. (์ฐธ๊ณ ๋ก, LightGBM์ leaf-wise tree growth ์ ๋ต์ผ๋ก ๋ ๋ณต์กํ ํธ๋ฆฌ๋ฅผ ์์ฑํ์ง๋ง, GOSS (Gradient-based One-Side Sampling) ์ EFB (Exclusive Feature Bundling) ๋ฑ์ ์ฐจ๋ณํ๋ ์ต์ ํ ๋ฐฉ๋ฒ์ผ๋ก XGBoost๋ณด๋ค ๋น ๋ฅธ ํ์ต ์๋๋ฅผ ์๋ํ๋ค.)
์ข ๋ ๊ตฌ์ฒด์ ์ผ๋ก ์ค๋ช ํ๋ฉด, ํธ๋ฆฌ๋ฅผ greedyํ๊ฒ ํค์ฐ๋ฉด์ ํธ๋ฆฌ์ ๊ฐ์ง๋ฅผ ๋๋๋ ์์ ์์ ์ผ์ชฝ ๊ฐ์ง์ ์ค๋ฅธ์ชฝ ๊ฐ์ง์ ๋ํ score๋ฅผ ๊ณ์ฐํ์ฌ Information Gain์ ๊ณ์ฐํ๊ณ Gain์ด ์์์ผ ๋์๋ ๊ฐ์ง์น๊ธฐ๋ฅผ ์ํํ๋ค. ํน์ depth์์ ๊ฐ์ง์น๊ธฐ ์ํ ์์ Information Gain์ ์๋์ ๊ฐ์ด ํํ ๊ฐ๋ฅํ๋ค.
๋๊ดํธ ์์ ์ฒซ๋ฒ์งธ ํญ์ ์ข์ธก leaf score(i.e., left side children score), ๋๋ฒ์งธ ํญ์ ์ฐ์ธก leaf score, ๋ง์ง๋ง ํญ์ ์๋ leaf์ score๋ฅผ ์ฐ์ถํ๋ฉฐ, ๋ง์ง๋ง gamma๋ ์ถ๊ฐ leaf์ ์ ๊ทํ term์ด๋ค. ๊ฐ์ง ๊ณผ ์ ์๋ก ์ค๋ณต์ด ๋ฐํ์ง ์๋ disjoint set์ด๋ค. ๋ง์ฝ ๋๊ดํธ ์์ ๊ฐ์ด ๋ณด๋ค ์๋ค๋ฉด, information gain์ด ์์๊ฐ ๋๋ฏ๋ก ๋ ์ด์ ๊ฐ์ง๋ฅผ ์น์ง ์๋ ๊ฒ์ด ์ข๋ค๋ ์๋ฏธ์ด๋ค.
์ด์ ๋ํ psuedo ์ฝ๋๋ ์๋์ ๊ฐ๋ค.(Exact Greedy Algorithm for Split Finding) ๋ค๋ง, ์ค์ ๊ตฌํ์ missing value๊น์ง ๊ณ ๋ คํ Sparsity-aware Split Finding์ ์ฌ์ฉํ๋ค.
๋ง์ง๋ง์ผ๋ก Gain์ด ๋์ ๊ฐ์ ํธ๋ฆฌ๋ค์ ์กฐํฉํ์ฌ ๋ถ์คํ ์ ์ํํ๋ฉด ์ต์ ์ ๋ชจ๋ธ์ ์์ฑํ ์ ์๋ค.
References
Paper
Official website
Last updated
Was this helpful?