* ์ฐธ๊ณ 

bkshin.tistory.com/entry/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-5-%EB%9E%9C%EB%8D%A4-%ED%8F%AC%EB%A0%88%EC%8A%A4%ED%8A%B8Random-Forest%EC%99%80-%EC%95%99%EC%83%81%EB%B8%94Ensemble

 

๋จธ์‹ ๋Ÿฌ๋‹ - 5. ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ(Random Forest)

์ด์ „ ํฌ์ŠคํŠธ์—์„œ ๊ฒฐ์ • ํŠธ๋ฆฌ(Decision Tree)์— ๋Œ€ํ•ด ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค. ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ๋ฅผ ๋ฐฐ์šฐ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์šฐ์„  ๊ฒฐ์ • ํŠธ๋ฆฌ๋ถ€ํ„ฐ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ์ • ํŠธ๋ฆฌ์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฅธ๋‹ค๋ฉด ์ด์ „ ํฌ์ŠคํŠธ๋ฅผ ๋จผ์ € ๋ณด๊ณ  ์˜ค๏ฟฝ๏ฟฝ

bkshin.tistory.com

dreamlog.tistory.com/576

 

[๋ฐ์ดํ„ฐ๋งˆ์ด๋‹] ์˜์‚ฌ๊ฒฐ์ •๋‚˜๋ฌด(Decision Tree Analysis)

์ด๋ฒˆ ๊ธ€์€ ๋ฐ์ดํ„ฐ๋งˆ์ด๋‹ ์˜ˆ์ธก๊ธฐ๋ฒ•์˜ ํ•˜๋‚˜์ธ ์˜์‚ฌ๊ฒฐ์ •๋‚˜๋ฌด(Decision Tree Analysis)์— ๋Œ€ํ•œ ๊ฒƒ์ด๋‹ค. ๋ฐ์ดํ„ฐ๋งˆ์ด๋‹ˆ์˜ ์˜ˆ์ธก๊ธฐ๋ฒ•์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜๊ณ  ์˜์‚ฌ๊ฒฐ์ •๋‚˜๋ฌด์„ ์‚ดํŽด ๋ณด๊ฒ ๋‹ค. Data Mining ์˜ˆ์ธก๊ธฐ๋ฒ•

dreamlog.tistory.com

 

 

๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ(random forest)๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒฐ์ • ํŠธ๋ฆฌ(decision tree)๋ฅผ ๋ชจ์•„์„œ ๋งŒ๋“  ๋ชจ๋ธ์ด๋‹ค.

๋”ฐ๋ผ์„œ ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € ๊ฒฐ์ • ํŠธ๋ฆฌ์— ๋Œ€ํ•ด ์•Œ์•„์•ผ ํ•œ๋‹ค.

 

๊ฒฐ์ • ํŠธ๋ฆฌ(decision tree)๋Š” ๋ถ„๋ฅ˜์™€ ํšŒ๊ท€ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•œ supervised learning model ์ค‘ ํ•˜๋‚˜๋กœ,

ํŠน์ • ๊ธฐ์ค€์— ๋”ฐ๋ผ ํ•œ ๋ฒˆ์˜ ๋ถ„๊ธฐ๋งˆ๋‹ค ๋ณ€์ˆ˜ ์˜์—ญ์„ 2๊ฐœ ์ด์ƒ์˜ ์˜์—ญ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ชจ๋ธ์ด๋‹ค.

ํŠน์ • ๊ธฐ์ค€์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ, ๊ตฌ์ฒด์ ์œผ๋กœ๋Š” information gain์ด ๊ฐ€์žฅ ํฐ ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค. information gain์€ ์—”ํŠธ๋กœํ”ผ์— ๋Œ€ํ•œ ๊ฐ์†Œ ๊ธฐ๋Œ€์น˜๋กœ, ๋ถˆ์ˆœ๋„์˜ ๊ฐ์†Œ ์ •๋„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

์•„๋ž˜์—์„œ ์—”ํŠธ๋กœํ”ผ์— ๋Œ€ํ•œ ์ •์˜๋ฅผ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.

 

์—”ํŠธ๋กœํ”ผ(entropy)๋Š” ๋ถˆ์ˆœ๋„๋ฅผ ์ˆ˜์น˜์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ธ ์ฒ™๋„๋กœ, 0๊ณผ 1 ์‚ฌ์ด์˜ ๊ฐ’์„ ๊ฐ–๋Š”๋‹ค.

์—”ํŠธ๋กœํ”ผ๊ฐ€ ๋†’๋‹ค๋Š” ๊ฒƒ์€(1์— ๊ฐ€๊น๋‹ค๋Š” ๊ฒƒ์€) ๋ถˆ์ˆœ๋„๊ฐ€ ๋†’๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๊ณ ,

์—”ํŠธ๋กœํ”ผ๊ฐ€ ๋‚ฎ๋‹ค๋Š” ๊ฒƒ์€(0์— ๊ฐ€๊น๋‹ค๋Š” ๊ฒƒ์€) ์ˆœ๋„๊ฐ€ ๋†’๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

์—”ํŠธ๋กœํ”ผ๋Š” entropy= -sum(pi*log2(pi)  ์˜ ์‹์„ ํ†ตํ•ด ๊ณ„์‚ฐ๋œ๋‹ค.

 

์ •๋ณด ํš๋“๋Ÿ‰(information gain)์€ ์—”ํŠธ๋กœํ”ผ์— ๋Œ€ํ•œ ๊ฐ์†Œ ๊ธฐ๋Œ€์น˜๋กœ, ๋ถ€๋ชจ์˜ ์—”ํŠธ๋กœํ”ผ์—์„œ ์ž์‹์˜ ์—”ํŠธ๋กœํ”ผ๋ฅผ ๋บ€ ๊ฐ’์ด๋‹ค.

์ด ๊ฐ’์€ ๋ถ„๊ธฐ๋ฅผ ์ง„ํ–‰ํ–ˆ์„ ๋•Œ ๋ถˆ์ˆœ๋„๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ค„์–ด๋“œ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

๋ถˆ์ˆœ๋„๊ฐ€ ํฌ๊ฒŒ ์ค„์–ด๋“ค์ˆ˜๋ก ์ข‹์€ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ •๋ณด ํš๋“๋Ÿ‰์ด ๋†’์€ ๋ฐฉํ–ฅ์œผ๋กœ ๋ถ„๊ธฐ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

 

๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ฒฐ์ • ํŠธ๋ฆฌ์— ๋Œ€ํ•ด ์ •์˜ํ•˜๋ฉด,

๊ฒฐ์ • ํŠธ๋ฆฌ๋Š” ์ •๋ณด ํš๋“๋Ÿ‰(information gain)์ด ์ปค์ง€๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๋ถ„๊ธฐ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ ํ•™์Šตํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

 

 

์˜์‚ฌ๊ฒฐ์ •๋‚˜๋ฌด๋Š” ๋‚˜๋ฌด ๊ตฌ์กฐ๋กœ ํ‘œํ˜„๋˜์–ด ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ณ ,

๋‘ ๊ฐœ ์ด์ƒ์˜ ๋ณ€์ˆ˜๊ฐ€ ๊ฒฐํ•ฉํ•˜๋ฉฐ ๋ชฉํ‘œ ๋ณ€์ˆ˜์— ์–ด๋– ํ•œ ์˜ํ–ฅ์„ ์ฃผ๋Š” ์ง€ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

๋˜ํ•œ ๋น„๋ชจ์ˆ˜์  ๋ชจํ˜•์œผ๋กœ ๋ถ„ํฌ์— ๋Œ€ํ•œ ๊ฐ€์ •์ด ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค.

ํ•˜์ง€๋งŒ ์—ฐ์†ํ˜• ๋ณ€์ˆ˜๋ฅผ ๊ตฌ๋ถ„ํ•  ๋•Œ๋Š” ๋น„์—ฐ์†์  ๊ฐ’์œผ๋กœ ์ทจ๊ธ‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ถ„๋ฆฌ์˜ ๊ฒฝ๊ณ„ ๋ถ€๊ทผ์—์„œ ์˜ˆ์ธก์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ณ ,

train data๋กœ๋งŒ ๋ถ„๋ฆฌ ๊ทœ์น™์„ ํ•™์Šตํ•˜๊ธฐ ๋•Œ๋ฌธ์— overfitting์ด ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฝ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

 

๋”ฐ๋ผ์„œ ์˜์‚ฌ๊ฒฐ์ • ๋‚˜๋ฌด์—์„œ overfitting์„ ๋ง‰๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐ€์ง€์น˜๊ธฐ(pruning)๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ๋„ ํ•˜๋Š”๋ฐ,

๊ฐ€์ง€์น˜๊ธฐ์—๋Š” DT ํ˜•์„ฑ ์ „ depth๋ฅผ ์ œํ•œํ•˜๋Š” ์‚ฌ์ „ ๊ฐ€์ง€์น˜๊ธฐ์™€

์ตœ๋Œ€ depth๊นŒ์ง€ ํ™•์žฅํ•œ ํ›„ ๋‚˜์ค‘์— ๊ฐ€์ง€๋ฅผ ์ž๋ฅด๋Š” ์‚ฌํ›„ ๊ฐ€์ง€์น˜๊ธฐ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

 

 

ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ๊ฐ€์ง€์น˜๊ธฐ๋ฅผ ํ•ด๋„ ์˜์‚ฌ๊ฒฐ์ •๋‚˜๋ฌด๋Š” train data์— overfitting๋˜๋Š” ๊ฒฝํ–ฅ์ด ์—ฌ์ „ํžˆ ๋‚จ์•„์žˆ๋‹ค.

๋”ฐ๋ผ์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒฐ์ • ํŠธ๋ฆฌ๋ฅผ ์ด์šฉํ•ด ์˜ˆ์ธก์„ ์ง„ํ–‰ํ•˜์ž๋Š” ์•„์ด๋””์–ด์—์„œ ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ(random forest)๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋˜์—ˆ๋‹ค.

๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒฐ์ • ํŠธ๋ฆฌ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ ,

๊ฐ DT๋Š” ๋ชจ๋“  ์„ค๋ช…๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์„ค๋ช… ๋ณ€์ˆ˜ ์ค‘ ์ผ๋ถ€ ์„ค๋ช…๋ณ€์ˆ˜๋งŒ์„ ์ด์šฉํ•ด ๋งŒ๋“ค์–ด์ง„๋‹ค.

์ผ๋ถ€ ์„ค๋ช…๋ณ€์ˆ˜๋งŒ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” overfitting์„ ๋ง‰๊ธฐ ์œ„ํ•จ์ด๋‹ค.

๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ๋Š” ์ž…๋ ฅ์ด ์ฃผ์–ด์ง€๋ฉด ์—ฌ๋Ÿฌ ๊ฐœ์˜ DT์—์„œ ๋‚˜์˜จ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์ˆ˜๊ฒฐ์˜ ์›์น™์— ๋”ฐ๋ผ ์ตœ์ข… ์˜ˆ์ธก์„ ์ง„ํ–‰ํ•œ๋‹ค.

์ด๋ ‡๊ฒŒ ๋˜๋ฉด train data์— overfitting๋˜๋Š” ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ชจํ˜•์—์„œ ๋‚˜์˜จ ์˜ˆ์ธก๊ฐ’์„ ์ด์šฉํ•ด ์ตœ์ข… ์˜ˆ์ธก์„ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•™์ƒ๋ธ”(ensemble)์ด๋ผ ํ•˜๋ฉฐ,

๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ๋Š” ์•™์ƒ๋ธ” ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜์— ์†ํ•œ๋‹ค.

'๐Ÿ™‚ > ๋จธ์‹ ๋Ÿฌ๋‹ (ML)' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ML] Gradient Boosting (GBM)  (6) 2021.02.09
[ML] multi-class performance  (0) 2020.10.10
[ML] ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€  (0) 2020.10.10
[ML] SVM  (0) 2020.10.10

+ Recent posts