ML_Bagging, Boosting

wnsdnlยท2025๋…„ 3์›” 16์ผ

ML ๋จธ์‹ ๋Ÿฌ๋‹

๋ชฉ๋ก ๋ณด๊ธฐ
9/11

๐Ÿ“Œ ๊ฒฐ์ • ํŠธ๋ฆฌ์™€ ์•™์ƒ๋ธ”

๐Ÿ“๊ฒฐ์ • ํŠธ๋ฆฌ์˜ ๋‹จ์ 

๋จธ์‹ ๋Ÿฌ๋‹ ๋ถ„์•ผ์—์„œ ์œ ๋ช…ํ•œ ์ฑ…์ธ 'The Elements of Statistical Learning' ์—์„œ๋Š” ๊ฒฐ์ • ํŠธ๋ฆฌ์˜ ๋‹จ์ ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋งํ•œ๋‹ค.

๊ฒฐ์ • ํŠธ๋ฆฌ๋Š” ์ด์ƒ์ ์ธ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์ด ๋˜๊ธฐ ํž˜๋“  ํ•œ ๊ฐ€์ง€ ํŠน์ง•์„ ๊ฐ–๋Š”๋‹ค. ๋ฐ”๋กœ ๋ถ€์ •ํ™•์„ฑ์ด๋‹ค.

์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ์„ฑ๋Šฅ์ด ์ข‹์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๊ฒฐ์ • ํŠธ๋ฆฌ๋ฅผ ์ค‘์š”ํ•˜๊ฒŒ ๋ฐฐ์šฐ๋Š” ์ด์œ ๋Š”, ์ด ๊ฒฐ์ • ํŠธ๋ฆฌ๋ฅผ ์‘์šฉํ•˜๋ฉด ์„ฑ๋Šฅ์ด ์ข‹์€ ๋‹ค๋ฅธ ๋ชจ๋ธ๋“ค์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์—ฌ๊ธฐ์„œ ๊ฒฐ์ • ํŠธ๋ฆฌ๋ฅผ ์‘์šฉํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ๊ธฐ๋ฒ•์œผ๋กœ๋Š” ์•™์ƒ๋ธ” ๊ธฐ๋ฒ•์ด ์žˆ๋‹ค.

๐Ÿ“์•™์ƒ๋ธ” (Ensemble)

์•™์ƒ๋ธ”์€ ์กฐํ™”, ๋˜๋Š” ํ†ต์ผ์„ ์˜๋ฏธํ•œ๋‹ค.

๋จธ์‹ ๋Ÿฌ๋‹์—์„œ ์•™์ƒ๋ธ”์ด๋ž€, ํ•˜๋‚˜์˜ ๋ชจ๋ธ์„ ์“ฐ๋Š” ๋Œ€์‹  ์ˆ˜๋งŽ์€ ๋ชจ๋ธ๋“ค์„ ์‚ฌ์šฉํ•ด ์ข…ํ•ฉ์ ์ธ ํŒ๋‹จ์„ ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒฐ์ • ํŠธ๋ฆฌ(Decision Tree)๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ํ•˜๋‚˜์˜ ๊ฒฐ์ • ํŠธ๋ฆฌ๋ณด๋‹ค ๋” ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ด๋Š” ๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ๋ฒ•์ด๋‹ค.

์•™์ƒ๋ธ” ํ•™์Šต๋ฒ•์—๋Š” ํฌ๊ฒŒ 2๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ๋ฐ”๋กœ Bagging๊ณผ Boosting์ด๋‹ค.

๐Ÿ“Œ Bagging

Bootstrap ๋ฐ์ดํ„ฐ ์…‹(Bootstrap ๋ฐ์ดํ„ฐ์…‹์ด๋ž€, ์›๋ณธ ๋ฐ์ดํ„ฐ์…‹์—์„œ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜๋ฉฐ ๋ฌด์ž‘์œ„๋กœ ์ƒ˜ํ”Œ๋งํ•˜์—ฌ ๋งŒ๋“  ๋ฐ์ดํ„ฐ์…‹์„ ์˜๋ฏธํ•œ๋‹ค)์œผ๋กœ ํ•™์Šต๋œ ์—ฌ๋Ÿฌ ๋ชจ๋ธ๋“ค์˜ ๊ฒฐ์ •์„ ์ข…ํ•ฉํ•ด์„œ(aggregate) ์˜ˆ์ธก์„ ํ•˜๋Š” ์•™์ƒ๋ธ” ๊ธฐ๋ฒ•์„ Bootstrap aggregating, ์ค„์—ฌ์„œ Bagging์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์‚ฌ์ง„์œผ๋กœ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์—ฌ๋Ÿฌ Bootstrap ๋ฐ์ดํ„ฐ ์…‹์„ ์ด์šฉํ•ด์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒฐ์ • ํŠธ๋ฆฌ๋“ค์„ ํ•™์Šต์‹œํ‚จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๊ฒฐ์ • ํŠธ๋ฆฌ๋“ค์˜ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์ˆ˜๊ฒฐ ํˆฌํ‘œ๋กœ ์ข…ํ•ฉํ•ด์„œ ์˜ˆ์ธกํ•œ๋‹ค.

์ด๋Ÿฐ Bagging ๋ฐฉ์‹์˜ ์•™์ƒ๋ธ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ํ•˜๋‚˜์ธ ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ์— ๋Œ€ํ•ด์„œ ๋จผ์ € ์•Œ์•„๋ณด์ž.

๐Ÿ“ ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ (Random Forest)

๊ฒฐ์ • ํŠธ๋ฆฌ ์•™์ƒ๋ธ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ํ•˜๋‚˜์ธ ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ๋Š” ์ˆ˜๋งŽ์€ ๊ฒฐ์ • ํŠธ๋ฆฌ๋“ค์„ ์ž„์˜๋กœ ๋งŒ๋“ค๊ณ , ์ด ๋ชจ๋ธ๋“ค์˜ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์ˆ˜๊ฒฐ ํˆฌํ‘œ๋กœ ์ข…ํ•ฉํ•ด์„œ ์˜ˆ์ธกํ•˜๋Š” ๋ชจ๋ธ์ด๋‹ค. ํŠธ๋ฆฌ๋ฅผ ์—„์ฒญ ๋งŽ์ด, ๊ทธ๋ฆฌ๊ณ  ์ž„์˜๋กœ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ–๋Š”๋‹ค.

์—ฌ๋Ÿฌ ๊ฒฐ์ • ํŠธ๋ฆฌ ๋ชจ๋ธ๋“ค์˜ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์ˆ˜๊ฒฐ ํˆฌํ‘œ๋กœ ์ข…ํ•ฉํ•ด์„œ ์˜ˆ์ธกํ•˜๊ธฐ ๋•Œ๋ฌธ์— Bagging ๊ณ„์—ด์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

์ผ๋‹จ ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ์— ์ž„์˜์„ฑ(Random)์„ ๋”ํ•˜๋Š” ์š”์†Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

  • Bootstrapping

  • Feature Randomization

๊ฐ€์žฅ ๋จผ์ € Bootstrapping์ด๋ผ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.

๐Ÿ“Bootstrapping

Bootstrapping์€ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์…‹์„ ์ด์šฉํ•ด์„œ ์กฐ๊ธˆ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์…‹์„ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

์œ„์— ๋ณด๋ฉด ์›๋ณธ ๋ฐ์ดํ„ฐ์…‹์—์„œ ์ž„์˜์˜ ๋ฐ์ดํ„ฐ๋“ค์„ ๋ฌด์ž‘์œ„๋กœ ๋ฝ‘์•„์„œ ์ƒˆ๋กœ์šด bootstrap ๋ฐ์ดํ„ฐ์…‹์„ ๋งŒ๋“ค๊ณ  ์žˆ๋‹ค. ์ด ๋•Œ ์ค‘๋ณต์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฝ‘์•„๋„ ์ƒ๊ด€์ด ์—†๋‹ค.

์ด๋Ÿฐ ์‹์œผ๋กœ ์›๋ž˜์˜ ๋ฐ์ดํ„ฐ ์…‹์—์„œ ์ž„์˜๋กœ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ์…‹์„ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๋ฐฉ๋ฒ•์ด ๋ฐ”๋กœ bootstrapping ์ด๋‹ค.

Bootstrapping ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ ๋ชจ๋ธ ๋ณ„๋กœ ๋‹ค์–‘ํ•˜๊ณ  ์„œ๋กœ ๋‹ค๋ฅธ bootstrap ๋ฐ์ดํ„ฐ ์…‹์„ ํ•™์Šตํ•˜๋ฏ€๋กœ ๋ชจ๋ธ๋งˆ๋‹ค ๋‹ค์–‘ํ•œ ๊ฒฐ๊ณผ(์ž„์˜์„ฑ์ด ์ถ”๊ฐ€๋จ)๋ฅผ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ๋‹ค. (๋‹จ, ์•™์ƒ๋ธ” ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์ด bootstrapping์„ ์“ฐ๋Š” ๊ฑด ์•„๋‹ˆ๋‹ค.)

๐Ÿ“Feature Randomization

Feature Randomization์€ Random Forest์—์„œ ํŠธ๋ฆฌ๋ฅผ ๋งŒ๋“ค ๋•Œ, ํ™œ์šฉํ•˜๋Š” ๋ณ€์ˆ˜๋ฅผ ๋ฌด์ž‘์œ„๋กœ ์„ ํƒํ•ด์„œ ์ผ๋ถ€๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๊ฒŒ ๋˜๋ฉด, ๊ฐ ํŠธ๋ฆฌ๊ฐ€ bootstrap sample์„ ๋ณด๋Š” ๊ฒƒ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๊ณ ๋ คํ•˜๋Š” ๋ณ€์ˆ˜ ๋˜ํ•œ ๋‹ค์–‘ํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์–‘ํ•œ ๊ด€์ ์˜ ๋ชจํ˜•์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์ฆ‰, ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ์— ์ž„์˜์„ฑ์„ ๋”ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

๐Ÿ“๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ ๊ฒฐ์ • ํŠธ๋ฆฌ ๋งŒ๋“ค๊ธฐ

๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ์—์„œ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒฐ์ • ํŠธ๋ฆฌ ๋ชจ๋ธ์„ ๋งŒ๋“ ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ, ์ •ํ™•ํžˆ ์–ด๋–ป๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ผ๊นŒ? ์œ„์—์„œ ๋ณธ 2๊ฐ€์ง€ ์š”์†Œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์•Œ์•„๋ณด์ž.

๊ธฐ์กด์˜ ๊ฒฐ์ • ํŠธ๋ฆฌ๋Š” ์ „์ฒด ์†์„ฑ ์ค‘ ์ง€๋‹ˆ ๋ถˆ์ˆœ๋„๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ์€ ์†์„ฑ์„ ๋จผ์ € ๊ณ ๋ฅด๋Š” ๊ฒƒ์ด์—ˆ๋‹ค๋ฉด, ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ์—์„œ๋Š” ์ž„์˜์„ฑ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด ๋จผ์ € ์ „์ฒด ์†์„ฑ ์ค‘ ํŠน์ • ์†์„ฑ๋“ค์„ ์ž„์˜๋กœ ๊ณ ๋ฅธ๋‹ค.(Feature Randomization) ๊ทธ๋ฆฌ๊ณ  ๊ณ ๋ฅธ ์†์„ฑ๋“ค ์ค‘์—์„œ ์ง€๋‹ˆ ๋ถˆ์ˆœ๋„๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ์€ ์†์„ฑ์„ ๊ณ ๋ฅด๋Š” ๊ฒƒ์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด bootstrap ๋ฐ์ดํ„ฐ ์…‹์—์„œ ์ „์ฒด ์†์„ฑ ์ค‘ ์ž„์˜์˜ ์†์„ฑ 2๊ฐœ๋ฅผ ๊ณ ๋ฅด๊ณ , ์ด 2๊ฐœ ์ค‘์— ์ง€๋‹ˆ ๋ถˆ์ˆœ๋„๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ์€ ์†์„ฑ์„ ๊ณ ๋ฅด๋Š” ๊ฒƒ์ด๋‹ค.

์ •๋ฆฌํ•˜์ž๋ฉด ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ๋Š” bootstrap ๋ฐ์ดํ„ฐ ์…‹(Bootstrapping: ๋ฐ์ดํ„ฐ ์…‹์˜ ์ž„์˜์„ฑ ๋ณด์žฅ)์—์„œ ๋ฌด์ž‘์œ„๋กœ ๋ช‡ ๊ฐœ์˜ ์†์„ฑ์„ ๊ณ ๋ฅธ ๋‹ค์Œ์—(Feature Randomization: ๊ฒฐ์ • ํŠธ๋ฆฌ์˜ ์ž„์˜์„ฑ ๋ณด์žฅ) ๊ณ ๋ฅธ ์†์„ฑ ์ค‘์—์„œ ์ง€๋‹ˆ ๋ถˆ์ˆœ๋„๋ฅผ ํ™•์ธํ•˜์—ฌ ๊ฐ€์žฅ ์ข‹์€ ๋…ธ๋“œ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์‹์œผ๋กœ ๊ฒฐ์ • ํŠธ๋ฆฌ๋ฅผ ๋งŒ๋“ ๋‹ค.

๊ทธ๋ฆฌ๊ณ ๋Š” bootstrap ๋ฐ์ดํ„ฐ ์…‹์ด ์—ฌ๋Ÿฌ ๊ฐœ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด ๊ณผ์ •๋“ค์„ bootstrap ๋ฐ์ดํ„ฐ ์…‹์˜ ์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ๊ทธ๋Ÿผ ์•„๋ž˜์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋‹ค์–‘ํ•œ ๊ฒฐ์ • ํŠธ๋ฆฌ๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค. (Bootstrap ๋ฐ์ดํ„ฐ ์…‹์ด 100๊ฐœ์ผ ๋•Œ ๊ฒฐ์ • ํŠธ๋ฆฌ๋„ 100๊ฐœ)

๊ทธ๋ฆฌ๊ณ  ์ด ๊ฒฐ์ • ํŠธ๋ฆฌ๋“ค์˜ ์˜ˆ์ธก ๊ฐ’๋“ค์„ ์ข…ํ•ฉํ•ด์„œ ์ตœ์ข… ์˜ˆ์ธก์„ ํ•œ๋‹ค. ์ง€๊ธˆ ์ผ๋ฐ˜ ๊ฐ๊ธฐ๊ฐ€ 60์œผ๋กœ ๋…๊ฐ๋ณด๋‹ค ๋” ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์ˆ˜๊ฒฐ ํˆฌํ‘œ์— ์˜ํ•ด์„œ ์ผ๋ฐ˜ ๊ฐ๊ธฐ๋กœ ์˜ˆ์ธกํ•˜๋ฉด ๋œ๋‹ค.


๋”ฐ๋ผ์„œ ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ์˜ ํ•™์Šต ๊ณผ์ •์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒฐ์ • ํŠธ๋ฆฌ๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ํ•™์Šต์‹œ์ผœ ์ตœ์ข… ๋ชจ๋ธ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค. ๋งŒ๋“ค์–ด์ง„ ์ตœ์ข… ๋ชจ๋ธ์„ ์ˆ˜์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

F(x)=1Tโˆ‘t=1Tht(x)F(x) = \frac{1}{T} \sum_{t=1}^Th_t(x)

์—ฌ๊ธฐ์„œ TT๋Š” ์ „์ฒด ํŠธ๋ฆฌ ๊ฐœ์ˆ˜, ht(x)h_t(x)๋Š” tt๋ฒˆ ์งธ ์˜์‚ฌ ๊ฒฐ์ • ํŠธ๋ฆฌ์˜ ์˜ˆ์ธก๊ฐ’์„ ์˜๋ฏธํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ์ด ์ตœ์ข… ๋ชจ๋ธ์„ ์ด์šฉํ•ด ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๊ณผ์ •์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ค๋ฉด, ๊ฐ ๊ฐœ๋ณ„ ์˜์‚ฌ ๊ฒฐ์ • ํŠธ๋ฆฌ๋“ค์ด ๋…๋ฆฝ์ ์œผ๋กœ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰

  • ๋ถ„๋ฅ˜ ๋ฌธ์ œ์ผ ๋•Œ๋Š” ์—ฌ๋Ÿฌ ํŠธ๋ฆฌ ์ค‘์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ๋‚˜์˜จ ํด๋ž˜์Šค๋ฅผ ์ตœ์ข… ์˜ˆ์ธก๊ฐ’์œผ๋กœ ์„ ํƒ(๋‹ค์ˆ˜๊ฒฐ ํˆฌํ‘œ)

  • ํšŒ๊ท€ ๋ฌธ์ œ์ผ ๋•Œ๋Š” ๊ฐ ํŠธ๋ฆฌ์˜ ์˜ˆ์ธก๊ฐ’์„ ํ‰๊ท  ๋‚ด์„œ ์ตœ์ข… ์˜ˆ์ธก๊ฐ’์œผ๋กœ ๊ฒฐ์ •


๐Ÿ’ก ์‹ค์Šต

์ด์ œ scikit-learn์„ ์ด์šฉํ•ด์„œ ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ๋ฅผ ์‹ค์Šตํ•ด๋ณด์ž.

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier

import pandas as pd

iris_data = load_iris()

X = pd.DataFrame(iris_data.data, columns=iris_data.feature_names)
y = pd.DataFrame(iris_data.target, columns=['class'])

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=5)
y_train = y_train.values.ravel()

model = RandomForestClassifier(n_estimators=100, max_depth=4) # ๊ฒฐ์ • ํŠธ๋ฆฌ ๊ฐœ์ˆ˜, ๋งŒ๋“ค ๊ฒฐ์ • ํŠธ๋ฆฌ๋“ค์˜ ์ตœ๋Œ€ ๊นŠ์ด

model.fit(X_train, y_train)
model.predict(X_test)

model.score(X_test, y_test) # ์„ฑ๋Šฅ ํ™•์ธ -> 0.9

๐Ÿ“Œ Boosting

Boosting ์€ '~์ „๋ณด๋‹ค ๋” ํฌ๊ฑฐ๋‚˜ ๋†’๊ฒŒ ํ•˜๋‹ค.' ๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค. Boosting ์˜ ์ผ๋ฐ˜์ ์ธ ์ž‘๋™ ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ์ผ๋ถ€๋กœ ์„ฑ๋Šฅ์ด ์•ˆ ์ข‹์€ ๋ชจ๋ธ๋“ค์„ ์‚ฌ์šฉํ•œ๋‹ค.

  • ๋” ๋จผ์ € ๋งŒ๋“  ๋ชจ๋ธ๋“ค์˜ ์„ฑ๋Šฅ์ด ๋‹ค์Œ ๋ชจ๋ธ์ด ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ ์…‹์— ์˜ํ–ฅ์„ ์ค€๋‹ค.

  • ๋ชจ๋ธ๋“ค์˜ ์˜ˆ์ธก์„ ์ข…ํ•ฉํ•  ๋•Œ, ์„ฑ๋Šฅ์ด ์ข‹์€ ๋ชจ๋ธ์˜ ์˜ˆ์ธก์„ ๋” ๋ฐ˜์˜ํ•œ๋‹ค.

Boosting ์˜ ํ•ต์‹ฌ์€ ์„ฑ๋Šฅ์ด ์•ˆ ์ข‹์€ ์•ฝํ•œ ํ•™์Šต๊ธฐ(Weak Learner)๋“ค์„ ํ•ฉ์ณ์„œ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.

์ด๋Ÿฐ Boosting ๋ฐฉ์‹์˜ ์•™์ƒ๋ธ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ํ•˜๋‚˜์ธ AdaBoost์— ๋Œ€ํ•ด์„œ ๋จผ์ € ์•Œ์•„๋ณด์ž.

๐Ÿ“ AdaBoost

Adaptive Boosting, ์ค„์—ฌ์„œ AdaBoost๋Š” ์—ฌ๋Ÿฌ ์•ฝํ•œ ํ•™์Šต๊ธฐ(weak learner)๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ํ•˜๋‚˜์˜ ๊ฐ•ํ•œ ๋ถ„๋ฅ˜๊ธฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์•™์ƒ๋ธ” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

๋จผ์ € AdaBoost ์˜ ์ „๋ฐ˜์ ์ธ ๊ฐœ๋…๊ณผ ๊ฐœ์š”์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.

๐Ÿ“ Stump (์Šคํ…€ํ”„)

์—๋‹ค ๋ถ€์ŠคํŠธ์—์„œ๋Š” ๊นŠ์ด๊ฐ€ ๊นŠ์€ ๊ฒฐ์ • ํŠธ๋ฆฌ๋“ค์ด ์•„๋‹ˆ๋ผ root ๋…ธ๋“œ ํ•˜๋‚˜์™€ ๋ถ„๋ฅ˜ ๋…ธ๋“œ ๋‘ ๊ฐœ๋ฅผ ๊ฐ–๋Š” ์–•์€ ๊ฒฐ์ • ํŠธ๋ฆฌ๋ฅผ ๋งŒ๋“ ๋‹ค. ์‚ฌ์ง„์œผ๋กœ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์œ„์™€ ๊ฐ™์ด ํ•˜๋‚˜์˜ ์งˆ๋ฌธ๊ณผ ๊ทธ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต์œผ๋กœ ๋ฐ”๋กœ ์˜ˆ์ธก์„ ํ•˜๋Š” ์งง์€ ๊ฒฐ์ • ํŠธ๋ฆฌ๋ฅผ ๋‚˜๋ฌด์˜ ๊ทธ๋ฃจํ„ฐ๊ธฐ ๊ฐ™๋‹ค๊ณ  ํ•ด์„œ ์Šคํ…€ํ”„๋ผ๊ณ  ํ•œ๋‹ค.

์ด๋Ÿฐ ์‹์œผ๋กœ ์Šคํ…€ํ”„๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜๋ฉด ์„ฑ๋Šฅ์€ ์–ด๋–จ๊นŒ? ํ”ํžˆ โ€œ๋™์ „ ๋˜์ง€๊ธฐ ๋ณด๋‹ค ์กฐ๊ธˆ ์ข‹๋‹ค.โ€๋ผ๊ณ  ํ‘œํ˜„ํ•œ๋‹ค. ์ฆ‰, ์Šคํ…€ํ”„๋Š” ์ฃผ๋กœ 50% ๋ณด๋‹ค ์กฐ๊ธˆ ๋‚˜์€ ์„ฑ๋Šฅ์„ ๊ฐ–๊ฒŒ ๋œ๋‹ค.

Boosting ๊ธฐ๋ฒ•์€ ์„ฑ๋Šฅ์ด ์•ˆ ์ข‹์€ ๋ชจ๋ธ๋“ค(Weak learner)์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ด๊ฑฐ์— ๋งž๊ฒŒ ์ผ๋ถ€๋Ÿฌ ์ผ๋ฐ˜ ๊ฒฐ์ • ํŠธ๋ฆฌ๊ฐ€ ์•„๋‹Œ ์Šคํ…€ํ”„๋งŒ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

๐Ÿ“ ๋ฐ์ดํ„ฐ ์…‹

ํŒŒ๋ž€์ƒ‰๊ณผ ๋นจ๊ฐ„์ƒ‰ ๋ฐ์ดํ„ฐ๋Š” ์„œ๋กœ ๋ถ„๋ฅ˜๊ฐ€ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋“ค์ด๋‹ค. ์ด๊ฑธ ์ด์šฉํ•ด์„œ ๊ฒฐ์ • ์Šคํ…€ํ”„ ํ•˜๋‚˜(Model 1)๋ฅผ ํ•™์Šตํ–ˆ๋‹ค๊ณ  ํ•˜์ž.

๊ทธ๋Ÿผ ์ด ๊ฒฐ์ • ์Šคํ…€ํ”„๊ฐ€ ๋งž๊ฒŒ ๋ถ„๋ฅ˜ํ•˜๋Š” ์• ๋“ค์ด ์žˆ๊ณ , ํ‹€๋ฆฌ๊ฒŒ ๋ถ„๋ฅ˜ํ•˜๋Š” ์• ๋“ค์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค(๋™๊ทธ๋ผ๋ฏธ ์นœ ๊ณณ). ์ด๋•Œ ํ‹€๋ฆฐ ๋ฐ์ดํ„ฐ๋Š” ๊ฐ€์ค‘์น˜๋ฅผ ๋” ๋†’๊ฒŒ ์ฃผ๊ณ , ๋งž๊ฒŒ ๋ถ„๋ฅ˜ํ•œ ๋ฐ์ดํ„ฐ๋Š” ๊ฐ€์ค‘์น˜๋ฅผ ๋‚ฎ๊ฒŒ ์ค˜์„œ ๋‹ค์Œ ๊ฒฐ์ • ์Šคํ…€ํ”„(Model 2)๊ฐ€ ์˜ค๋ฅ˜์— ๋” ์‹ ๊ฒฝ์“ธ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

๊ทธ ๋‹ค์Œ ๊ฒฐ์ • ์Šคํ…€ํ”„๋ฅผ ๋งŒ๋“ค ๋•Œ๋„, ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฐ์ดํ„ฐ ์…‹์—์„œ ์˜ˆ์ธก์— ํ‹€๋ฆฐ ๋ฐ์ดํ„ฐ์™€ ๋งž์€ ๋ฐ์ดํ„ฐ๋“ค์˜ ๊ฐ€์ค‘์น˜๋ฅผ ์กฐ์ ˆํ•ด์„œ ๋ฐ”๋กœ ์ด์ „ ์˜ˆ์ธก์— ํ‹€๋ ธ๋˜ ๋ฐ์ดํ„ฐ๋“ค์„ ์ข€ ๋” ์ž˜ ์˜ˆ์ธกํ•˜๋Š” ๊ฒฐ์ • ์Šคํ…€ํ”„๋ฅผ ๋งŒ๋“ ๋‹ค.

์ด ๊ณผ์ •์„ ๋ฏธ๋ฆฌ ์ •ํ•ด๋†“์€ ๋งŒํผ ๋ฐ˜๋ณตํ•ด์„œ ์—„์ฒญ ๋งŽ์€ ์Šคํ…€ํ”„๋“ค์„ ๋งŒ๋“ค์–ด์ค€๋‹ค. ๋ญ 100๊ฐœ, 150๊ฐœ, 200๊ฐœ, .. ์ด๋Ÿฐ ์‹์œผ๋กœ ๋ง์ด๋‹ค.

๐Ÿ“ ์˜ˆ์ธก

์ด๋ ‡๊ฒŒ ์ˆ˜๋งŽ์€ ์Šคํ…€ํ”„๋“ค์„ ๋งŒ๋“  ํ›„์—๋Š” ์ข…ํ•ฉ์ ์ธ ์˜ˆ์ธก์„ ํ•ด์•ผํ•˜๋Š”๋ฐ, AdaBoost๋Š” ๋‹ค์ˆ˜๊ฒฐ์˜ ์›์น™์ด ์•„๋‹ˆ๋ผ ์„ฑ๋Šฅ ์ฃผ์˜์ ์œผ๋กœ ์˜ˆ์ธก์„ ํ•œ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์ด ์žˆ๋‹ค๊ณ  ํ•˜์ž.

๋…๊ฐ ํ•™์Šต ๋ฐ์ดํ„ฐ์—์„œ ์Šคํ…€ํ”„๊ฐ€ ๋‘ ๊ฐœ๊ฐ€ ๋…๊ฐ์„ ์˜ˆ์ธกํ•˜๊ณ  ๋‚˜๋จธ์ง€ 2๊ฐœ๊ฐ€ ์ผ๋ฐ˜ ๊ฐ๊ธฐ๋ฅผ ์˜ˆ์ธกํ–ˆ๋‹ค๊ณ  ํ•˜์ž. ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ณด๋ฉด ์ง€๊ธˆ ๋…๊ฐ์„ ์˜ˆ์ธกํ•œ ์Šคํ…€ํ”„๋“ค์˜ ์„ฑ๋Šฅ์˜ ํ•ฉ์€ 6์ด๊ณ  ์ผ๋ฐ˜ ๊ฐ๊ธฐ๋ฅผ ์˜ˆ์ธกํ•œ ์Šคํ…€ํ”„๋“ค์˜ ์„ฑ๋Šฅ์€ 5์ด๋‹ค.

์ด๋•Œ๋Š” ์•„๋ฌด๋ฆฌ ๋‹ค์ˆ˜๊ฒฐ์ด 2:2์—ฌ๋„ ๋” ์„ฑ๋Šฅ์˜ ํ•ฉ์ด ๋†’์€ ๋…๊ฐ์œผ๋กœ ์˜ˆ์ธก์„ ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

์ •๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ์•ฝํ•œ ํ•™์Šต๊ธฐ์ธ ๊ฒฐ์ • ์Šคํ…€ํ”„๋ฅผ ๋งŒ๋“ ๋‹ค.

  • ๋‹ค์Œ ๊ฒฐ์ • ์Šคํ…€ํ”„๋ฅผ ๋งŒ๋“ค ๋•Œ, ์ด์ „ ์Šคํ…€ํ”„๊ฐ€ ํ‹€๋ฆฌ๊ฒŒ ์˜ˆ์ธกํ•œ ๋ฐ์ดํ„ฐ๋“ค์˜ ๊ฐ€์ค‘์น˜๋ฅผ ๋” ๋†’๊ฒŒ ์ค€๋‹ค.

  • ์ตœ์ข… ๊ฒฐ์ •์„ ๋‚ด๋ฆด ๋•Œ๋Š” ์„ฑ๋Šฅ์ด ์ข‹์€ ๊ฒฐ์ • ์Šคํ…€ํ”„๋“ค ์˜ˆ์ธก ์˜๊ฒฌ์˜ ๋น„์ค‘์€ ๋†’๊ฒŒ, ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฐ์ • ์Šคํ…€ํ”„์˜ ์˜๊ฒฌ์˜ ๋น„์ค‘์€ ๋‚ฎ๊ฒŒ ๋ฐ˜์˜ํ•œ๋‹ค.

์ด์ œ ์ „์ฒด์ ์ธ ํ๋ฆ„์„ ์•Œ์•˜์œผ๋‹ˆ, AdaBoost๋ฅผ ๋‹ค์‹œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ตฌ์ฒด์ ์œผ๋กœ ์•Œ์•„๋ณด์ž.

๐Ÿ“ ๊ตฌ์ฒด์ ์ธ AdaBoost

๋ฐ์ดํ„ฐ๋Š” ๋…๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์ž. ๊ทธ๋ฆฌ๊ณ  ์ค‘์š”๋„๋ผ๋Š” ์—ด์„ ์ถ”๊ฐ€ํ•˜์ž. ์‹ค์ œ๋กœ ์†์„ฑ์œผ๋กœ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฑด ์•„๋‹ˆ๊ณ , ๊ฐ€์ค‘์น˜๋ฅผ ์ˆ˜์น˜ํ™”ํ•˜๊ณ  ๋ณด๊ธฐ ํŽธํ•˜๊ฒŒ ๊ทธ๋ƒฅ ์—ฌ๊ธฐ ์—ด๋กœ ์ถ”๊ฐ€์‹œ์ผœ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆผ์œผ๋กœ ๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

์ฒ˜์Œ์—๋Š” ํ‹€๋ฆฌ๊ฒŒ ์˜ˆ์ธกํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์œผ๋‹ˆ๊นŒ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์˜ ์ค‘์š”๋„๋ฅผ ๊ฐ™๊ฒŒ ์„ค์ •ํ•œ๋‹ค. 7๊ฐœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์œผ๋‹ˆ๊นŒ ๊ฐ๊ฐ 17\frac{1}{7}์”ฉ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ค‘์š”๋„์˜ ํ•ฉ์€ ํ•ญ์ƒ 1๋กœ ์œ ์ง€๊ฐ€ ๋ผ์•ผ ํ•œ๋‹ค.


์ผ๋‹จ ์ฒซ ์Šคํ…€ํ”„๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. ์ฒซ ์Šคํ…€ํ”„๋Š” ์ „์— ๋งŒ๋“  ์Šคํ…€ํ”„๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ์ • ํŠธ๋ฆฌ๋ฅผ ๋งŒ๋“ค ๋•Œ๋ž‘ ๋˜‘๊ฐ™์ด ์ง€๋‹ˆ ๋ถˆ์ˆœ๋„๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ์€ ๋…ธ๋“œ๋ฅผ root ๋…ธ๋“œ๋กœ ๊ณ ๋ฅธ๋‹ค.
์ง€๊ธˆ์€ โ€œ37.5๋„๊ฐ€ ๋„˜๋‚˜์š”?โ€๊ฐ€ ๊ฐ€์žฅ ์ข‹๋‹ค๊ณ  ํ•˜์ž. ์Šคํ…€ํ”„๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์งˆ๋ฌธ ๋…ธ๋“œ ๋‹ค์Œ์—” ๋ถ„๋ฅ˜ ๋…ธ๋“œ๊ฐ€ ์˜ค๊ณ  ๋์ด๋‚œ๋‹ค. ๊ทธ๋ฆผ์œผ๋กœ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์ด๋ ‡๊ฒŒ ์ฒซ ๋ฒˆ์งธ ์Šคํ…€ํ”„๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ์—๋‹ค ๋ถ€์ŠคํŠธ๋Š” ์˜ˆ์ธก์„ ์ข…ํ•ฉํ•  ๋•Œ ๊ฐ ์Šคํ…€ํ”„์˜ ์„ฑ๋Šฅ์„ ๋ฐ˜์˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์Šคํ…€ํ”„๋ฅผ ๋งŒ๋“ค ๋•Œ๋งˆ๋‹ค ๋ฏธ๋ฆฌ ์„ฑ๋Šฅ์„ ๊ณ„์‚ฐํ•ด์•ผ ํ•œ๋‹ค. ์ด์ œ ์Šคํ…€ํ”„์˜ ์„ฑ๋Šฅ์€ ์–ด๋–ป๊ฒŒ ๊ณ„์‚ฐํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž.


์Šคํ…€ํ”„์˜ ์„ฑ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณ„์‚ฐํ•œ๋‹ค.

12log(1โˆ’total_errortotal_error)\frac{1}{2}log(\frac{1 - total\_error}{total\_error})

์—ฌ๊ธฐ์„œ total_errortotal\_error๋Š” ํ‹€๋ฆฌ๊ฒŒ ๋ถ„๋ฅ˜ํ•œ ๋ฐ์ดํ„ฐ๋“ค์˜ ์ค‘์š”๋„ ํ•ฉ์„ ์˜๋ฏธํ•œ๋‹ค.
์ง€๊ธˆ ์—ด 37.5๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆด์„ ๋•Œ ๋‘ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํ‹€๋ฆฌ๊ฒŒ ๋ถ„๋ฅ˜๋˜๋Š”๋ฐ, ํ˜„์žฌ ์ด ํ‹€๋ฆฐ ๋ฐ์ดํ„ฐ๋“ค์˜ ์ค‘์š”๋„๋Š” ๊ฐ๊ฐ 17\frac{1}{7}์”ฉ์ด๋‹ˆ๊นŒ total_errortotal\_error๋Š” ์ด ๋‘ ๊ฐ’์„ ๋”ํ•œ ๊ฐ’ 27\frac{2}{7}์ด๋‹ค.

๊ณ„์‚ฐํ•œ total_errortotal\_error๋ฅผ ์‹์— ๋„ฃ์œผ๋ฉด 0.458์ด ๋‚˜์˜จ๋‹ค. ์ด๊ฒŒ ๋ฐ”๋กœ ์ด ์Šคํ…€ํ”„์˜ ์„ฑ๋Šฅ์ด ๋œ๋‹ค.

๊ทผ๋ฐ ์Šคํ…€ํ”„์˜ ์„ฑ๋Šฅ์„ ๊ตฌํ•  ๋•Œ ์™œ ์ € ์‹์„ ์‚ฌ์šฉํ• ๊นŒ? ์„ฑ๋Šฅ ์‹์„ ๊ทธ๋ž˜ํ”„๋กœ ๊ทธ๋ ค์„œ ํ™•์ธํ•ด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

total_errortotal\_error๊ฐ€ 1์— ๊ฐ€๊นŒ์›Œ์งˆ์ˆ˜๋ก ๊ฐ€์ค‘์น˜๊ฐ€ ์ž‘์•„์ง€๊ณ , 0์— ๊ฐ€๊นŒ์›Œ์งˆ์ˆ˜๋ก ๊ฐ€์ค‘์น˜๊ฐ€ ์ปค์ง„๋‹ค. (์—ฌ๊ธฐ์„œ ๊ฐ€์ค‘์น˜๊ฐ€ ์ปค์ง€๊ณ  ์ž‘์•„์ง„๋‹ค๋ฅผ Amount of Say๊ฐ€ ์ปค์ง€๊ณ  ์ž‘์•„์ง„๋‹ค ๋ผ๊ณ ๋„ ๋งํ•œ๋‹ค. Amount of Say๊ฐ€ ํฌ๋‹ค๋Š” ๊ฑด ๊ฒฐ๊ณผ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์ด ํฌ๋‹ค๋Š” ์†Œ๋ฆฌ์ด๋‹ค.)

total_errortotal\_error ๊ฐ€ 1์ด๋ฉด ์–ด๋–ค ๊ฒฝ์šฐ์ผ๊นŒ? ํ‹€๋ฆฐ ๋ฐ์ดํ„ฐ์˜ ์ค‘์š”๋„ ํ•ฉ์ด 1์ด๋‹ˆ๊นŒ ์Šคํ…€ํ”„๊ฐ€ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค ํ‹€๋ฆฌ๊ฒŒ ์˜ˆ์ธกํ•œ ๊ฒฝ์šฐ์ด๋‹ค. ์ด๋•Œ๋Š” ์„ฑ๋Šฅ์ด ์—„์ฒญ ์•ˆ ์ข‹์€ ๊ฑฐ๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์„ ๋ฌดํ•œํ•˜๊ฒŒ ์ž‘๊ฒŒ ๋งŒ๋“ ๋‹ค.

๋ฐ˜๋Œ€๋กœ total_errortotal\_error ๊ฐ€ 0์ด๋ผ๋Š” ๋ง์€, ์Šคํ…€ํ”„๊ฐ€ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค ๋งž๊ฒŒ ์˜ˆ์ธกํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค. ์ด ์Šคํ…€ํ”„์˜ ์„ฑ๋Šฅ์€ ์—„์ฒญ ์ข‹์€ ๊ฑฐ๋‹ˆ๊นŒ ์„ฑ๋Šฅ์„ ๋ฌดํ•œํžˆ ํฌ๊ฒŒ ๋งŒ๋“ค์–ด์ค€๋‹ค.

total_errortotal\_error๊ฐ€ ๋”ฑ 0.5๋ฉด, ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ค‘ ๋”ฑ ๋ฐ˜์€ ๋งž๊ณ  ๋ฐ˜์€ ํ‹€๋ฆฐ ๊ฒƒ์ด๋‹ค. ์ด๋•Œ๋Š” ์„ฑ๋Šฅ์ด ์•„๋ฌด ์˜๋ฏธ๊ฐ€ ์—†์œผ๋‹ˆ๊นŒ ๊ทธ๋ƒฅ 0์œผ๋กœ ๋งŒ๋“ค์–ด ์ค€๋‹ค.

๋”ฐ๋ผ์„œ ๊ทธ๋ž˜ํ”„๋Š” ์ž˜ ๋งž์ถœ์ˆ˜๋ก, ๋˜๋Š” ์ž˜ ๋ชป ๋งž์ถœ์ˆ˜๋ก ์„ฑ๋Šฅ์„ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋Š˜๋ฆฌ๊ณ  ์ค„์—ฌ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.


ํ˜„์žฌ ์ฒซ ๋ฒˆ์งธ ์Šคํ…€ํ”„๋ฅผ ์ •ํ•˜๊ณ  ๊ทธ ์Šคํ…€ํ”„์˜ ์„ฑ๋Šฅ๊นŒ์ง€ ๊ตฌํ•ด๋ณด์•˜๋‹ค. ์ด์ œ ๋ฐ์ดํ„ฐ์˜ ์ค‘์š”๋„๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž.

ํ˜„์žฌ๊นŒ์ง€์˜ ์ƒํ™ฉ์„ ๊ทธ๋ฆผ์œผ๋กœ ๊ทธ๋ฆฌ๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

์ฒซ ๋ฒˆ์งธ ์Šคํ…€ํ”„๋Š” ์—ด์ด โ€œ37.5๋„๊ฐ€ ๋„˜๋‚˜์š”?โ€์˜€๊ณ , ์„ฑ๋Šฅ์€ 0.458์ด์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ ๋ฐ์ดํ„ฐ์˜ ์ค‘์š”๋„๋Š” ๋‹ค ๋˜‘๊ฐ™์ด 17\frac{1}{7}์”ฉ์ด์—ˆ๋‹ค.

์ฒซ ์Šคํ…€ํ”„๋ฅผ ๋งŒ๋“ค ๋•Œ๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ๋˜‘๊ฐ™์€ ์ค‘์š”๋„๋ฅผ ๊ฐ€์กŒ์ง€๋งŒ, ๋‹ค์Œ์— ๋งŒ๋“ค ์Šคํ…€ํ”„๋Š” ์•ž์—์„œ ํ‹€๋ฆฌ๊ฒŒ ๋ถ„๋ฅ˜ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋” ์ž˜ ๋ถ„๋ฅ˜ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ‹€๋ฆฌ๊ฒŒ ๋ถ„๋ฅ˜ํ•œ ๋ฐ์ดํ„ฐ์˜ ์ค‘์š”๋„๋Š” ๋Š˜๋ ค์ฃผ๊ณ , ๋งž๊ฒŒ ๋ถ„๋ฅ˜ํ•œ ๋ฐ์ดํ„ฐ์˜ ์ค‘์š”๋„๋Š” ๋‚ฎ์ถฐ์ค˜์•ผ ๋œ๋‹ค.

๋จผ์ € ํ‹€๋ฆฌ๊ฒŒ ๋ถ„๋ฅ˜ํ•œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ๋Š” ์ด๋ ‡๊ฒŒ ์ค‘์š”๋„๋ฅผ ๋ฐ”๊ฟ”์ค€๋‹ค. (์ค‘์š”๋„๋ฅผ ๋†’์—ฌ์•ผ ํ•จ)

weightnew=weightoldร—eptreeweight_{new} = weight_{old} \times e^{p_{tree}}

์™ผ์ชฝ์˜ weightnewweight_{new}๋Š” ์ƒˆ๋กœ์šด ์ค‘์š”๋„์ด๊ณ , weightoldweight_{old} ๋Š” ์˜ˆ์ „ ์ค‘์š”๋„, ptreep_{tree}๋Š” ์Šคํ…€ํ”„์˜ ์„ฑ๋Šฅ์„ ์˜๋ฏธํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋งž๊ฒŒ ๋ถ„๋ฅ˜ํ•œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ๋Š” ์ด๋ ‡๊ฒŒ ์ค‘์š”๋„๋ฅผ ๋ฐ”๊ฟ”์ค€๋‹ค. (์ค‘์š”๋„๋ฅผ ๋‚ฎ์ถฐ์•ผ ํ•จ)

weightnew=weightoldร—eโˆ’ptreeweight_{new} = weight_{old} \times e^{-p_{tree}}

weightoldweight_{old}์— ๊ณฑํ•ด์ฃผ๋Š” eptreee^{p_{tree}} ์™€ eโˆ’ptreee^{-p_{tree}}๋ฅผ ๊ฐ๊ฐ ๊ทธ๋ž˜ํ”„๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๋‘˜๋‹ค ์Šคํ…€ํ”„์˜ ์„ฑ๋Šฅ ptreep_{tree}๊ฐ€ 0์ผ ๋•Œ๋Š”(total_errortotal\_error ๊ฐ€ 0.5์ผ ๋•Œ) eptreee^{p_{tree}} ์™€ eโˆ’ptreee^{-p_{tree}} ๊ฐ’ ๋ชจ๋‘ 1์ด ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์ด์ „ ์ค‘์š”๋„์— 1์ด ๊ณฑํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ์šด ์ค‘์š”๋„ ๊ฐ’์€ ๋ณ€ํ•จ์ด ์—†๋‹ค.

ํ•˜์ง€๋งŒ ์Šคํ…€ํ”„์˜ ์„ฑ๋Šฅ ptreep_{tree}๊ฐ€ ์ปค์ง„๋‹ค๋ฉด ๋‹ฌ๋ผ์ง„๋‹ค. eptreee^{p_{tree}} ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” 1๋ณด๋‹ค ํฐ ์ˆ˜๊ฐ€ weightoldweight_{old}์— ๊ณฑํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ์šด ๊ฐ€์ค‘์น˜ weightnewweight_{new}๋Š” ๊ฐ’์ด ์ปค์ง€๊ณ , eโˆ’ptreee^{-p_{tree}} ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” 1๋ณด๋‹ค ์ž‘์€ ์ˆ˜๊ฐ€ weightoldweight_{old}์— ๊ณฑํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ์šด ๊ฐ€์ค‘์น˜ weightnewweight_{new}๋Š” ๊ฐ’์ด ์ž‘์•„์ง„๋‹ค.

๋”ฐ๋ผ์„œ ํ‹€๋ฆฌ๊ฒŒ ๋ถ„๋ฅ˜ํ•œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ๋Š” ๊ฐ€์ค‘์น˜๋ฅผ ๋†’์—ฌ์•ผ ํ•˜๋‹ˆ๊นŒ ์ด์ „ ๊ฐ€์ค‘์น˜์— eptreee^{p_{tree}}๋ฅผ ๊ณฑํ•ด์ฃผ๊ณ , ๋งž๊ฒŒ ๋ถ„๋ฅ˜ํ•œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ๋Š” ๊ฐ€์ค‘์น˜๋ฅผ ๋‚ฎ์ถฐ์•ผ ํ•˜๋‹ˆ๊นŒ ์ด์ „ ๊ฐ€์ค‘์น˜์— eโˆ’ptreee^{-p_{tree}}๋ฅผ ๊ณฑํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

์ด์ œ ๋ฐ์ดํ„ฐ์— ์ง์ ‘ ์ ์šฉํ•ด๋ณด์ž. ๊ธฐ์กด ์ค‘์š”๋„ 17\frac{1}{7}์„ ์œ„์—์„œ ๋ณธ ์‹๋“ค๋กœ ์ˆ˜์ •์„ ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์•„์ง„๋‹ค.

ํ•˜์ง€๋งŒ ํ˜„์žฌ๋Š” ์ค‘์š”๋„์˜ ํ•ฉ์ด 1์ด ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋น„์œจ์ ์œผ๋กœ ์ˆ˜์ •ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์˜ ์ค‘์š”๋„๋ฅผ ๋”ํ•˜๊ณ , ๊ฐ ๋ฐ์ดํ„ฐ์˜ ์ค‘์š”๋„๋ฅผ ์ด ๊ฐ’์œผ๋กœ ๋‚˜๋ˆ ์ฃผ๋ฉด ๋œ๋‹ค. ์ด์ œ ์ตœ์ข…์ ์œผ๋กœ ์ˆ˜์ •๋œ ๊ฐ ๋ฐ์ดํ„ฐ์˜ ์ค‘์š”๋„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์ž˜๋ชป ๋ถ„๋ฅ˜ํ–ˆ๋˜ ๋‘ ๋ฐ์ดํ„ฐ๋Š” ์ค‘์š”๋„๊ฐ€ 0.25๊ฐ€ ๋˜๊ณ , ๋‚˜๋จธ์ง€ ๋ฐ์ดํ„ฐ๋“ค์€ ์ค‘์š”๋„๊ฐ€ 0.1์ด ๋˜์—ˆ๋‹ค. ํ‹€๋ฆฐ ๋ฐ์ดํ„ฐ์˜ ์ค‘์š”๋„๋Š” ๋†’์ด๊ณ , ๋งž์€ ๋ฐ์ดํ„ฐ์˜ ์ค‘์š”๋„๋Š” ๋‚ฎ์ถ˜ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ๋ฐ์ดํ„ฐ์˜ ์ค‘์š”๋„๋ฅผ ๋”ํ•˜๋ฉด ๋‹ค์‹œ 1์ด ๋‚˜์˜ค๋Š” ๊ฒƒ๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.


์ด์ œ ์ด ์ค‘์š”๋„๊ฐ€ ๋ฐ”๋€ ๋ฐ์ดํ„ฐ ์…‹์„ ์ด์šฉํ•ด์„œ ๋‹ค์Œ ์Šคํ…€ํ”„, ๊ทธ๋‹ค์Œ ์Šคํ…€ํ”„โ€ฆ ์ด๋Ÿฐ ์‹์œผ๋กœ ์Šคํ…€ํ”„๋ฅผ ๊ณ„์† ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.

์ƒˆ๋กœ ๋งŒ๋“ค ๋ฐ์ดํ„ฐ ์…‹์€ ๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ ์…‹ ํฌ๊ธฐ๋ž‘ ๋˜‘๊ฐ™์€๋ฐ, ๋‹จ์ง€ ๊ธฐ์กด ๋ฐ์ดํ„ฐ์˜ ์ค‘์š”๋„๊ฐ€ ํ™•๋ฅ ๋กœ ํ™œ์šฉ๋˜์–ด ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ์…‹์ด ๋งŒ๋“ค์–ด์ง„๋‹ค. ๊ทธ๋ฆผ์œผ๋กœ ์ •ํ™•ํžˆ ๋ด๋ณด์ž.

์ „์ฒด์ ์œผ๋กœ๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ณ , ๋ฒ”์œ„์˜ ์‹œ์ž‘๊ฐ’์— ๊ฐ ๋ฐ์ดํ„ฐ์˜ ์ค‘์š”๋„๋ฅผ ๋”ํ•ด์ค€ ๊ฐ’์ด ํ•ด๋‹น ๋ฐ์ดํ„ฐ์˜ ๋ฒ”์œ„๊ฐ€ ๋๋‚˜๋Š” ๊ฐ’์ด๋‹ค.

์ฒซ ๋ฐ์ดํ„ฐ๋Š” 0๋ถ€ํ„ฐ ์ค‘์š”๋„ 0.1๋งŒํผ, ๋‘ ๋ฒˆ์งธ ๋ฐ์ดํ„ฐ๋Š” 0.1๋ถ€ํ„ฐ ์ค‘์š”๋„๋ฅผ ๋”ํ•œ 0.2๊นŒ์ง€, ๋‹ค์Œ์€ 0.2๋ถ€ํ„ฐ 0.3๊นŒ์ง€, ๋‹ค์Œ์€ 0.3์—์„œ 0.55๊นŒ์ง€, ๋‹ค์Œ์€ 0.55์—์„œ 0.65๊นŒ์ง€, ... , ๋งˆ์ง€๋ง‰์œผ๋กœ๋Š” 0.9๋ถ€ํ„ฐ 1๊นŒ์ง€์˜ ๋ฒ”์œ„๋ฅผ ์ค€๋‹ค.

์ด์ œ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ์…‹์„ ๋งŒ๋“ค ๋•Œ 0์—์„œ 1 ์‚ฌ์ด์˜ ์•„๋ฌด ์ˆซ์ž๋ฅผ ๊ณ ๋ฅด๋Š”๋ฐ, ๋‚˜์˜จ ์ˆซ์ž๋ฅผ ๊ฐ–๋Š” ๋ฒ”์œ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ์…‹์— ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด 0.4012 ๋ฅผ ๊ณ ๋ฅด๋ฉด ์ด ๊ฐ’์ด ํฌํ•จ๋œ ๋ฒ”์œ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒˆ ๋ฐ์ดํ„ฐ ์…‹์— ์ถ”๊ฐ€ํ•ด ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ค‘์š”๋„๊ฐ€ ๋†’์€ ๋ฐ์ดํ„ฐ๋Š” ๋ฒ”์œ„๋„ ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์„ ํƒ๋  ํ™•๋ฅ ๋„ ๋†’๋‹ค.

์ด๊ฑธ ์›๋ž˜ ๋ฐ์ดํ„ฐ ์…‹์˜ ํฌ๊ธฐ๋งŒํผ ๋ฐ˜๋ณตํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ์…‹์ด ๋งŒ๋“ค์–ด์ง„๋‹ค.

์ž์„ธํžˆ ์‚ดํŽด๋ณด๋ฉด ์ค‘์š”๋„๊ฐ€ ๋†’์€ ๋ฐ์ดํ„ฐ๋“ค์€ ์—ฌ๋Ÿฌ ๋ฒˆ ๋“ค์–ด๊ฐ”๊ณ  ์ค‘์š”๋„๊ฐ€ ๋‚ฎ์€ ๋ฐ์ดํ„ฐ๋“ค์€ ์•„์˜ˆ ์ถ”๊ฐ€๊ฐ€ ์•ˆ ๋œ ๊ฒƒ๋„ ์žˆ๋‹ค. ์ด๊ฒƒ์€ ์˜ณ์€ ์ˆ˜์ˆœ์ด๋‹ค.

์• ์ดˆ์— ๋‹ค์Œ ์Šคํ…€ํ”„๋Š” ์ „ ์Šคํ…€ํ”„๊ฐ€ ํ‹€๋ฆฐ ๋ฐ์ดํ„ฐ๋“ค์„ ์ข€ ๋” ์ž˜ ๋งž์ถฐ์•ผ ํ•œ๋‹ค. ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ์…‹์—๋Š” ์ „ ์Šคํ…€ํ”„๋“ค์ด ํ‹€๋ฆฐ, ๋‹ค์‹œ ๋งํ•ด ์ค‘์š”๋„๊ฐ€ ๋†’์€ ๋ฐ์ดํ„ฐ๋“ค์ด ํ™•๋ฅ ์ ์œผ๋กœ ๋” ๋งŽ์ด ๋“ค์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ ์Šคํ…€ํ”„๊ฐ€ ํ‹€๋ฆฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋” ์ž˜ ๋งž์ถœ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

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

๋”ฐ๋ผ์„œ ์ฒซ ๋ฒˆ์งธ ์Šคํ…€ํ”„๊ฐ€ ํ‹€๋ฆฌ๊ฒŒ ๋ถ„๋ฅ˜ํ•œ ๋ฐ์ดํ„ฐ๋“ค์€ ๋‘ ๋ฒˆ์งธ ์Šคํ…€ํ”„๊ฐ€ ์ข€ ๋” ์ž˜ ๋งž์ถœ ์ˆ˜ ์žˆ๊ณ , ์„ธ ๋ฒˆ์งธ ์Šคํ…€ํ”„๋Š” ์•ž์— ์žˆ๋Š” ์Šคํ…€ํ”„๋“ค์ด ํ‹€๋ฆฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ข€ ๋” ์ž˜ ๋งž์ถœ ์ˆ˜ ์žˆ๊ณ โ€ฆ ์ด๋Ÿฐ์‹์œผ๋กœ ์Šคํ…€ํ”„๋“ค์„ ๊ณ„์† ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.


์ด์ œ ๋งŒ๋“ค์–ด ๋†“์€ ์Šคํ…€ํ”„๋“ค๋กœ ์˜ˆ์ธกํ•˜๋Š” ๊ณผ์ •์„ ๊ฐ„๋‹จํžˆ ๋ด๋ณด์ž. ์ผ๋‹จ ์Šคํ…€ํ”„๋ฅผ ์ด 4๊ฐœ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ  ํ•˜์ž. ๊ทธ๋ฆผ์œผ๋กœ ๊ทธ๋ฆฌ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์ผ๋ฐ˜ ๊ฐ๊ธฐ๋กœ ์˜ˆ์ธกํ•˜๋Š” ์Šคํ…€ํ”„๋“ค์˜ ์„ฑ๋Šฅ ํ•ฉ์€ 0.6์ด๊ณ , ๋…๊ฐ์œผ๋กœ ์˜ˆ์ธกํ•˜๋Š” ์Šคํ…€ํ”„๋“ค์˜ ์„ฑ๋Šฅ ํ•ฉ์€ 1.2๋กœ ์ผ๋ฐ˜ ๊ฐ๊ธฐ๋กœ ์˜ˆ์ธกํ•˜๋Š” ์Šคํ…€ํ”„๋“ค์˜ ์„ฑ๋Šฅ ํ•ฉ๋ณด๋‹ค ํฌ๋‹ค. ์ด๋Ÿด ๊ฒฝ์šฐ์— ์ตœ์ข… ๊ฒฐ์ •(์•ฝํ•œ ํ•™์Šต๊ธฐ๋“ค์˜ ๊ฐ€์ค‘ํ•ฉ)์€ ์„ฑ๋Šฅ์˜ ํ•ฉ์ด ๋†’์€ ์ชฝ์œผ๋กœ ๋”ฐ๋ผ๊ฐ€๊ฒŒ ๋˜์–ด ๊ฒฐ๊ตญ ๋…๊ฐ์œผ๋กœ ์˜ˆ์ธก๋œ๋‹ค.


๋”ฐ๋ผ์„œ ํ•™์Šต๋œ ์—๋‹ค ๋ถ€์ŠคํŠธ์˜ ์ตœ์ข… ๋ชจ๋ธ์„ ์ˆ˜์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

F(x)=โˆ‘t=1Tฮฑtht(x)F(x) = \sum_{t=1}^T\alpha_th_t(x)

์—ฌ๊ธฐ์„œ TT๋Š” ์•ฝํ•œ ํ•™์Šต๊ธฐ์˜ ์ด ๊ฐœ์ˆ˜์ด๊ณ , ht(x)h_t(x)๋Š” tt๋ฒˆ์งธ ์•ฝํ•œ ํ•™์Šต๊ธฐ, ฮฑt\alpha_t๋Š” ํ•™์Šต๊ธฐ ht(x)h_t(x)์˜ ์‹ ๋ขฐ๋„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ€์ค‘์น˜๋กœ, ๊ฐœ๋ณ„ ํ•™์Šต๊ธฐ๊ฐ€ ์ตœ์ข… ์˜ˆ์ธก์— ์–ผ๋งˆ๋‚˜ ๊ธฐ์—ฌํ•˜๋Š”์ง€๋ฅผ ์˜๋ฏธํ•œ๋‹ค.(๋‹จ ์—ฌ๊ธฐ์„œ ฮฑt\alpha_t๋Š” ์•ฝํ•œ ํ•™์Šต๊ธฐ์— ๋ถ€์—ฌ๋˜๋Š” ์‹ ๋ขฐ๋„์ด๋‹ค. ๋”ฐ๋ผ์„œ ์œ„์—์„œ ๋ณธ ๋ฐ์ดํ„ฐ์— ์ฃผ๋Š” ์ค‘์š”๋„๋ž‘์€ ๋ณ„๊ฐœ์ด๋‹ค.)

์ฆ‰, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์•ฝํ•œ ํ•™์Šต๊ธฐ์˜ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ค‘์น˜์™€ ํ•จ๊ป˜ ๋ฐ˜์˜ํ•˜์—ฌ ๋”ํ•œ ๊ฐ’์ด๋‹ค. ์–ด๋–ค tt๋ฒˆ์งธ ์•ฝํ•œ ํ•™์Šต๊ธฐ์˜ ์‹ ๋ขฐ๋„ ฮฑt\alpha_t๊ฐ€ ํฌ๋ฉด, ๊ทธ ํ•™์Šต๊ธฐ์˜ ์˜ˆ์ธก์ด ์ตœ์ข… ๊ฒฐ๊ณผ์— ๋” ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ฒŒ ๋œ๋‹ค.

์ด์ œ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์™”์„ ๋•Œ์˜ ์˜ˆ์ธก ๊ณผ์ •์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • ๋ชจ๋“  ์•ฝํ•œ ํ•™์Šต๊ธฐ๋“ค์ด ๊ฐ๊ฐ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

  • ๊ฐ ํ•™์Šต๊ธฐ์˜ ์˜ˆ์ธก๊ฐ’์— ๊ทธ ํ•™์Šต๊ธฐ์˜ ๊ฐ€์ค‘์น˜ ฮฑt\alpha_t๋ฅผ ๊ณฑํ•ด์„œ ํ•ฉ์‚ฐํ•œ๋‹ค.

  • ์ตœ์ข…์ ์œผ๋กœ ์Šคํ…€ํ”„๋“ค์˜ ์„ฑ๋Šฅํ•ฉ์ด ๊ฐ€์žฅ ๋†’์€ ํด๋ž˜์Šค๋ฅผ ์ตœ์ข… ์˜ˆ์ธก๊ฐ’์œผ๋กœ ์„ ํƒํ•œ๋‹ค.


๐Ÿ’ก ์‹ค์Šต

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import AdaBoostClassifier

import pandas as pd

iris_data = load_iris()

X = pd.DataFrame(iris_data.data, columns=iris_data.feature_names)
y = pd.DataFrame(iris_data.target, columns=['class'])

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=5)
y_train = y_train.values.ravel()

model = AdaBoostClassifier(n_estimators=100) # ๊ฒฐ์ • ์Šคํ…€ํ”„์˜ ๊ฐœ์ˆ˜(๊ธฐ๋ณธ๊ฐ’์€ 10๊ฐœ)
model.fit(X_train, y_train)

model.predict(X_test)

model.score(X_test, y_test) # ์„ฑ๋Šฅ ํ™•์ธ -> 0.87

๐Ÿ’กBagging vs. Boosting

๋‘ ํ•™์Šต๋ฒ•์— ๋”ฐ๋ฅธ ์•™์ƒ๋ธ” ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์„ ์ •๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • Bagging ๊ณ„์—ด:

    • Random Forest

    • Extra Trees

    • etc..

  • Boosting ๊ณ„์—ด:

    • AdaBoost

    • Gradient Boosting

    • XGBoost

    • LightGBM

    • CatBoost

    • etc..

๋‘ ํ•™์Šต๋ฒ•์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ผ๊นŒ? ๊ทธ๋ฆผ์œผ๋กœ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์œ„ ๊ทธ๋ฆผ์—์„œ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ”์™€ ๊ฐ™์ด Bagging์€ ๋ณ‘๋ ฌ๋กœ ํ•™์Šตํ•˜๋Š” ๋ฐ˜๋ฉด, Boosting์€ ์ˆœ์ฐจ์ ์œผ๋กœ ํ•™์Šตํ•œ๋‹ค. Boosting์€ ํ•œ๋ฒˆ ํ•™์Šต์ด ๋๋‚œ ํ›„ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•œ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋ถ€์—ฌ๋œ ๊ฐ€์ค‘์น˜๊ฐ€ ๋‹ค์Œ ๋ชจ๋ธ์˜ ๊ฒฐ๊ณผ ์˜ˆ์ธก์— ์˜ํ–ฅ์„ ์ฃผ๊ฒŒ ๋œ๋‹ค.

์˜ค๋‹ต์— ๋Œ€ํ•ด์„œ๋Š” ๋†’์€ ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•˜๊ณ , ์ •๋‹ต์— ๋Œ€ํ•ด์„œ๋Š” ๋‚ฎ์€ ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•œ๋‹ค. ๋”ฐ๋ผ์„œ Boosting์€ ์˜ค๋‹ต์„ ์ •๋‹ต์œผ๋กœ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ์˜ค๋‹ต์— ๋” ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

Boosting์€ Bagging์— ๋น„ํ•ด error๊ฐ€ ์ ๋‹ค. ์ฆ‰, ์„ฑ๋Šฅ์ด ์ข‹๋‹ค. ํ•˜์ง€๋งŒ ์†๋„๊ฐ€ ๋А๋ฆฌ๊ณ  ์˜ค๋ฒ„ ํ”ผํŒ…์ด ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.
๋”ฐ๋ผ์„œ ๊ฐœ๋ณ„ ๊ฒฐ์ • ํŠธ๋ฆฌ์˜ ๋‚ฎ์€ ์„ฑ๋Šฅ์ด ๋ฌธ์ œ๋ผ๋ฉด Boosting์ด ์ ํ•ฉํ•˜๊ณ , ์˜ค๋ฒ„ ํ”ผํŒ…์ด ๋ฌธ์ œ๋ผ๋ฉด Bagging์ด ์ ํ•ฉํ•˜๋‹ค.


์ถœ์ฒ˜: ์ฝ”๋“œ์ž‡, https://bkshin.tistory.com/entry/๋จธ์‹ ๋Ÿฌ๋‹-11-์•™์ƒ๋ธ”-ํ•™์Šต-Ensemble-Learning-๋ฐฐ๊น…Bagging๊ณผ-๋ถ€์ŠคํŒ…Boosting

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