๐Ÿ’ชXGBoost ๊ธฐ๋ฒ•

์žฅ์ฑ„๋ฏผยท2025๋…„ 7์›” 30์ผ

XGBoost

Gradient Boosting์˜ ๊ฐ•ํ™” ๋ฒ„์ „
๊ฒฐ์ • ํŠธ๋ฆฌ๋ฅผ ์•ฝํ•œ ํ•™์Šต๊ธฐ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์•ฝํ•œ ๋ชจ๋ธ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์กฐํ•ฉํ•ด ๊ฐ•๋ ฅํ•œ ์˜ˆ์ธก ๋ชจ๋ธ์„ ๋งŒ๋“ฆ
๊ธฐ์กด Gradient Boosting๋ณด๋‹ค ์ •ํ™•๋„, ์†๋„, ์ž์› ํšจ์œจ์„ฑ ๋ฉด์—์„œ ํฌ๊ฒŒ ํ–ฅ์ƒ๋จ


๐Ÿง  ํ•ต์‹ฌ ์•„์ด๋””์–ด

"์ด์ „ ๋ชจ๋ธ์˜ ์˜ค๋ฅ˜๋ฅผ ๋‹ค์Œ ๋ชจ๋ธ์ด ๋ณด์™„" ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•™์Šต

  • ํ•™์Šต ๊ณผ์ •:
  1. ์ฒซ ๋ฒˆ์งธ ํŠธ๋ฆฌ๊ฐ€ ์›๋ž˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šต
  2. ๋‘ ๋ฒˆ์งธ ํŠธ๋ฆฌ๋Š” ์ฒซ ๋ฒˆ์งธ ํŠธ๋ฆฌ์˜ ์˜ˆ์ธก ์˜ค๋ฅ˜(์ž”์ฐจ, residual)๋ฅผ ํ•™์Šต
  3. ์ด๋Ÿฐ ์‹์œผ๋กœ ํŠธ๋ฆฌ๋“ค์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ์Œ“๊ณ , ๊ฒฐ๊ณผ๋ฅผ ํ•ฉ์‚ฐํ•˜์—ฌ ์ตœ์ข… ์˜ˆ์ธก

๐Ÿ” ์ˆœ์ฐจ ๊ตฌ์กฐ vs โš™๏ธ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ

  1. ๐Ÿ” ์ˆœ์ฐจ ๊ตฌ์กฐ (๋ถ€์ŠคํŒ…์˜ ํ•ต์‹ฌ ์›๋ฆฌ)
    XGBoost๋Š” Gradient Boosting ๊ณ„์—ด์ด๊ธฐ ๋•Œ๋ฌธ์—
    โžค ํŠธ๋ฆฌ๋“ค์€ ์ˆœ์ฐจ์ ์œผ๋กœ(์ง๋ ฌ) ํ•™์Šตํ•ด์•ผ ํ•จ
    ํŠธ๋ฆฌ1 โ†’ ํŠธ๋ฆฌ2 โ†’ ํŠธ๋ฆฌ3 โ†’ ...

  1. โš™๏ธ ๋ณ‘๋ ฌ ์ตœ์ ํ™” (XGBoost๋งŒ์˜ ๊ฐ•์ )
    ํ•˜๋‚˜์˜ ํŠธ๋ฆฌ๋ฅผ ๋งŒ๋“ค ๋•Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ณ‘๋ ฌ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅ:

    ๐Ÿ‘‰ ๋ณ‘๋ ฌ Split ํƒ์ƒ‰
    - ๊ฐ ๋…ธ๋“œ์—์„œ "์–ด๋–ค ํ”ผ์ฒ˜๋กœ ๋ถ„ํ• ํ• ๊นŒ?" ๋ฅผ ๋ชจ๋“  ํ”ผ์ฒ˜์— ๋Œ€ํ•ด ๋™์‹œ์— ๊ณ„์‚ฐ
    - ์˜ˆ์‹œ: ํ”ผ์ฒ˜ 1, 2, 3, 4 โ†’ ๊ฐ ํ”ผ์ฒ˜๋ณ„ split ํ›„๋ณด ๊ณ„์‚ฐ โ†’ ๋ณ‘๋ ฌ ์ˆ˜ํ–‰



๐Ÿš€ XGBoost๊ฐ€ GBM๋ณด๋‹ค ๋›ฐ์–ด๋‚œ ์ด์œ 

ํ•ญ๋ชฉXGBoost์˜ ๊ฐœ์„ ์ 
ํ•™์Šต ์†๋„ํŠธ๋ฆฌ ๋‚ด๋ถ€ ๋ณ‘๋ ฌ ์—ฐ์‚ฐ ๋„์ž…์œผ๋กœ ์†๋„ ํ–ฅ์ƒ
์ผ๋ฐ˜ํ™” ๋Šฅ๋ ฅ์ •๊ทœํ™”(term: lambda, alpha)์™€ ํ•™์Šต ์ข…๋ฃŒ ์กฐ๊ฑด์„ ๋„์ž…ํ•ด ๊ณผ์ ํ•ฉ ๊ฐ์†Œ
์ˆ˜ํ•™์  ๊ฐœ์„ ์†์‹ค ํ•จ์ˆ˜์— ๋Œ€ํ•ด 2์ฐจ ๋ฏธ๋ถ„(ํ—ค์‹œ์•ˆ)๊นŒ์ง€ ํ™œ์šฉ
๊ฒฐ์ธก์น˜ ์ฒ˜๋ฆฌ์ž๋™์œผ๋กœ ๊ฒฐ์ธก๊ฐ’ ์ฒ˜๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์„ ํƒํ•จ
์กฐ๊ธฐ ์ข…๋ฃŒ์ผ์ • ์—ํญ ๋™์•ˆ ์„ฑ๋Šฅ ๊ฐœ์„  ์—†์œผ๋ฉด ํ•™์Šต ์ž๋™ ์ข…๋ฃŒ(Early Stopping)
ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ€์ด๋“œ์ˆ˜๋™ ์กฐ์ • ์š”์†Œ๋“ค์— ๋Œ€ํ•œ ๊ฐ€์ด๋“œ ์กด์žฌ



โœจ ์ฃผ์š” ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ

ํŒŒ๋ผ๋ฏธํ„ฐ์„ค๋ช…
n_estimatorsํŠธ๋ฆฌ ๊ฐœ์ˆ˜ (๊ธฐ๋ณธ์ ์œผ๋กœ ๋งŽ์„์ˆ˜๋ก ์„ฑ๋Šฅ ์ฆ๊ฐ€, ๊ณผ์ ํ•ฉ ์ฃผ์˜)
max_depthํŠธ๋ฆฌ ์ตœ๋Œ€ ๊นŠ์ด
learning_rate๊ฐ ํŠธ๋ฆฌ์˜ ๊ธฐ์—ฌ ์ •๋„ (์ž‘์„์ˆ˜๋ก ํ•™์Šต ์†๋„ ๋А๋ฆฌ์ง€๋งŒ ์ผ๋ฐ˜ํ™” ์ž˜ ๋จ)
subsample๊ฐ ํŠธ๋ฆฌ๋งˆ๋‹ค ์‚ฌ์šฉํ•  ์ƒ˜ํ”Œ ๋น„์œจ (๊ณผ์ ํ•ฉ ๋ฐฉ์ง€์šฉ)
colsample_bytree๊ฐ ํŠธ๋ฆฌ๋งˆ๋‹ค ์‚ฌ์šฉํ•  ํ”ผ์ฒ˜ ๋น„์œจ
lambda, alpha์ •๊ทœํ™” ๊ด€๋ จ (L2, L1)



๐Ÿ’ป ๊ธฐํƒ€ ํŠน์ง•

  • ํšŒ๊ท€(Regression), ๋ถ„๋ฅ˜(Classification) ๋ชจ๋‘ ๊ฐ€๋Šฅ

  • GPU ํ•™์Šต ์ง€์›
    โžค ์ˆ˜์ฒœ ๊ฐœ ํŠธ๋ฆฌ, ์ˆ˜๋ฐฑ๋งŒ ๊ฐœ ์ƒ˜ํ”Œ์—์„œ๋„ ๋น ๋ฅธ ํ•™์Šต ๊ฐ€๋Šฅ

  • ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ์…‹์—์„œ๋„ ๋ณ‘๋ ฌ ์ตœ์ ํ™” + ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์ด ๋›ฐ์–ด๋‚จ

0๊ฐœ์˜ ๋Œ“๊ธ€