๐Ÿ“– Theory/AI & ML

์ „ํ†ต์ ์ธ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ: SVM, Decision Tree, Random Forest, Gradient Boosting

๋ญ…์ฆค 2024. 12. 9. 22:18
๋ฐ˜์‘ํ˜•

์˜ค๋Š˜์€ ๋จธ์‹ ๋Ÿฌ๋‹์—์„œ ์ „ํ†ต์ ์ด๊ณ  ๊ธฐ๋ณธ์ด ๋˜๋Š” ๋„ค ๊ฐ€์ง€ ์ฃผ์š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐœ๋…์ ์œผ๋กœ ์‚ดํŽด๋ณผ ๊ฑฐ์˜ˆ์š”.

 

SVM(Support Vector Machine), Decision Tree, Random Forest, Gradient Boosting์€ ๊ฐ๊ฐ ๋…ํŠนํ•œ ํŠน์ง•๊ณผ ๊ฐ•๋ ฅํ•œ ์˜ˆ์ธก ์„ฑ๋Šฅ์„ ๊ฐ€์ง„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ, ๋จธ์‹ ๋Ÿฌ๋‹์˜ ๊ธฐ์ดˆ๋ฅผ ์ด๋ฃจ๋Š” ์ค‘์š”ํ•œ ๋ชจ๋ธ๋“ค์ž…๋‹ˆ๋‹ค.


1. SVM (Support Vector Machine)

1.1. ๊ฐœ๋…

SVM์€ ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์—์„œ ๋‘ ํด๋ž˜์Šค๋ฅผ ๊ฐ€์žฅ ์ž˜ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒฝ๊ณ„(Decision Boundary)๋ฅผ ์ฐพ๋Š” ๋ฐ ์ดˆ์ ์ด ์žˆ์–ด์š”.
์ด ๊ฒฝ๊ณ„๋ฅผ Hyperplane์ด๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ์„  ๋˜๋Š” ๋ฉด์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. SVM์˜ ํ•ต์‹ฌ์€ ์ด Hyperplane๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๋งˆ์ง„์„ ์ตœ๋Œ€ํ•œ์œผ๋กœ ๋„“ํžˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

๋งˆ์ง„์„ ๋„“ํžŒ๋‹ค๋Š” ๊ฒƒ์€ ์ดˆํ‰๋ฉด ๊ทผ์ฒ˜์˜ ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ๋“ค๊ณผ ๊ฑฐ๋ฆฌ๋ฅผ ์ตœ๋Œ€ํ™”ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ด์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ์ผ๋ฐ˜ํ™”(generalization) ๋Šฅ๋ ฅ์ด ์ข‹์•„์ ธ ๋” ์ •ํ™•ํ•œ ์˜ˆ์ธก์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

์ด ๊ณผ์ •์—์„œ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ Support Vector์ธ๋ฐ์š”, ์ด๋Š” Hyperplane์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์ด ์œ„์น˜ํ•œ ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ๋“ค๋กœ, Hyperplane์˜ ์œ„์น˜์™€ ๋ฐฉํ–ฅ์„ ๊ฒฐ์ •์ง“๋Š” ๋ฐ ์‚ฌ์šฉ๋ผ์š”. Support Vector๊ฐ€ ์™œ ์ค‘์š”ํ• ๊นŒ์š”? Hyperplane์„ ์ •์˜ํ•  ๋•Œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹ˆ๋ผ, ์ด ์ค‘์š”ํ•œ ๋ช‡ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋งŒ ์ฐธ๊ณ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด์—์š”.

 

๋น„์„ ํ˜• ๋ฐ์ดํ„ฐ๋Š” ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ๊นŒ?

 

Kernel Trick(์ปค๋„ ๊ธฐ๋ฒ•)์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋” ๋†’์€ ์ฐจ์›์œผ๋กœ ๋ณ€ํ™˜ํ•ด ๋น„์„ ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํ˜•์ ์œผ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ด์ฐจ์›์—์„œ ์›ํ˜•์œผ๋กœ ์–ฝํžŒ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ผ์ฐจ์›์œผ๋กœ ๋งคํ•‘ํ•˜๋ฉด ์ง์„ ์œผ๋กœ ์‰ฝ๊ฒŒ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ์›๋ฆฌ์ž…๋‹ˆ๋‹ค. ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ปค๋„์—๋Š” Linear, Polynomial, RBF(Radial Basis Function) ๋“ฑ์ด ์žˆ์–ด์š”.

 

1.2. ํŠน์ง•

๊ณ ์ฐจ์› ๋ฐ์ดํ„ฐ์— ๊ฐ•ํ•จ

SVM์€ ๋ฐ์ดํ„ฐ์˜ Feature(ํŠน์ง•) ์ˆ˜๊ฐ€ ๋งŽ์„์ˆ˜๋ก ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ด์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ…์ŠคํŠธ ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ ์ˆ˜์ฒœ ๊ฐœ์˜ ๋‹จ์–ด Feature๋„ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ ์€ ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ์—์„œ๋„ ํšจ๊ณผ์ 

๋ฐ์ดํ„ฐ๊ฐ€ ์ œํ•œ์ ์ด๊ฑฐ๋‚˜ ์ƒ˜ํ”Œ ์ˆ˜๊ฐ€ ์ ์€ ๊ฒฝ์šฐ์—๋„ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์˜๋ฃŒ ๋ฐ์ดํ„ฐ์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์ด ์–ด๋ ค์šด ํ™˜๊ฒฝ์—์„œ๋„ ์œ ์šฉํ•˜๊ฒŒ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.

 

๋›ฐ์–ด๋‚œ ์ผ๋ฐ˜ํ™” ์„ฑ๋Šฅ

SVM์€ Hyperplane๊ณผ ๋ฐ์ดํ„ฐ ์‚ฌ์ด์˜ ์—ฌ๋ฐฑ(Margin)์„ ์ตœ๋Œ€๋กœ ํ™•๋ณดํ•˜๋Š” ๊ตฌ์กฐ ๋•๋ถ„์—, ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์˜ˆ์ธก ์ •ํ™•๋„๊ฐ€ ๋งค์šฐ ๋†’์Šต๋‹ˆ๋‹ค.

 

์ปค๋„ ๊ธฐ๋ฒ•์œผ๋กœ ๋น„์„ ํ˜• ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ฐ€๋Šฅ

์„ ํ˜•์ ์œผ๋กœ ๋‚˜๋‰˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด SVM์€ ์ปค๋„ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์ฐจ์›์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ์ปค๋„๋กœ๋Š” RBF(Radial Basis Function), Polynomial, Linear ๋“ฑ์ด ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ํ˜•ํƒœ๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์–ด์š”.

 

์ด์ง„ ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ

์ŠคํŒธ ๋ฉ”์ผ ๋ถ„๋ฅ˜, ์ด๋ฏธ์ง€ ๋‚ด ๊ฐ์ฒด ์œ ๋ฌด ํŒ๋ณ„๊ณผ ๊ฐ™์€ ์ด์ง„ ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ ํŠนํžˆ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค.

 

๋‹จ์ : ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์—์„œ ์†๋„ ์ €ํ•˜

SVM์€ ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ ์ˆ˜๊ฐ€ ๋งŽ๊ฑฐ๋‚˜ Feature๊ฐ€ ์ง€๋‚˜์น˜๊ฒŒ ๋งŽ์•„์งˆ ๊ฒฝ์šฐ ์—ฐ์‚ฐ ๋น„์šฉ์ด ๊ธ‰๊ฒฉํžˆ ์ฆ๊ฐ€ํ•ด ํ•™์Šต ์†๋„๊ฐ€ ๋Š๋ ค์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹์ด ์ค‘์š”

SVM์˜ ์„ฑ๋Šฅ์€ C(์—ฌ๋ฐฑ์— ๋Œ€ํ•œ ํŒจ๋„ํ‹ฐ)์™€ ์ปค๋„ ์œ ํ˜• ๊ฐ™์€ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ์„ค์ •์— ํฐ ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ ์ ˆํ•œ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹์ด ํ•„์š”ํ•˜์ง€๋งŒ, ์ด๋Š” ์‹œ๊ฐ„์ด ๋งŽ์ด ์†Œ์š”๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

SVM์€ ๊ณ ์ฐจ์› ๋ฐ์ดํ„ฐ์™€ ์ œํ•œ๋œ ๋ฐ์ดํ„ฐ ํ™˜๊ฒฝ์—์„œ ํŠนํžˆ ์œ ์šฉํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์—์„œ๋Š” ์†๋„์™€ ์—ฐ์‚ฐ ๋น„์šฉ ๋ฌธ์ œ๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ˜Š

 

 

2. Decision Tree

 

2.1. ๊ฐœ๋…

Decision Tree๋Š” ํŠธ๋ฆฌ(tree) ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•ด ์˜์‚ฌ ๊ฒฐ์ •์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ง€๋„ ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด์—์š”. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๋กœ ๋ถ„ํ• ํ•˜๋ฉฐ ์ตœ์ข…์ ์œผ๋กœ ์˜ˆ์ธก๊ฐ’์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋ถ„๊ธฐ์ (Node)์€ ํŠน์ • ์งˆ๋ฌธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฆฌํ•˜๊ณ , ๋ฆฌํ”„ ๋…ธ๋“œ(Leaf Node)์—์„œ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

 

์ž‘๋™ ๋ฐฉ์‹์„ ์‚ดํŽด๋ณด๋ฉด, Decision Tree๋Š” ๋ฐ์ดํ„ฐ์˜ ํŠน์ง•(feature)์„ ๊ธฐ์ค€์œผ๋กœ ๊ฐ€์žฅ "์œ ์šฉํ•œ" ํŠน์ง•์„ ์„ ํƒํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆ„๋Š”๋ฐ์š”, ์ด๋•Œ ์œ ์šฉ์„ฑ์„ ํŒ๋‹จํ•˜๋Š” ๊ธฐ์ค€์œผ๋กœ Gini Impurity(์ง€๋‹ˆ ๋ถˆ์ˆœ๋„) ๋˜๋Š” Entropy(์—”ํŠธ๋กœํ”ผ) ๊ฐ™์€ ๊ฐ’์„ ์‚ฌ์šฉํ•ด์š”. 

  1. ์ฒซ ๋ฒˆ์งธ ์งˆ๋ฌธ: "๊ณ ๊ฐ์˜ ๋‚˜์ด๋Š” 30๋Œ€ ์ด์ƒ์ธ๊ฐ€์š”?"
  2. ๋‘ ๋ฒˆ์งธ ์งˆ๋ฌธ: "๊ตฌ๋งค ๊ธˆ์•ก์€ 10๋งŒ ์› ์ด์ƒ์ธ๊ฐ€์š”?"
  3. ๋งˆ์ง€๋ง‰ ์งˆ๋ฌธ: "์ตœ๊ทผ ๊ตฌ๋งค ์ด๋ ฅ์ด ์žˆ๋‚˜์š”?"
    ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ์งˆ๋ฌธ์„ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ขํ˜€ ๋‚˜๊ฐ‘๋‹ˆ๋‹ค.

์ค‘์š” ๊ฐœ๋…

  • Gini Impurity์™€ Entropy
    • Gini Impurity๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์–ผ๋งˆ๋‚˜ ํ˜ผํ•ฉ๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ์ธก์ •ํ•˜๋ฉฐ, ๋‚ฎ์„์ˆ˜๋ก ํ•œ์ชฝ ํด๋ž˜์Šค๊ฐ€ ์šฐ์„ธํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ด์š”.
    • Entropy๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ถˆํ™•์‹ค์„ฑ์„ ์ธก์ •ํ•˜๋ฉฐ, Decision Tree๋Š” ์—”ํŠธ๋กœํ”ผ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋„๋ก ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
  • Tree Depth(ํŠธ๋ฆฌ ๊นŠ์ด)
    • ํŠธ๋ฆฌ์˜ ๊นŠ์ด๊ฐ€ ๋„ˆ๋ฌด ๊นŠ์œผ๋ฉด ๋ชจ๋ธ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ง€๋‚˜์น˜๊ฒŒ ์„ธ๋ฐ€ํ•˜๊ฒŒ ํ•™์Šตํ•ด ๊ณผ์ ํ•ฉ(overfitting)์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์–ด์š”. ๋ฐ˜๋Œ€๋กœ ํŠธ๋ฆฌ๊ฐ€ ๋„ˆ๋ฌด ์–•์œผ๋ฉด ๋ฐ์ดํ„ฐ์˜ ํŒจํ„ด์„ ์ถฉ๋ถ„ํžˆ ํ•™์Šตํ•˜์ง€ ๋ชปํ•ด ์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์ฃ .
    • ์ ์ ˆํ•œ ํŠธ๋ฆฌ ๊นŠ์ด๋Š” ๋ฐ์ดํ„ฐ์…‹ ํฌ๊ธฐ์™€ ๋ณต์žก์„ฑ์— ๋”ฐ๋ผ ๊ฒฐ์ •๋ผ์š”.

 

2.2. ํŠน์ง•

๋ฐ์ดํ„ฐ์˜ ๊ตฌ์กฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋ถ„์„ ๊ฐ€๋Šฅ

Decision Tree๋Š” ์ง๊ด€์ ์ธ ํŠธ๋ฆฌ ๊ตฌ์กฐ ๋•๋ถ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ดํ•ดํ•˜๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์–ด์š”. ์‹œ๊ฐํ™”๊ฐ€ ์‰ฌ์›Œ ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํ•  ๊ธฐ์ค€๊ณผ ๊ฒฐ๊ณผ๋ฅผ ๋ช…ํ™•ํžˆ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋ถ„๋ฅ˜(Classification)์™€ ํšŒ๊ท€(Regression) ๋ชจ๋‘์— ํ™œ์šฉ ๊ฐ€๋Šฅ

๋ถ„๋ฅ˜ ๋ฌธ์ œ(์˜ˆ: ๊ณ ๊ฐ์˜ ๋Œ€์ถœ ์Šน์ธ ์—ฌ๋ถ€)์™€ ํšŒ๊ท€ ๋ฌธ์ œ(์˜ˆ: ์ฃผํƒ ๊ฐ€๊ฒฉ ์˜ˆ์ธก) ๋ชจ๋‘์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด์—์š”.

 

๊ฒฐ์ธก๊ฐ’์ด๋‚˜ ์ „์ฒ˜๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•œ ๋ฐ์ดํ„ฐ์— ์œ ์—ฐ

๋ฐ์ดํ„ฐ๊ฐ€ ๊ฒฐ์ธก๊ฐ’์„ ํฌํ•จํ•˜๊ฑฐ๋‚˜, ์Šค์ผ€์ผ๋ง๊ณผ ๊ฐ™์€ ์ „์ฒ˜๋ฆฌ๊ฐ€ ์ถฉ๋ถ„ํžˆ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋„ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ ์—์„œ ๋ณต์žกํ•œ ์ „์ฒ˜๋ฆฌ๊ฐ€ ์–ด๋ ค์šด ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋‹จ๊ณ„์— ํŠนํžˆ ์œ ์šฉํ•ด์š”.

 

ํ•ด์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Œ

Decision Tree๋Š” ์ž‘๋™ ๊ณผ์ •์„ ์‹œ๊ฐ์ ์œผ๋กœ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์›Œ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, "๊ณ ๊ฐ์˜ ์‹ ์šฉ ์ ์ˆ˜๊ฐ€ 700 ์ด์ƒ์ด๋ฉด ๋Œ€์ถœ์„ ์Šน์ธํ•œ๋‹ค"๋Š” ์‹์œผ๋กœ ๋ช…ํ™•ํ•˜๊ฒŒ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ธ ํ•™์Šต

๋‹จ์ผ Decision Tree๋Š” ํ•™์Šต๊ณผ ์˜ˆ์ธก ์†๋„๊ฐ€ ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์—, ์ž‘์€ ๋ฐ์ดํ„ฐ์…‹์—์„œ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”.

 

๊ณผ์ ํ•ฉ ๊ฐ€๋Šฅ์„ฑ

ํŠธ๋ฆฌ๊ฐ€ ๋„ˆ๋ฌด ๊นŠ์–ด์งˆ ๊ฒฝ์šฐ, ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์— ์ง€๋‚˜์น˜๊ฒŒ ์ ํ•ฉํ•ด ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ตœ๋Œ€ ๊นŠ์ด ์ œํ•œ, ์ตœ์†Œ ์ƒ˜ํ”Œ ๋ถ„ํ•  ๊ฐœ์ˆ˜ ๋“ฑ์˜ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์กฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

Feature ์ค‘์š”๋„ ๊ณ„์‚ฐ ๊ฐ€๋Šฅ

Decision Tree๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ• ํ•˜๋Š” ๊ณผ์ •์—์„œ ํŠน์ • Feature(ํŠน์ง•)๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ์ง€๋ฅผ ๊ฐ€์ค‘์น˜๋กœ ๊ณ„์‚ฐํ•ด์ค๋‹ˆ๋‹ค. ์ด ์ •๋ณด๋ฅผ ํ†ตํ•ด Feature Selection(ํŠน์ง• ์„ ํƒ)์„ ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์–ด์š”.

 

 

3. Random Forest

3.1. ๊ฐœ๋…

Random Forest๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ Decision Tree๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์˜ˆ์ธก ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” Ensemble Learning ๊ธฐ๋ฒ•์ด์—์š”. ๋‹จ์ผ Decision Tree๊ฐ€ ๊ฐ€์ง„ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ณ ์ž ์„ค๊ณ„๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ, ์—ฌ๋Ÿฌ Decision Tree๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ํ•™์Šต์‹œํ‚ค๊ณ , ์ด๋“ค์˜ ์˜ˆ์ธก ๊ฒฐ๊ณผ๋ฅผ ํ•ฉ์‚ฐ(๋ถ„๋ฅ˜ ๋ฌธ์ œ๋Š” ๋‹ค์ˆ˜๊ฒฐ, ํšŒ๊ท€ ๋ฌธ์ œ๋Š” ํ‰๊ท )ํ•ด ์ตœ์ข… ์˜ˆ์ธก์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

Random Forest๋Š” ์ด๋ฆ„์—์„œ๋„ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด Randomness๊ฐ€ ํ•ต์‹ฌ์ด์—์š”.

  1. ๊ฐ Tree๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ(ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌด์ž‘์œ„๋กœ ์ƒ˜ํ”Œ๋งํ•œ Subset)๋กœ ํ•™์Šต๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ Bagging(Bootstrap Aggregating)์ด๋ผ๊ณ  ๋ถˆ๋Ÿฌ์š”.
  2. ๊ฐ Tree๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆŒ ๋•Œ ๋ชจ๋“  Feature๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ , ๋ฌด์ž‘์œ„๋กœ ์„ ํƒ๋œ ์ผ๋ถ€ Feature๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ Feature Randomness๋ผ๊ณ  ํ•ด์š”.

์ด ๋‘ ๊ฐ€์ง€ ๋ฌด์ž‘์œ„์„ฑ์„ ํ†ตํ•ด Decision Tree๋“ค์ด ์„œ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์ง€๊ณ , ๊ฐ Tree์˜ ๊ฒฐ๊ณผ๋ฅผ ๊ฒฐํ•ฉํ•˜๋ฉด overfitting์„ ๋ฐฉ์ง€ํ•˜๋ฉด์„œ๋„ ๋†’์€ ์ •ํ™•๋„๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋งŒ์•ฝ ํ•œ ํŠธ๋ฆฌ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜๋ชป ๋ถ„๋ฅ˜ํ–ˆ๋‹ค๋ฉด, ๋‹ค๋ฅธ ํŠธ๋ฆฌ๋“ค์€ ํ•ด๋‹น ์‹ค์ˆ˜๋ฅผ ๋ณด์™„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ „์ฒด ๋ชจ๋ธ์˜ ์˜ˆ์ธก ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.

 

3.2. ํŠน์ง•

์žก์Œ์ด ๋งŽ๊ฑฐ๋‚˜ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ์—์„œ ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ

Random Forest๋Š” ๋ฐ์ดํ„ฐ์…‹์— ๋…ธ์ด์ฆˆ(์žก์Œ)๊ฐ€ ๋งŽ๊ฑฐ๋‚˜ ๊ตฌ์กฐ๊ฐ€ ๋ณต์žกํ•œ ๊ฒฝ์šฐ์—๋„ ์•ˆ์ •์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ Decision Tree์˜ ์˜ˆ์ธก ๊ฒฐ๊ณผ๋ฅผ ๊ฒฐํ•ฉ(์•™์ƒ๋ธ”)ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹จ์ผ ๋ชจ๋ธ๋ณด๋‹ค ๋” ์ •ํ™•ํ•˜๊ณ  ์‹ ๋ขฐ๋„ ๋†’์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.

 

๊ฒฐ์ธก๊ฐ’์ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ

๋ฐ์ดํ„ฐ์— ๊ฒฐ์ธก๊ฐ’์ด ํฌํ•จ๋˜๊ฑฐ๋‚˜ ์ผ๋ถ€ ๊ฐ’์ด ์†์‹ค๋œ ๊ฒฝ์šฐ์—๋„ Random Forest๋Š” ์œ ์—ฐํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒ˜๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•œ ๋ฐ์ดํ„ฐ์—์„œ๋„ ๋น„๊ต์  ๋†’์€ ์„ฑ๋Šฅ์„ ๋ณด์ด๋Š” ์ ์ด ํฐ ์žฅ์ ์ด์—์š”.

 

Feature๊ฐ€ ๋งŽ์€ ๋ฐ์ดํ„ฐ์…‹์— ์ ํ•ฉ

Random Forest๋Š” ๊ฐ Decision Tree๋ฅผ ํ•™์Šตํ•  ๋•Œ ๋ฌด์ž‘์œ„๋กœ ์„ ํƒ๋œ Feature๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด Feature ์ˆ˜๊ฐ€ ๋งŽ์•„๋„ ๊ณผ์ ํ•ฉ(overfitting)์„ ๋ฐฉ์ง€ํ•˜๋ฉด์„œ ํšจ์œจ์ ์œผ๋กœ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์–ด์š”.

 

๋ถ„๋ฅ˜(Classification)์™€ ํšŒ๊ท€(Regression) ๋ฌธ์ œ ๋ชจ๋‘์—์„œ ํ™œ์šฉ ๊ฐ€๋Šฅ

Random Forest๋Š” ๋ฒ”์ฃผ๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ถ„๋ฅ˜ ๋ฌธ์ œ(์˜ˆ: ์งˆ๋ณ‘ ์œ ๋ฌด ํŒ๋ณ„)์™€ ์—ฐ์†๊ฐ’์„ ์˜ˆ์ธกํ•˜๋Š” ํšŒ๊ท€ ๋ฌธ์ œ(์˜ˆ: ์ฃผํƒ ๊ฐ€๊ฒฉ ์˜ˆ์ธก) ๋ชจ๋‘์—์„œ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๋‹ค์–‘ํ•œ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ฌธ์ œ์— ํญ๋„“๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด์—์š”.

 

๋†’์€ ์ •ํ™•๋„์™€ ์•ˆ์ •์„ฑ

Random Forest๋Š” ๋‹จ์ผ Decision Tree๋ณด๋‹ค ์˜ˆ์ธก ์„ฑ๋Šฅ์ด ๋” ๋›ฐ์–ด๋‚˜๋ฉฐ, ์—ฌ๋Ÿฌ Tree์˜ ์˜ˆ์ธก์„ ํ‰๊ท ํ™”ํ•˜๊ฑฐ๋‚˜ ๋‹ค์ˆ˜๊ฒฐ๋กœ ๊ฒฐํ•ฉํ•ด ์•ˆ์ •์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณต์žกํ•˜๊ฑฐ๋‚˜ ๋…ธ์ด์ฆˆ๊ฐ€ ๋งŽ์„์ˆ˜๋ก ์ด ๊ฐ•์ ์ด ๋‘๋“œ๋Ÿฌ์ ธ์š”.

 

๊ณผ์ ํ•ฉ ๋ฐฉ์ง€์— ํšจ๊ณผ์ 

๊ฐ Tree๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ๊ณผ Feature๋กœ ํ•™์Šตํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐœ๋ณ„ Tree๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณผ๋„ํ•˜๊ฒŒ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด Random Forest๋Š” ๊ณผ์ ํ•ฉ์˜ ์œ„ํ—˜์ด ๋‚ฎ๊ณ , ์ผ๋ฐ˜ํ™”(generalization) ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค.

 

ํ•ด์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ์Œ

Random Forest๋Š” ์—ฌ๋Ÿฌ Tree์˜ ์˜ˆ์ธก ๊ฒฐ๊ณผ๋ฅผ ๊ฒฐํ•ฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•˜๋ฏ€๋กœ, ๋‹จ์ผ Decision Tree์— ๋น„ํ•ด ๋ชจ๋ธ์ด ๋‚ด๋ฆฐ ๊ฒฐ์ • ๊ณผ์ •์„ ํ•ด์„ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ์˜ ๋ณต์žก์„ฑ ๋•Œ๋ฌธ์— "์–ด๋–ค Feature๊ฐ€ ์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ๊ฒฐ๊ณผ์— ์˜ํ–ฅ์„ ๋ฏธ์ณค๋Š”์ง€"๋ฅผ ๋ช…ํ™•ํžˆ ์„ค๋ช…ํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์–ด์š”.

 

๋‹ค๋งŒ, Random Forest๋Š” ๋งŽ์€ Tree๋ฅผ ํ•™์Šต์‹œํ‚ค๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ์‚ฐ ๋น„์šฉ์ด ๋น„๊ต์  ๋†’์•„์งˆ ์ˆ˜ ์žˆ์–ด์š”. ํ•™์Šต ์†๋„๊ฐ€ ๋Š๋ ค์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹์—์„œ๋Š” GPU ๋“ฑ์˜ ํ•˜๋“œ์›จ์–ด๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

4. Gradient Boosting

4.1. ๊ฐœ๋…

Gradient Boosting์€ Weak Learner๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ํ•™์Šต์‹œ์ผœ ์˜ˆ์ธก ์„ฑ๋Šฅ์„ ์ ์ง„์ ์œผ๋กœ ๊ฐœ์„ ํ•˜๋Š” ๊ฐ•๋ ฅํ•œ Ensemble Learning ๊ธฐ๋ฒ•์ด์—์š”. Gradient Boosting์˜ ํ•ต์‹ฌ์€ ์ด์ „ ํ•™์Šต ๋ชจ๋ธ์ด ๋งŒ๋“  ์˜ค์ฐจ(Residual Error)๋ฅผ ํ•™์Šตํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ชจ๋ธ์„ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ, ๋ฐ˜๋ณต์ ์œผ๋กœ ์ „์ฒด ๋ชจ๋ธ์˜ ์˜ˆ์ธก ์„ฑ๋Šฅ์„ ๋†’์ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Decision Tree๊ฐ€ ์•ฝํ•œ ํ•™์Šต๊ธฐ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์œผ๋ฉฐ, ์ด๋ฅผ ์ ์ง„์ ์œผ๋กœ ๊ฐœ์„ ํ•ด๋‚˜๊ฐ€๋Š” ๋ฐฉ์‹์ด์ฃ .

 

Gradient Boosting์˜ ์ด๋ฆ„์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด, ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ Gradient Descent์„ ํ™œ์šฉํ•ด ํ•™์Šต ๊ณผ์ •์—์„œ Loss๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

  • Loss Function์€ ๋ชจ๋ธ์˜ ์˜ˆ์ธก๊ฐ’๊ณผ ์‹ค์ œ๊ฐ’ ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ์ธก์ •ํ•˜๋Š” ๊ธฐ์ค€์ด์—์š”.
  • Gradient Descent๋Š” ์†์‹ค ํ•จ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ์šธ๊ธฐ๋ฅผ ๋”ฐ๋ผ ๋ชจ๋ธ์„ ์ ์ง„์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์ตœ์ ํ™” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์ด ๊ณผ์ •์—์„œ ๊ฐ๊ฐ์˜ ์•ฝํ•œ ํ•™์Šต๊ธฐ๋Š” ์ด์ „ ๋ชจ๋ธ์˜ ์˜ค๋ฅ˜๋ฅผ ๋ณด์™„ํ•˜๋ ค๊ณ  ํ•™์Šตํ•˜๋ฉฐ, ์ด ๊ณผ์ •์ด ๋ฐ˜๋ณต๋ ์ˆ˜๋ก ์ ์  ๋” ๊ฐ•๋ ฅํ•œ ์˜ˆ์ธก ๋ชจ๋ธ์„ ๋งŒ๋“ค์–ด๋ƒ…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฒซ ๋ฒˆ์งธ Tree๊ฐ€ ์ž˜๋ชป ๋ถ„๋ฅ˜ํ•œ ๋ฐ์ดํ„ฐ์— ๋” ๋งŽ์€ ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•ด ๋‘ ๋ฒˆ์งธ Tree๊ฐ€ ์ด๋ฅผ ํ•™์Šตํ•˜๊ฒŒ ํ•˜๊ณ , ์ดํ›„ ๋ชจ๋ธ์ด ๊ณ„์†ํ•ด์„œ ๋ณด์™„ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ด์—์š”.

 

4.2. ํŠน์ง•

๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ์…‹ ์ฒ˜๋ฆฌ

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

 

๋†’์€ ์ •ํ™•๋„๊ฐ€ ์š”๊ตฌ๋˜๋Š” ๋ฌธ์ œ

Gradient Boosting์€ ๋งŽ์€ ๋จธ์‹ ๋Ÿฌ๋‹ ๋Œ€ํšŒ(Kaggle, DrivenData ๋“ฑ)์—์„œ ์šฐ์Šน ๋ชจ๋ธ๋กœ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋Œ€ํšŒ์šฉ ๋ชจ๋ธ๋ง์—์„œ๋Š” ๊ฑฐ์˜ ๊ธฐ๋ณธ ์˜ต์…˜์œผ๋กœ ์‚ฌ์šฉ๋  ๋งŒํผ ๋†’์€ ์˜ˆ์ธก ์ •ํ™•๋„๋ฅผ ์ž๋ž‘ํ•ด์š”.

 

์†Œ๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹์—์„œ๋„ ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ

Gradient Boosting์€ ์ ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋กœ๋„ ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•  ์ˆ˜ ์žˆ์–ด์š”. ๋ฐ์ดํ„ฐ๊ฐ€ ์ œํ•œ์ ์ธ ํ™˜๊ฒฝ์—์„œ๋„ ๋†’์€ ์„ฑ๋Šฅ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ์ ์ด ํฐ ์žฅ์ ์ด์—์š”.

 

๋†’์€ ์˜ˆ์ธก ์„ฑ๋Šฅ

Gradient Boosting์€ ์•ฝํ•œ ํ•™์Šต๊ธฐ(Weak Learner)๋“ค์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฒฐํ•ฉํ•˜๋ฉด์„œ ํ•™์Šตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ๋†’์€ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
์ด ๊ณผ์ •์—์„œ ๋ฐ์ดํ„ฐ์˜ ๋ณต์žกํ•œ ํŒจํ„ด์„ ํšจ๊ณผ์ ์œผ๋กœ ํฌ์ฐฉํ•  ์ˆ˜ ์žˆ์–ด์š”.

 

๋ถ„๋ฅ˜(Classification)์™€ ํšŒ๊ท€(Regression) ๋ฌธ์ œ ๋ชจ๋‘์—์„œ ํ™œ์šฉ ๊ฐ€๋Šฅ

๋ถ„๋ฅ˜ ๋ฌธ์ œ(์˜ˆ: ์งˆ๋ณ‘ ์—ฌ๋ถ€ ์˜ˆ์ธก)์™€ ํšŒ๊ท€ ๋ฌธ์ œ(์˜ˆ: ์ฃผํƒ ๊ฐ€๊ฒฉ ์˜ˆ์ธก) ๋ชจ๋‘์—์„œ ํ™œ์šฉ๋˜๋ฉฐ, ๋‹ค์–‘ํ•œ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ฌธ์ œ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐ์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ณผ์ ํ•ฉ ์œ„ํ—˜

Gradient Boosting์€ ๋งค์šฐ ๊ฐ•๋ ฅํ•œ ๋ชจ๋ธ์ด์ง€๋งŒ, ํ•™์Šต ๊ณผ์ •์—์„œ ๋ฐ์ดํ„ฐ์— ๊ณผ๋„ํ•˜๊ฒŒ ์ ํ•ฉ(overfitting)๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์–ด์š”. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํŠธ๋ฆฌ์˜ ๊นŠ์ด, ํ•™์Šต๋ฅ (Learning Rate), ๋ถ€์ŠคํŒ… ๋‹จ๊ณ„ ์ˆ˜์™€ ๊ฐ™์€ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‹ ์ค‘ํžˆ ์กฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

ํ•™์Šต ์†๋„๊ฐ€ ๋Š๋ฆผ

Gradient Boosting์€ ์ˆœ์ฐจ์ ์œผ๋กœ ํ•™์Šตํ•˜๋Š” ๊ตฌ์กฐ์ด๊ธฐ ๋•Œ๋ฌธ์— Random Forest์— ๋น„ํ•ด ํ•™์Šต ์†๋„๊ฐ€ ๋Š๋ฆฐ ํŽธ์ด์—์š”. ํ•˜์ง€๋งŒ XGBoost, LightGBM, CatBoost์™€ ๊ฐ™์€ ๊ตฌํ˜„์ฒด๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์†๋„์™€ ์„ฑ๋Šฅ์„ ๋™์‹œ์— ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

5. ๊ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ ํƒ ๊ธฐ์ค€

๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•  ๋•Œ๋Š” ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ๊ณผ ๋ชฉํ‘œ์— ๋”ฐ๋ผ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ๋ชจ๋ธ์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ด์š”. ๋„ค ๊ฐ€์ง€ ์•Œ๊ณ ๋ฆฌ์ฆ˜(SVM, Decision Tree, Random Forest, Gradient Boosting)์€ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๊ฐ•์ ๊ณผ ํŠน์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์„œ ์ƒํ™ฉ์— ๋งž๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”. ์•„๋ž˜๋Š” ์ฃผ์š” ์„ ํƒ ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค.

 

SVM (Support Vector Machine)์€ ๊ณ ์ฐจ์› ๋ฐ์ดํ„ฐ์™€ ์ƒ˜ํ”Œ ํฌ๊ธฐ๊ฐ€ ์ ์€ ์ƒํ™ฉ์—์„œ ์ ํ•ฉํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด์—์š”. ๊ณ ์ฐจ์› ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ์ปค๋„ ๊ธฐ๋ฒ•์„ ํ†ตํ•ด ๋น„์„ ํ˜• ๋ฌธ์ œ๋„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐ์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ํ…์ŠคํŠธ ๋ถ„๋ฅ˜๋‚˜ ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜์™€ ๊ฐ™์€ ์ด์ง„ ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ์ด ๋งŽ๊ฑฐ๋‚˜ Feature ์ˆ˜๊ฐ€ ์ง€๋‚˜์น˜๊ฒŒ ๋งŽ์•„์ง€๋ฉด ํ•™์Šต ์†๋„๊ฐ€ ๋Š๋ ค์ง€๊ณ , ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ(C์™€ ์ปค๋„ ์œ ํ˜•) ํŠœ๋‹์— ๋ฏผ๊ฐํ•˜๋‹ค๋Š” ์ ์€ ํ•œ๊ณ„๋กœ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”.

 

Decision Tree๋Š” ๋‹จ์ˆœํ•˜๊ณ  ํ•ด์„ ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ํŠธ๋ฆฌ ๊ตฌ์กฐ ๋•๋ถ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋ถ„์„ํ•˜๊ณ , ์‹œ๊ฐํ™”ํ•˜์—ฌ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์ ์ด ํฐ ์žฅ์ ์ด์—์š”. ๋ถ„๋ฅ˜์™€ ํšŒ๊ท€ ๋ฌธ์ œ ๋ชจ๋‘์—์„œ ํ™œ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•˜๊ฑฐ๋‚˜ ๊ฒฐ์ธก๊ฐ’์ด ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ์—์„œ๋„ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹จ๋…์œผ๋กœ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ํŠธ๋ฆฌ๊ฐ€ ๋„ˆ๋ฌด ๊นŠ์–ด์งˆ ์ˆ˜ ์žˆ์–ด ๊ณผ์ ํ•ฉ ์œ„ํ—˜์ด ์žˆ๊ณ , ์„ฑ๋Šฅ์ด ์ œํ•œ์ ์ด๋ผ๋Š” ์ ์„ ์—ผ๋‘์— ๋‘์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

Random Forest๋Š” ์•ˆ์ •์ ์ด๊ณ  ์ •ํ™•ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์›ํ•  ๋•Œ ์„ ํƒํ•˜๊ธฐ ์ข‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด์—์š”. ์—ฌ๋Ÿฌ Decision Tree๋ฅผ ๊ฒฐํ•ฉํ•ด ๋…ธ์ด์ฆˆ์™€ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ์— ๊ฐ•ํ•˜๋ฉฐ, ๊ณผ์ ํ•ฉ์„ ๋ฐฉ์ง€ํ•˜๋ฉด์„œ๋„ ๋†’์€ ์ •ํ™•๋„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ฒฐ์ธก๊ฐ’์ด ์žˆ๊ฑฐ๋‚˜ Feature๊ฐ€ ๋งŽ์€ ๋ฐ์ดํ„ฐ์—์„œ๋„ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ์—ฌ๋Ÿฌ Tree๋ฅผ ์กฐํ•ฉํ•˜๋Š” ๊ณผ์ •์—์„œ ํ•™์Šต ์†๋„๊ฐ€ ๋Š๋ฆฌ๊ณ , ๋ชจ๋ธ์ด ๋‚ด๋ฆฐ ๊ฒฐ์ •์„ ํ•ด์„ํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์–ด์š”.

 

Gradient Boosting์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณต์žกํ•˜๊ฑฐ๋‚˜ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹์—์„œ ์ตœ๊ณ ์˜ ์„ฑ๋Šฅ์ด ํ•„์š”ํ•  ๋•Œ ์„ ํƒํ•˜๊ธฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์•ฝํ•œ ํ•™์Šต๊ธฐ๋“ค์„ ์ˆœ์ฐจ์ ์œผ๋กœ ํ•™์Šตํ•˜์—ฌ ๋†’์€ ์˜ˆ์ธก ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ์˜ ๋ณต์žกํ•œ ํŒจํ„ด์„ ์ž˜ ํฌ์ฐฉํ•˜๋Š” ๊ฐ•์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์š”. ํŠนํžˆ ๋จธ์‹ ๋Ÿฌ๋‹ ๋Œ€ํšŒ(Kaggle ๋“ฑ)์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋ธ๋กœ, ๋ถ„๋ฅ˜์™€ ํšŒ๊ท€ ๋ฌธ์ œ ๋ชจ๋‘์—์„œ ํƒ์›”ํ•œ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ•™์Šต ์†๋„๊ฐ€ ๋Š๋ฆฌ๊ณ , ๊ณผ์ ํ•ฉ์˜ ์œ„ํ—˜์ด ์žˆ์œผ๋ฏ€๋กœ ์ ์ ˆํ•œ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹์ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.

 

๐Ÿ’ก ํŒ: ์–ด๋–ค ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์กฐํ•ฉํ•ด์•ผ ํ• ๊นŒ์š”?

์‹ค๋ฌด์—์„œ๋Š” ํ•œ ๊ฐ€์ง€ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ์—ฌ๋Ÿฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์กฐํ•ฉํ•˜๊ฑฐ๋‚˜ Ensemble ๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„์š”:

  • Random Forest์™€ Gradient Boosting: ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ€์žฅ ์•ˆ์ •์ ์ด๊ณ  ์ •ํ™•ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•˜๋ฏ€๋กœ, ๋ณต์žกํ•œ ๋ฌธ์ œ์— ์ž์ฃผ ์‚ฌ์šฉ๋ผ์š”.
  • SVM๊ณผ Decision Tree์˜ ์กฐํ•ฉ: ๋ฐ์ดํ„ฐ๋ฅผ ์ดํ•ดํ•˜๋Š” ์ดˆ๊ธฐ ๋‹จ๊ณ„์—์„œ๋Š” Decision Tree๋กœ ๋น ๋ฅด๊ฒŒ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์–ป๊ณ , ์ตœ์ ์˜ ์„ฑ๋Šฅ์„ ๋ชฉํ‘œ๋กœ SVM์ด๋‚˜ ๋‹ค๋ฅธ ๋ชจ๋ธ์„ ์‹œ๋„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”.
  • ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฐฉ์‹: ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ์— ๋”ฐ๋ผ, ๋ถ„๋ฅ˜ ๋ฌธ์ œ์— SVM์„ ์‚ฌ์šฉํ•˜๊ณ , ํšŒ๊ท€ ๋ฌธ์ œ์— Gradient Boosting์„ ์‚ฌ์šฉํ•˜๋Š” ์‹์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ˜ผํ•ฉํ•ด ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์–ด์š”.

 


 

์ตœ๊ทผ์—” LLM, Foundation Model ๋“ฑ์˜ ๊ธฐ์ˆ ์ด ์ฃผ๋ชฉ๋ฐ›๊ณ  ์žˆ์ง€๋งŒ, SVM, Decision Tree, Random Forest, Gradient Boosting๊ณผ ๊ฐ™์€ ์ „ํ†ต์ ์ธ ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์—ฌ์ „ํžˆ ์‹ค๋ฌด์—์„œ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๊ณ  ์žˆ์–ด์š”. ํŠนํžˆ, ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์€ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ์™€ ๋ณต์žก์„ฑ, ๋ฌธ์ œ์˜ ํŠน์„ฑ์— ๋”ฐ๋ผ ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•˜๋ฉฐ, ์‹ค์šฉ์ ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ์˜ ๊ธฐ๋ฐ˜์ด ๋ฉ๋‹ˆ๋‹ค.

 

๋˜ํ•œ, ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์€ ํ˜„๋Œ€ ๋จธ์‹ ๋Ÿฌ๋‹ ์‘์šฉ ๊ธฐ๋ฒ•์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ๋„ ์ค‘์š”ํ•œ ์ถœ๋ฐœ์ ์ด์—์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, Gradient Boosting์€ LightGBM, XGBoost, CatBoost์™€ ๊ฐ™์€ ๊ณ ์†ํ™”๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋ฐœ์ „ํ–ˆ๊ณ , Random Forest๋Š” ๋žœ๋ค์„ฑ(randomness)์„ ํ™œ์šฉํ•œ ๋‹ค์–‘ํ•œ Ensemble ๊ธฐ๋ฒ•์˜ ๊ธฐ๋ฐ˜์ด ๋˜์—ˆ์ฃ .

 

๊ฒฐ๊ตญ, ๋จธ์‹ ๋Ÿฌ๋‹์—์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ตœ์‹  ๊ธฐ์ˆ ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋ฌธ์ œ๋ฅผ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ๊ทธ์— ์ ํ•ฉํ•œ ๋„๊ตฌ๋ฅผ ์„ ํƒํ•˜๋Š” ๋Šฅ๋ ฅ์ด์—์š”. ์ „ํ†ต์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ˜„๋Œ€์ ์ธ ๊ธฐ๋ฒ•์„ ํ•จ๊ป˜ ํ™œ์šฉํ•˜๋ฉด ์‹ค๋ฌด์—์„œ ๋” ๊ฐ•๋ ฅํ•œ ์†”๋ฃจ์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„ ๊ฑฐ์˜ˆ์š”๐Ÿ˜Š

๋ฐ˜์‘ํ˜•