๊ด€๋ฆฌ ๋ฉ”๋‰ด

yeon's ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป

์•™์ƒ๋ธ” ๋ชจ๋ธ ๋ณธ๋ฌธ

Computer ๐Ÿ’ป/Machine Learning

์•™์ƒ๋ธ” ๋ชจ๋ธ

yeon42 2021. 11. 3. 18:29
728x90

https://bkshin.tistory.com/entry/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-11-%EC%95%99%EC%83%81%EB%B8%94-%ED%95%99%EC%8A%B5-Ensemble-Learning-%EB%B0%B0%EA%B9%85Bagging%EA%B3%BC-%EB%B6%80%EC%8A%A4%ED%8C%85Boosting

 

๋จธ์‹ ๋Ÿฌ๋‹ - 11. ์•™์ƒ๋ธ” ํ•™์Šต (Ensemble Learning): ๋ฐฐ๊น…(Bagging)๊ณผ ๋ถ€์ŠคํŒ…(Boosting)

์•™์ƒ๋ธ”(Ensemble) ์•™์ƒ๋ธ”์€ ์กฐํ™” ๋˜๋Š” ํ†ต์ผ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ๋ฐ์ดํ„ฐ์˜ ๊ฐ’์„ ์˜ˆ์ธกํ•œ๋‹ค๊ณ  ํ•  ๋•Œ, ํ•˜๋‚˜์˜ ๋ชจ๋ธ์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ชจ๋ธ์„ ์กฐํ™”๋กญ๊ฒŒ ํ•™์Šต์‹œ์ผœ ๊ทธ ๋ชจ๋ธ๋“ค์˜ ์˜ˆ์ธก ๊ฒฐ๊ณผ๋“ค

bkshin.tistory.com

์œ„ ๋ธ”๋กœ๊ทธ๋ฅผ ํ•„์‚ฌํ•˜๋ฉฐ ๊ณต๋ถ€

 

* ๋ชจ๋“  ํ…์ŠคํŠธ์™€ ์ด๋ฏธ์ง€์˜ ์ถœ์ฒ˜๋Š” ์œ„ ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.

 

 


 

์•™์ƒ๋ธ” (Ensemble)

 

- ์–ด๋–ค ๋ฐ์ดํ„ฐ ๊ฐ’์„ ์˜ˆ์ธกํ•  ๋•Œ, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ชจ๋ธ์„ ์กฐํ™”๋กญ๊ฒŒ ํ•™์Šต์‹œ์ผœ ๊ทธ ๋ชจ๋ธ๋“ค์˜ ์˜ˆ์ธก ๊ฒฐ๊ณผ๋“ค์„ ์ด์šฉํ•œ๋‹ค๋ฉด

  ๋” ์ •ํ™•ํ•œ ์˜ˆ์ธก๊ฐ’์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

 

- ์•™์ƒ๋ธ” ํ•™์Šต์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒฐ์ • ํŠธ๋ฆฌ(Decision Tree)๋ฅผ ๊ฒฐํ•ฉ์‹œ์ผœ ํ•˜๋‚˜์˜ ๊ฒฐ์ • ํŠธ๋ฆฌ๋ณด๋‹ค ๋” ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ด๋Š” ๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ๋ฒ•

- ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์•ฝ ๋ถ„๋ฅ˜๊ธฐ(Weak Classifier)๋ฅผ ๊ฒฐํ•ฉ์‹œ์ผœ ๊ฐ• ๋ถ„๋ฅ˜๊ธฐ(Strong Classifier)๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ

--> ๋ชจ๋ธ์˜ ์ •ํ™•๋„ ํ–ฅ์ƒ

 

* ์•™์ƒ๋ธ” ํ•™์Šต์˜ 2๊ฐ€์ง€ ์ข…๋ฅ˜

- ๋ฐฐ๊น…(Bagging) & ๋ถ€์ŠคํŒ…(Boosting)

 

 

 

 

 

 

 

1. ๋ฐฐ๊น…(Bagging)

 

- ๋ฐฐ๊น…(Bagging)์€ Bootstrap Aggregation์˜ ์•ฝ์ž

: ์ƒ˜ํ”Œ์„ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฝ‘์•„(Bootstrap) ๊ฐ ๋ชจ๋ธ์„ ํ•™์Šต์‹œ์ผœ ๊ฒฐ๊ณผ๋ฌผ์„ ์ง‘๊ณ„(Aggregation)ํ•˜๋Š” ๋ฐฉ๋ฒ•

 

์ถœ์ฒ˜: swallow.github.io

 

- ์šฐ์„  ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์„ ํ•จ

- (๋ณต์› ๋žœ๋ค ์ƒ˜ํ”Œ๋ง) ๋ถ€ํŠธ์ŠคํŠธ๋žฉํ•œ ๋ฐ์ดํ„ฐ๋กœ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ด

- ํ•™์Šต๋œ ๋ชจ๋ธ์˜ ๊ฒฐ๊ณผ๋ฅผ ์ง‘๊ณ„ํ•˜์—ฌ ์ตœ์ข… ๊ฒฐ๊ณผ ๊ฐ’์„ ๊ตฌํ•จ

 

- Categorical Data๋Š” ํˆฌํ‘œ ๋ฐฉ์‹(Voting)์œผ๋กœ ๊ฒฐ๊ณผ๋ฅผ ์ง‘๊ณ„ํ•˜๋ฉฐ, Continuous Data๋Š” ํ‰๊ท ์œผ๋กœ ์ง‘๊ณ„ํ•จ

 

- Categorical Data์ผ ๋•Œ, Voting์€ ์ „์ฒด ๋ชจ๋ธ์—์„œ ์˜ˆ์ธกํ•œ ๊ฐ’ ์ค‘ ๊ฐ€์žฅ ๋งŽ์€ ๊ฐ’์„ ์ตœ์ข… ์˜ˆ์ธก๊ฐ’์œผ๋กœ ์„ ์ •ํ•œ๋‹ค๋Š” ๊ฒƒ

ex. 6๊ฐœ์˜ ๊ฒฐ์ • ํŠธ๋ฆฌ ๋ชจ๋ธ์ด ์žˆ๋‹ค๊ณ  ํ•˜์ž.

- 4๊ฐœ๋Š” A๋กœ ์˜ˆ์ธก, 2๊ฐœ๋Š” B๋กœ ์˜ˆ์ธกํ•จ -> ํˆฌํ‘œ์— ์˜ํ•ด 4๊ฐœ์˜ ๋ชจ๋ธ์ด ์„ ํƒํ•œ A๋ฅผ ์ตœ์ข… ๊ฒฐ๊ณผ๋กœ ์˜ˆ์ธก

 

- ํ‰๊ท ์œผ๋กœ ์ง‘๊ณ„ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋ง ๊ทธ๋Œ€๋กœ ๊ฐ ๊ฒฐ์ • ํŠธ๋ฆฌ ๋ชจ๋ธ์ด ์˜ˆ์ธกํ•œ ๊ฐ’์— ํ‰๊ท ์„ ์ทจํ•ด ์ตœ์ข… Bagging Model์˜ ์˜ˆ์ธก๊ฐ’์„ ๊ฒฐ์ •ํ•œ๋‹ค๋Š” ๋œป

 

- ๋ฐฐ๊น…์„ ํ™œ์šฉํ•œ ๋ชจ๋ธ์ด ๋ฐ”๋กœ ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ

 

 

 

 

 

 

 

2. ๋ถ€์ŠคํŒ…(Boosting)

 

- ๋ถ€์ŠคํŒ…์€ ๊ฐ€์ค‘์น˜๋ฅผ ํ™œ์šฉํ•ด ์•ฝ ๋ถ„๋ฅ˜๊ธฐ๋ฅผ ๊ฐ• ๋ถ„๋ฅ˜๊ธฐ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

 

- ๋ฐฐ๊น…์€ Decision Tree1๊ณผ Decision Tree2๊ฐ€ ์„œ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฒฐ๊ณผ๋ฅผ ์˜ˆ์ธกํ•จ

- ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…๋ฆฝ์ ์ธ ๊ฒฐ์ • ํŠธ๋ฆฌ๊ฐ€ ๊ฐ๊ฐ ๊ฐ’์„ ์˜ˆ์ธกํ•œ ๋’ค, ๊ทธ ๊ฒฐ๊ณผ ๊ฐ’์„ ์ง‘๊ณ„ํ•ด ์ตœ์ข… ๊ฒฐ๊ณผ ๊ฐ’์„ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ์‹

 

- ํ•˜์ง€๋งŒ ๋ถ€์ŠคํŒ…์€ ๋ชจ๋ธ ๊ฐ„์˜ ํŒ€์›Œํฌ๊ฐ€ ์ด๋ฃจ์–ด์ง

- ์ฒ˜์Œ ๋ชจ๋ธ์ด ์˜ˆ์ธก์„ ํ•˜๋ฉด ๊ทธ ์˜ˆ์ธก ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ์— ๊ฐ€์ค‘์น˜๊ฐ€ ๋ถ€์—ฌ๋˜๊ณ , ๋ถ€์—ฌ๋œ ๊ฐ€์ค‘์น˜๊ฐ€ ๋‹ค์Œ ๋ชจ๋ธ์— ์˜ํ–ฅ์„ ์คŒ

- ์ž˜๋ชป ๋ถ„๋ฅ˜๋œ ๋ฐ์ดํ„ฐ์— ์ง‘์ค‘ํ•ด ์ƒˆ๋กœ์šด ๋ถ„๋ฅ˜ ๊ทœ์น™์„ ๋งŒ๋“œ๋Š” ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณต

 

 

 

 

* ์˜ˆ์ œ: +์™€ -๋กœ ๊ตฌ์„ฑ๋œ ๋ฐ์ดํ„ฐ์…‹์„ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ฌธ์ œ

์ถœ์ฒ˜: Medium (Boosting and Bagging explained with examples)

 

- D1์—์„œ๋Š” 2/5 ์ง€์ ์„ ํšก๋‹จํ•˜๋Š” ๊ตฌ๋ถ„์„ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆ„์–ด์ฃผ์—ˆ๋‹ค.

- ํ•˜์ง€๋งŒ ์œ„์ชฝ์˜ +์™€ ์•„๋ž˜์ชฝ์˜ ๋‘ ๊ฐœ์˜ -๋Š” ์ž˜๋ชป ๋ถ„๋ฅ˜๋จ

--> ์ž˜๋ชป ๋ถ„๋ฅ˜๊ฐ€ ๋œ ๋ฐ์ดํ„ฐ๋Š” ๊ฐ€์ค‘์น˜๋ฅผ ๋†’์—ฌ์ฃผ๊ณ , ์ž˜ ๋ถ„๋ฅ˜๋œ ๋ฐ์ดํ„ฐ๋Š” ๊ฐ€์ค‘์น˜๋ฅผ ๋‚ฎ์ถ”์–ด ์คŒ

 

- D2๋ฅผ ๋ณด๋ฉด D1์—์„œ ์ž˜ ๋ถ„๋ฅ˜๋œ ๋ฐ์ดํ„ฐ๋Š” ํฌ๊ธฐ๊ฐ€ ์ž‘์•„์กŒ๊ณ (=๊ฐ€์ค‘์น˜๊ฐ€ ๋‚ฎ์•„์กŒ๊ณ ), ์ž˜๋ชป ๋ถ„๋ฅ˜๋œ ๋ฐ์ดํ„ฐ๋Š” ํฌ๊ธฐ๊ฐ€ ์ปค์ง(=๊ฐ€์ค‘์น˜๊ฐ€ ์ปค์ง)

- ๋ถ„๋ฅ˜๊ฐ€ ์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ์— ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ์ด์œ ๋Š” ๋‹ค์Œ ๋ชจ๋ธ์—์„œ ๋” ์ง‘์ค‘ํ•ด ๋ถ„๋ฅ˜ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.

- D2์—์„œ๋Š” ์˜ค๋ฅธ์ชฝ ์„ธ ๊ฐœ์˜ -๊ฐ€ ์ž˜๋ชป ๋ถ„๋ฅ˜๋˜์—ˆ๋‹ค.

 

- ๋”ฐ๋ผ์„œ D3์—์„œ ์„ธ ๊ฐœ์˜ -๊ฐ€ ๊ฐ€์ค‘์น˜๊ฐ€ ์ปค์กŒ๋‹ค.

- ๋งจ ์ฒ˜์Œ ๋ชจ๋ธ์—์„œ ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•œ +์™€ -๋Š” D2์—์„œ๋Š” ์ž˜ ๋ถ„๋ฅ˜๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์ค‘์น˜๊ฐ€ ๋‹ค์‹œ ์ž‘์•„์กŒ๋‹ค.

 

- D1, D2, D3์˜ classifier๋ฅผ ํ•ฉ์ณ ์ตœ์ข… classifier๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

- ์ตœ์ข… classifier๋Š” +์™€ -๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„ํ•ด์ค€๋‹ค.

 

 

 

 

 

 

 

๋ฐฐ๊น…๊ณผ ๋ถ€์ŠคํŒ… ์ฐจ์ด

์ถœ์ฒ˜: swallow.github.io

 

- ๋ฐฐ๊น…์€ ๋ณ‘๋ ฌ๋กœ ํ•™์Šตํ•˜๋Š” ๋ฐ˜๋ฉด, ๋ถ€์ŠคํŒ…์€ ์ˆœ์ฐจ์ ์œผ๋กœ ํ•™์Šตํ•œ๋‹ค.

- ํ•œ ๋ฒˆ ํ•™์Šต์ด ๋๋‚œ ํ›„ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•จ

- ๊ทธ๋ ‡๊ฒŒ ๋ถ€์—ฌ๋œ ๊ฐ€์ค‘์น˜๊ฐ€ ๋‹ค์Œ ๋ชจ๋ธ์˜ ๊ฒฐ๊ณผ ์˜ˆ์ธก์— ์˜ํ–ฅ์„ ์ค€๋‹ค.

 

- ์˜ค๋‹ต์— ๋Œ€ํ•ด์„œ๋Š” ๋†’์€ ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌ, ์ •๋‹ต์— ๋Œ€ํ•ด์„œ๋Š” ๋‚ฎ์€ ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌ

- ๋”ฐ๋ผ์„œ ์˜ค๋‹ต์„ ์ •๋‹ต์œผ๋กœ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ์˜ค๋‹ต์— ๋” ์ง‘์ค‘ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

- ๋ถ€์ŠคํŒ…์€ ๋ฐฐ๊น…์— ๋น„ํ•ด error๊ฐ€ ์ ์Œ (์„ฑ๋Šฅ์ด ์ข‹๋‹ค.)

   - ํ•˜์ง€๋งŒ ์†๋„๊ฐ€ ๋А๋ฆฌ๊ณ , overfitting๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.

- ๊ฐœ๋ณ„ ๊ฒฐ์ • ํŠธ๋ฆฌ์˜ ๋‚ฎ์€ ์„ฑ๋Šฅ์ด ๋ฌธ์ œ๋ผ๋ฉด --> ๋ถ€์ŠคํŒ…

- ์˜ค๋ฒ„ํ”ผํŒ…์ด ๋ฌธ์ œ๋ผ๋ฉด --> ๋ฐฐ๊น…

 

 

 

 

 

 

 

 

 

 

Comments