์ดํƒœํ™
ํ™'story
์ดํƒœํ™
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (171)
    • TW (39)
    • AI (47)
      • ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ (10)
      • Kaggle (2)
      • Machine Learning (26)
      • Computer Vision (0)
      • Deep Learning (0)
      • ROS2 (7)
    • Computer Science (29)
      • Data Structure (0)
      • Algorithm (18)
      • Computer Architecture (5)
      • SOLID (0)
      • System Programing (6)
    • LOLPAGO (10)
      • ํ”„๋ก ํŠธ์—”๋“œ (10)
      • ๋ฐฑ์—”๋“œ (0)
    • BAEKJOON (2)
    • React (5)
    • ์–ธ์–ด (8)
      • C++ (8)
    • GIT (0)
    • MOGAKCO (19)
    • ๋ฏธ๊ตญ ์—ฌํ–‰๊ธฐ (3)
    • etc. (7)
      • Blog (2)
      • ์ฝœ๋ผํ†ค (2)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • pytorch
  • ML
  • ROS2
  • baekjoon
  • react
  • kaggle
  • computer architecture
  • tw
  • ๋ฐฑ์ค€
  • ๋จธ์‹ ๋Ÿฌ๋‹
  • computerscience
  • C++
  • ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•
  • Ai
  • ๋”ฅ๋Ÿฌ๋‹
  • LOLPAGO
  • NLP
  • ๊ธฐ๊ณ„ํ•™์Šต
  • algorithm
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
์ดํƒœํ™

ํ™'story

[ML] Ensemble Method(3) - AdaBoost
AI/Machine Learning

[ML] Ensemble Method(3) - AdaBoost

2022. 11. 29. 00:11

๐Ÿค”Ensemble Method(์•™์ƒ๋ธ” ํ•™์Šต๋ฒ•)

ํ†ต๊ณ„ํ•™๊ณผ ๊ธฐ๊ณ„ ํ•™์Šต์—์„œ ์•™์ƒ๋ธ” ํ•™์Šต๋ฒ•์€ ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์„ ๋”ฐ๋กœ ์“ฐ๋Š” ๊ฒฝ์šฐ์— ๋น„ํ•ด ๋” ์ข‹์€ ์˜ˆ์ธก ์„ฑ๋Šฅ์„ ์–ป๊ธฐ ์œ„ํ•ด ๋‹ค์ˆ˜์˜ ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ์ž…๋‹ˆ๋‹ค.

 

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

 

์ด์ „ ํฌ์ŠคํŒ…์—์„œ ๋ฐฐ์šด Bagging์˜ ๊ฒฝ์šฐ BaseLearner๋กœ Overfitํ•œ ๋ชจ๋ธ๋“ค์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

์ฆ‰, Low Bias / High Variance์˜ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ชจ๋ธ์„ smoothing ํšจ๊ณผ๋ฅผ ํ†ตํ•ด ์„ฑ๋Šฅ์„ ๋†’์—ฌ์ฃผ๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

๋˜ํ•œ ์ด๋“ค์„ ๋ณ‘๋ ฌ์ ์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

๊ต‰์žฅํžˆ ์ข‹์€ Performance๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๋Œ€ํ‘œ์ ์ธ Bagging ๋ชจ๋ธ์€ Random Forest์˜€์Šต๋‹ˆ๋‹ค.

 

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์•™์ƒ๋ธ” ํ•™์Šต๋ฒ• ์ค‘ Bagging๊ณผ ๋ฐ˜๋Œ€๋˜๋Š” ๊ฐœ๋…์ธ Boosting ๊ธฐ๋ฒ•์— ๋Œ€ํ•ด ๋ฐฐ์›Œ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

๐Ÿ”Ž Boosting Ensemble

Boosting ๊ธฐ๋ฒ•์€ High bias / Low Variance ๋ชจ๋ธ์„ ํ†ตํ•ด์„œ bias๋ฅผ cuttingํ•˜๋Š” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค.

 

์ฆ‰, Underfitํ•œ ๋ชจ๋ธ๋“ค์„ ํ†ตํ•ด ์„ฑ๋Šฅ์„ ๋†’์ด๋Š” ๋ฐฉ์‹์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

Bagging์€ ๋ณ‘๋ ฌ์ ์ด๋ผ๊ณ  ํ–ˆ๋‹ค๋ฉด Boosting์˜ ๊ฒฝ์šฐ์—๋Š” ์ˆœ์ฐจ์ (Sequential)์ธ ํ•™์Šต์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

Boosting์˜ ๊ฒฝ์šฐ Underfitํ•œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•ญ์ƒ View Point๊ฐ€ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

 

๊ฐ Iterration ๋งˆ๋‹ค View Point๋ฅผ ๋‹ค๋ฅด๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ๊ธˆ ๋ฐ”๊พธ๋Š” ๊ฒƒ์œผ๋กœ๋Š” ์–ด๋ ค์›€์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ Boosting ๊ธฐ๋ฒ•์—๋Š” AdaBoost๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

 

 

 

โœ AdaBoost

๊ฐ„๋žตํžˆ ์„ค๋ช…ํ•˜์ž๋ฉด training error์— ๋น„๋ก€ํ•˜๊ฒŒ ๋งค๋ฒˆ sequence ๋งˆ๋‹ค ์„ ํƒ์„ ํ•˜๋Š” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค.

 

์•„๋ž˜์˜ ๊ทธ๋ฆผ์„ ํ†ตํ•ด AdaBoost์˜ ๊ณผ์ •์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

 

 

1. ๋จผ์ € ๋ฐ์ดํ„ฐ๋ฅผ sampling์„ ํ•˜์—ฌ $C_1$๊ณผ ๊ฐ™์ด ๋ชจ๋ธ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.(์ด๋Š” Boostrapping์€ ์•„๋‹Œ๋ฐ, Boostrapping์˜ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.)

2. ํ•ด๋‹น ๋ชจ๋ธ์—์„œ ํ‹€๋ฆฐ ๋ฐ์ดํ„ฐ๋ฅผ ์œ„์ฃผ๋กœ sampling์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

3. 2๋ฒˆ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

4. ํ•ด๋‹น ๋ชจ๋ธ๋“ค์„ ์กฐํ•ฉํ•˜์—ฌ ๋งˆ์ง€๋ง‰ ๋ชจ๋ธ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

 

 

 

์œ„์˜ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ๊ฐ๊ฐ์˜ Sequence๋“ค์ด ์„œ๋กœ ๋‹ค๋ฅธ Viewpoint๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿฌ๋ฏ€๋กœ Boosting์˜ ๊ฒฝ์šฐ sequentialํ•œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

AdaBoost ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„์„

AdaBoost์˜ ๊ฒฝ์šฐ ํ•ด๋‹น ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊นŒ์ง€๋งŒ ํ•ด๋„ Bagging๋ณด๋‹ค ์ข‹์ง€ ์•Š๋‹ค๋Š” ํ‰์ด ๋งŽ์•˜์Šต๋‹ˆ๋‹ค.

 

ํ•ด๋‹น ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ถ„์„์„ ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

1. ๋ชจ๋“  ๊ฐ€์ค‘์น˜๋ฅผ ๋™์ผํ•˜๊ฒŒ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ( $w_i = \frac{1}{N}$ )

2. ์ดํ›„ Sequential ํ•˜๊ฒŒ 1๋ถ€ํ„ฐ M๊นŒ์ง€ Boosting์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  (a) ๊ฐ๊ฐ์˜ sequence์—์„œ ํ•™์Šต์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ $w_i$์˜ weight๋ฅผ ๊ฐ€์ง€๊ณ  ํ•™์Šต์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  (b) error๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. $y_i \neq G_m(x_i)$๋Š” ์˜ˆ์ธก์„ ์‹คํŒจํ•œ ๊ฐ’์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, Model์˜ ํ•™์Šต ์—๋Ÿฌ(์ „์ฒด ๊ฐ€์ค‘์น˜ ํ•ฉ์— ๋Œ€ํ•œ ํ‹€๋ฆฐ ๊ฐ’์˜ ๊ฐ€์ค‘์น˜์˜ ํ•ฉ)๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

  (c) $\alpha_m$์„ ๊ณ„์‚ฐํ•˜๋Š”๋ฐ ์ด๋Š” ์—๋Ÿฌ์— ๋Œ€ํ•œ ์ •ํ™•๋„๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ $\alpha_m$์˜ ๊ฐ’์ด ํด ์ˆ˜๋ก ์ •ํ™•ํ•œ ๋ชจ๋ธ์ด๋ฉฐ ์ž‘์„ ์ˆ˜๋ก ๋ถ€์ •ํ™•ํ•œ ๋ชจ๋ธ์ž„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

  (d)  weight๋ฅผ ์—…๋ฐ์ดํŠธ ํ•ฉ๋‹ˆ๋‹ค. i๋ฒˆ์งธ์˜ weight๋ฅผ $exp(\alpha_m \times I(y_i \neq G_m(x)))$ ์œผ๋กœ ์—…๋ฐ์ดํŠธ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ํ‹€๋ฆฐ ๊ฐ’์— ๋Œ€ํ•ด์„œ๋งŒ $alpha_m$์„ weight์— ๊ณฑํ•ด์ค๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ •ํ™•ํ•œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ–ˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ํ‹€๋ฆฐ ๊ฐ’๋งŒ์„ ์—ฐ์‚ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น weight๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ ๋ถ€์ •ํ™•ํ•œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด weight๊ฐ€ ์ ๊ฒŒ ์ฆ๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ฐ์†Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ดํ›„ ๋‹ค์Œ ๋ชจ๋ธ์„ ์ƒ์„ฑํ•  ๋•Œ์—๋„ weight์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ๋ชจ๋ธ์„ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ‹€๋ฆฐ ๊ฐ’์˜ weight๋ฅผ ์ฆ๊ฐ€ํ•˜์—ฌ ํ•™์Šต์„ ์ง„ํ–‰ํ•œ๋‹ค๋ฉด ์ด์ „์˜ ๋ชจ๋ธ์—์„œ ํ‹€๋ฆฐ ๋ถ€๋ถ„์„ ๋” ์ง‘์ค‘ํ•ด์„œ ๋ชจ๋ธ์„ ์ƒ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

3. ๊ฐ๊ฐ์˜ ๋ชจ๋ธ์„ Sum ํ•ด์ฃผ๋Š”๋ฐ $a_m$์„ ๊ณฑํ•ด์ฃผ์–ด ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ •ํ™•ํ•œ ๋ชจ๋ธ์ด์—ˆ๋‹ค๋ฉด ๋” ํฐ ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

 

์ด๋ฅผ ๊ทธ๋ฆผ์„ ํ†ตํ•ด ํ™•์ธํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

 

์ฒซ ๋ฒˆ์งธ Iteration์—์„œ ํ‹€๋ฆฐ ๊ฒƒ๋“ค์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

 

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋‘ ๋ฒˆ์งธ Iteration์—์„œ ํ‹€๋ฆฐ ๊ฒƒ๋“ค์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

 

์ดํ›„ ๊ฐ๊ฐ์˜ ๊ฐ’๋“ค์„ ๊ฐ€์ค‘์น˜๋ฅผ ๊ณฑํ•ด์„œ ๋”ํ•ด์ค๋‹ˆ๋‹ค.

 

์œ„์˜ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด Underfitํ•œ (High bias / Low variance) ๋ชจ๋ธ๋“ค์„ ํ†ตํ•ด ์ข‹์€ ๋ชจ๋ธ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

 

 

 

 

 

๋‹ค์Œ ํฌ์ŠคํŠธ์—์„œ๋Š” ์กฐ๊ธˆ ๋” ๊ฐœ์„ ๋œ ๋ชจ๋ธ์ธ Gradient Boost์™€ XGBoost ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

'AI > Machine Learning' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ML] Ensemble Method(5) - XGBoost  (0) 2022.11.30
[ML] Ensemble Method(4) - Gradient Boost  (0) 2022.11.29
[ML] Ensemble Method(2) - Bagging & Random Forest  (0) 2022.11.26
[ML] Ensemble Method(1) - ํŽธํ–ฅ-๋ถ„์‚ฐ ๋”œ๋ ˆ๋งˆ(Bias-Variance Dilemma)  (0) 2022.11.26
[ML] Nearest Neighbor Method - KNN(3)  (0) 2022.11.11
    'AI/Machine Learning' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [ML] Ensemble Method(5) - XGBoost
    • [ML] Ensemble Method(4) - Gradient Boost
    • [ML] Ensemble Method(2) - Bagging & Random Forest
    • [ML] Ensemble Method(1) - ํŽธํ–ฅ-๋ถ„์‚ฐ ๋”œ๋ ˆ๋งˆ(Bias-Variance Dilemma)
    ์ดํƒœํ™
    ์ดํƒœํ™
    ๊ณต๋ถ€ํ•˜์ž ํƒœํ™์•„

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”