Ensemble Methods - jaeaehkim/trading_system_beta GitHub Wiki
Motivation
- Data Structures, Labeling, Sample Weights๋ฅผ ํตํด์ Financial Raw Data๋ฅผ ์ด๋ป๊ฒ ๊ฐ๊ณตํ์ฌ ์ ๋ณด๋ฅผ ์ด๋ฆฌ๋ฉด์ IIDํ ์์ผ ML ๋ชจ๋ธ์ด ํ์ต ํ ์ ์๋ ๊ธฐ๋ณธ์ ์ธ ํ ๋๋ฅผ ๋ง๋ค ๊ฒ์ธ๊ฐ ๋ถํฐ(Data Structures) ์์ํด์ ๊ทธ ํ ๋๋ฅผ ๋ฐํ์ผ๋ก ์ข์ ์ ๋ต์ง๋ฅผ ๋ง๋ค ๊ฒ์ธ์ง(Labeling) ์ด๋ฅผ ML ๋ชจ๋ธ์ ๋ฃ๊ธฐ ์ง์ ์ ๋ฐ์ํ๋ ๋ฌธ์ ์ ์ธ ์ค์ฒฉ์ฑ ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์๋์ง๋ฅผ ๊ณ ๋ฏผํ๋ค. ํนํ, Bagging์ Weak model์๊ฒ ์ค Bootstrap Sampling์ ์ง ์ข๊ฒ ๋ง๋๋ ๊ฒ์ ๊ดํ ์ด์ผ๊ธฐ๋ค.
- ์ด๋ฒ์ ๋ชจ๋ธ์ ๊ดํ ์ง์ ์ ์ธ ์๊ธฐ๋ฅผ ํ์ง๋ง ๊ฐ๋ณ ๋ชจ๋ธ์ ๊ดํ ์ด์ผ๊ธฐ ๋ณด๋ค๋ Ensemble Methods์ ๊ดํ ์ด์ผ๊ธฐ๋ค. ๋ชจ๋ธ ํํธ์์ ๊ฐ๋ณ ๋ชจ๋ธ๋ณด๋ค ์ค์ํ ๊ฒ์ Ensemble์ ๋ํ ์ดํด์ด๋ค. ํ๋์ ์์ ์ธ Random Forest์ ๋ํด์ sklearn์ ๋์ค๋ ๋ค์ํ ํ๋ผ๋ฏธํฐ์ ๋ํ ์ดํด๋ฅผ ๋์ด๋ฉด์ ์์ฉ๋ ฅ์ ๋์ด๋ ๊ฒ์ด ์ค์ํ๋ค๊ณ ๋ณด์ธ๋ค. ๊ทผ๋ณธ์ ์ธ ๋ถ๋ถ์ ๋ค์ ธ๋์ผ๋ฉด ๋ค๋ฅธ ๋ชจ๋ธ๋ก ํ์ฅํ ๋ ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ์์ ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
The Three Sources of Errors
Mathematical Expression of ML Model
-
-
-
- Minimize left side
- f(x) : ์ด์์ ์ธ ๋ชจ๋ธ๋ง์ ์ํ ์์ธก ๊ฐ, f'(x) : ์ค์ ๋ชจ๋ธ๋ง์ ์ํ ์์ธก ๊ฐ , y : ์ค์ ๊ฐ
- f'(x)-f(x) : ๋ชจ๋ธ๋ง ์ค์ฐจ , f'(x)^2 : ํ๋ จ ๋ฐ์ดํฐ์ ๋ฏผ๊ฐ๋
-
๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์ค๋ฅ์ ์์ธ์ ํฌ๊ฒ 3๊ฐ์ง์ด๋ค. ์ค๋ฅ์ ์์ธ์ ์ ํํ๊ฒ ์๋ค๋ ๊ฒ์ ์๋ฏธ๋ ์ด๋ฅผ ์ค์ด๋ ๊ฒ์ ๋ชฉํํจ์๋ก ์ก์ ๋ ์ข์ ๋ชจ๋ธ์ ๋ง๋ค ์ ์๋ค๋ ๊ฒ์ด๋ค.
- ํธํฅ(Bias)
- ํธํฅ์ด๋ "์ค์ ๊ฐ๊ณผ ์ถ์ ๊ฐ์ ์ฐจ์ด์ ํ๊ท "์ ์๋ฏธํ๋ค. (๋ฐ์ดํฐ ์ง๋จ์ ์ด๋ป๊ฒ ์ ์ํ๋๋์ ๋ฐ๋ผ ๋ฐ์ด์ด์ค๋ ๊ฒ์ด ๋ค์ํ๊ฒ ํํ๋ ์ ์์ ๊ฒ) ํธํฅ์ด ํฌ๋ฉด "๊ณผ์์ ํฉ(Underfitting) ์ด์๊ฐ ๋ฐ์ํ๋ค.
- ๋ถ์ฐ(Variance)
- ์์์ ํตํด ๋ณด๋ฉด ์ด ๋ถ๋ถ์ "ํ๋ จ ๋ฐ์ดํฐ์ ๋ณํ์ ๋ํ ๋ฏผ๊ฐ๋"๋ฅผ ์๋ฏธํ๋ค. ์ฆ, ํ๋ จ ๋ฐ์ดํฐ์ ์์ ์ฑ์ด ML Model์ ํ์ต์ํค๋๋ฐ ๊ต์ฅํ ์ค์ํ๋ค๋ ๊ฒ์ ์๋ฏธํจ. (์ด๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๋ ธ๋ ฅ : Data Structures, Labeling, [Sample Weights])
- ๋ถ์ฐ์ด ์์ผ๋ฉด "์ผ๋ฐ์ ์ธ ํจํด"์ ๋ชจ๋ธ๋งํ์ง๋ง ๋ถ์ฐ์ด ํฌ๋ฉด ์ ํธ๋ฅผ ์ก์์ผ๋ก ์คํํ๊ฒ ๋์ด ๊ณผ์ ํฉ(Overfitting) ์ด์๊ฐ ๋ฐ์ํ๋ค.
- ์ก์(Noise)
- ์์ธกํ์ง ๋ชปํ ๋ณ์๋ ์ธก์ ์ค๋ฅ๋ก ๋์ด์ ์ค์ผ ์ ์๋ ์ค๋ฅ
- (*) ๋์ด์ ์ค์ผ ์ ์๋ค๋ ๊ฒ์ด ์์ ์์์์ ์ฌ์ฉ๋ ๋ณ์ x_i์ธ์ ๊ฒ์์ ๋์จ ๊ฒฝ์ฐ๋ฅผ ๋งํ๋ค.
- (*) ๋๋ถ๋ถ์ ๋ณต์กํ ๋ฌธ์ ๋ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ฐ์ดํฐ(๋ณ์) ์ธ์ ๋ค๋ฅธ ๋ณ์๋ก ์ธํด ์์ฅ์ด ์์ง์ผ ๋๊ฐ ์๋๋ฐ ์ด๋ฐ ์ค๋ฅ๋ ํ์ฐ์ ์ผ๋ก ๋ฐ์ํ ์ ๋ฐ์ ์์์ ์ธ์งํด์ผ ํ๋ค.
- (*) ์ด๋ฅผ ์ํด ๊ทน๋จ์ ์ธ ์ํฉ์ ๋ํ ๋ณด์์ ์ธ ๋ฆฌ์คํฌ ๊ด๋ฆฌ๋ ํ์์ ์ธ ๊ฒ์ด๋ค.
- (*) AI๋ ์ ๋ํ๋ฅผ ํตํ ์๋ํ๋ฅผ ๋์์ฃผ๋ ๊ฒ์ด์ง ๋ชจ๋ ๊ฒ์ ํด๊ฒฐํ์ง ๋ชปํ๋ค.
- (*) ์ด๋๊น์ง ํด๊ฒฐํ ์ ์๊ณ ์ด๋๊น์ง ํด๊ฒฐํ์ง ๋ชปํ๋์ง๋ฅผ ๊ตฌ๋ถํ๋ ๊ฒ์ด ๋งค์ฐ ์ค์ํ๋ค.
- ํธํฅ(Bias)
-
Ensemble ๊ธฐ๋ฒ์ ํ์ฉํ๋ฉด ๋ง์ Weak Model์ ๋ง๋ค๊ณ ์ด๋ฅผ Aggregationํ๋ฉด์ ํธํฅ ๋๋ ๋ถ์ฐ์ ์ถ์ํ์ฌ ๋ ์ข์ ์ฑ๋ฅ์ ๋ด๊ฒ ๋ง๋๋ ๊ฒ์ด ํต์ฌ ์๋ฆฌ์ด๋ค.
Bootstrap Aggregation
- ๋ฐฐ๊น (Bagging)์ Bootstrap Aggregation์ ์ค์๋ง์ด๋ค. ์ฃผ์ด์ง ๋ฐ์ดํฐ(Source)๋ฅผ Bootstrap์ ํตํด์ ์ฌ๋ฌ ๊ฐ์ Sampling ์๋ฃ๋ฅผ ๋ง๋ค๊ณ ๊ฐ Sampling ์๋ฃ๋ง๋ค Modeling์ ์ ์ฉํ์ฌ ์ฌ๋ฌ ๋ชจ๋ธ์ Aggregation ํ์ฌ ์ต์ข ์ ์์ธก ๊ฐ์ ์ฐ์ถํ๋ค.
- ์์ ๊ณผ์ ์ ์ฌ๋ฌ ๋ชจ๋ธ์ ๋ง๋ค์ด๋ด๋ ๊ฒ์ '๋ณ๋ ฌ์ฒ๋ฆฌ'๋ฅผ ์งํํ ์ ์์ผ๋ฉฐ ์ต์ข ์์ธก ๊ฐ์ ์ฐ์ถํ ๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก '๋จ์ ํ๊ท '์ ํ์ฉํ๋ค. ๊ธฐ์ด ์ถ์ ๊ธฐ(Estimator)๊ฐ ์์ธก ํ๋ฅ ์ ๊ฐ๊ณ ์๋ ์ ๋(P>0.5)์ธ ๊ฒฝ์ฐ์ Bagging์ด ํจ๊ณผ๊ฐ ์๋ค.
- Bagging์ '์์ธก ์ค์ฐจ'์ ๊ตฌ์กฐ์์ '๋ถ์ฐ'์ ๋ฎ์ถฐ์ ์ ํ๋๋ฅผ ๋์ด๊ฒ ํด์ค๋ค. ์ฆ, ๊ณผ์ ํฉ์ ๋ฐฉ์งํ๋๋ฐ ๋์์ด ๋๋ค.
Variance Reduction & Improved Accuracy
- phi_i(c) : ๋ฐฐ๊น ๋ ๋ชจ๋ธ์ ์ต์ข ์์ธก ๊ฐ์ ๋ถ์ฐ , N : ๋ฐฐ๊น ๋ ๋ชจ๋ธ์ ์ , variance_bar : ๋จ์ผ ์ถ์ ๊ธฐ(๋ชจ๋ธ)์ ์์ธก์ ํ๊ท ๋ถ์ฐ, rho_bar : ๋จ์ผ ์ถ์ ๊ธฐ ์์ธก ๊ฐ ์๊ด๊ด๊ณ
- ์์ ์ฐ๊ฒฐ๊ณ ๋ฆฌ : phi_i(c) = sumvariance_between_bagged_model(i,j) , variance_between_bagged_model(i,j) = ๋ฐฐ๊น ๋ ๋ชจ๋ธ ๊ฐ์ ๊ณต๋ถ์ฐ
๊ฒฐ๋ก
- ๋จ์ผ ์ถ์ ๊ธฐ(๊ธฐ์ด ๋ชจ๋ธ)๊ฐ์ ์๊ด๊ด๊ณ๊ฐ 1๋ณด๋ค ์์ง ์์ผ๋ฉด ๋ฐฐ๊น ๋ชจ๋ธ์ ์ค์ฐจ ๊ฐ์ ์ ๋์์ด ๋์ง ์๋๋ค๋ ๊ฒ์ด ์์์ ์ผ๋ก ์ฆ๋ช ๋๋ค.
- ๋ฌผ๋ก ์ฌ๋ฌ๊ฐ์ง ์ค์ ์์์ ์ด์๊ฐ ์๋ค.
- ex1) ์ ํํ ์๊ด๊ด๊ณ๋ ๋ฌด์์ด๊ณ ์ด๋ฅผ ์ด๋ป๊ฒ ์ ๋ํ ํ ๊ฒ์ธ๊ฐ? a) ์ ํํ ๊ฒ์ ์ ์ ์๊ณ ๊ฐ์ค์ ์ธ์ฐ๊ณ ์๋ฏธ์๋ ์๊ด๊ด๊ณ๋ฅผ ๋ํ๋ผ ์ ์๋ mathematical expression์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ต์ . ๋ฐ์ดํฐ์ ๊ธธ์ด์ ๋ฐ๋ผ์๋ ๊ณ์ ์๊ด๊ด๊ณ๊ฐ ๋ณํ ํ ๋ฐ ์ด๋ฐ ํ๋ฅ ์ ์ธ ๋ถ๋ถ๊น์ง๋ ๊ณ ๋ คํ๋ ์๊ด๊ด๊ณ modeling์ ์ฌ์ฉํ๋ค๋ฉด best
Observation Redundancy
- 1) ๊ด์ธก ์ค๋ณต ์ด์
- ๊ด์ธก ์ค๋ณต์ ์์์ ์๊ธฐํ๋ฏ ์ฌ์ค์ ๊ฐ Bootstrap sampling๋ค์ด '์ฌ์ค์' ๋์ผํด์ง ๊ฐ๋ฅ์ฑ์ด ๋์ผ๋ฉฐ ์ด๋ ํ๊ท ์ ์ธ ์๊ด๊ด๊ณ๊ฐ 1์ ์๋ ดํด์ง๋ค๋ ๊ฒ์ ์๋ฏธํ๋ฉฐ ๋ชจ๋ธ์ ๋ง์ด ๋ง๋ค์ง๋ง Bagging ๋ชจ๋ธ์ ๋ถ์ฐ์ ์ค์ด์ง ๋ชปํ์ฌ ํจ๊ณผ๊ฐ ์์ด์ง์ ์๋ฏธํ๋ค.
- ์ฐธ๊ณ ) Sample Weights
- 2) OOS ์ ๋ขฐ์ฑ ์ฝํ ์ด์
- ๋ชจ๋ธ์ ํ๋ จํ ๋ ๋ณต์์ ๋๋ฐํ ๋ฌด์์ ํ๋ณธ ์ถ์ถ๋ก ์ธํด OOB์ ๋งค์ฐ ํก์ฌํ train set ํ๋ณธ๋ค์ ๋ค์ ์์ฑํ๊ณ train set๊ณผ ์ฌ์ค์ ์ ์ฌํ test set์ ๋ง๋ค์ด ๋ฒ๋ฆฐ๋ค. ํ๋์ ๋ฐฉ๋ฒ์ผ๋ก k๊ฐ์ ๋ธ๋ญ์ผ๋ก ์ชผ๊ฐ ๋ค์ k๊ฐ ์์์ ์ถ์ถํ๋ ํํ๋ก ํ๋จ๋ฉด ์ด๋ฐ ํ์์ ์ด๋ ์ ๋ ๋ง์ ์ ์๋ค.
- OOB๋ ์๊ณ์ด ๋ฐ์ดํฐ ๊ด๋ จํ ๋ชจ๋ธ์์ ๋ฌด์ํ๋ ๊ฒ์ด ๋ซ๋ค. ์ด์ ์ ๊ณผ์ ๋ค์ด ๋ฐ์ดํฐ๋ค์ IIDํ ์ํค๋ ์์ ์ ํ์ง๋ง ์ฌ์ ํ ์๋ฒฝํ IID๋ ์กด์ฌํ ์ ์๋ค. ์ด๋ฐ ๊ณผ์ ์์ OOB๋ ๋ฏธ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ train ํด๋ฒ๋ฆฌ๋ ํจ๊ณผ๊ฐ ๋ค์ด๊ฐ์ ํผํฌ๋จผ์ค์ ๋ฒ๋ธ์ด ์๊ฒ ๋๋ค.
Random Forest
Concept
- Decision Tree๋ ๊ณผ์ ํฉ ๋๊ธฐ ์ฝ๋ค๊ณ ์๋ ค์ ธ ์๊ณ ๊ฐ DT๊ฐ ๊ณผ์ ํฉ ๋์ด ์๋ค๋ฉด ์ด๋ฅผ ํ์ฉํด ๋จ์ํ Forest๋ฅผ ๋ง๋ค ๊ฒฝ์ฐ Bagging๋ ๋ชจ๋ธ์ Variance๋ฅผ ์ฆ๊ฐ์ํจ๋ค.
- ์ต์ฐ์ ๊ณผ์ ๋ ๊ฐ๋ณ DT๊ฐ ๊ณผ์ ํฉ ๋์ง ์๋๋ก ๋ ธ๋ ฅํ๋ ๊ฒ์ด๊ณ ์ดํ์ 'Random' Forest๋ฅผ ํ์ฉํด Aggregation๋ ๋ชจ๋ธ์ Variance๋ฅผ ๋ฎ์ถ๋ค.
- Details & Reference
vs Bagging
- ๊ณตํต์ : Random Forest๋ ๊ฐ๋ณ ์ถ์ ๊ธฐ(Estimator, ๊ธฐ๋ณธ ๋ชจ๋ธ)๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก Bootstrap Sampling์ ๊ฐ์ง๊ณ ํ๋ จํ๋ค๋ ์ ์์ ๋น์ทํ๋ค.
- ์ฐจ์ด์ : Random Forest๋ 2์ฐจ level์ Randomness๋ฅผ ํฌํจํ๋ค.
- Bagging์ Feature๋ ๊ณ์ ๋์ผํ๊ณ Bootstrap ๋ถ๋ถ์๋ง Randomness๋ฅผ ๋ฃ์ ๋ชจ๋ธ์ธ ๋ฐ๋ฉด, Random Forest๋ ๊ฐ๋ณ ์ถ์ ๊ธฐ(Estimator)๋ฅผ ๋ง๋ค ๋ M๊ฐ์ Feautre ์ค์์ N๊ฐ๋ฅผ ๋๋ค์ผ๋ก ํ ๋ฒ ์ถ์ถํ ํ ์ด๋ฅผ ํ์ฉํด Bootstrap Sampling๋ค์ ๋ํด ํ๋ จํ๊ณ Aggregation ์์ ์ ์งํํ๋ค. ์ฆ, Bagging๊ณผ ๋ค๋ฅด๊ฒ 2๋จ๊ณ(Feature Sampling + Data Bootstrap Sampling)๋ฅผ ๊ฑฐ์น๋ค.
- Bootstrap ํ๋ณธ ํฌ๊ธฐ๊ฐ train data set ํฌ๊ธฐ์ ์ผ์นํด์ผ ํ๋ค. (Bagging์ ์๊ด์๋ค.)
Advantage
- Random Forest๋ Bagging๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์์ธก์ ๋ถ์ฐ์ ๊ณผ์ ํฉ์ ์ต๋ํ ๋ฐฉ์งํ๋ฉด์ ์ค์ผ ์ ์๋ค.
- Bagging๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ฐ๋ณ ์ถ์ ๊ธฐ(Estimator) ๊ฐ์ ์๊ด๊ด๊ณ๊ฐ 1์ ๊ฐ๊น์ธ์๋ก ๋ถ์ฐ์ ์ค์ด๋ ํจ๊ณผ๋ฅผ ๊ฑฐ์ ๋ชป ๋ณผ ์ ์๋ค.
- Feature Importance๋ฅผ ๊ณ์ฐํ ์ ์๋ค. ์ฐธ๊ณ ) Feature Importance
Tips for avoiding Overfitting
- Random Forest์ max_features๋ฅผ ๋ฎ์ ๊ฐ์ ์ค์ . ์ด๋ Tree๊ฐ์ ์๊ด๊ด๊ณ๋ฅผ ๋ฎ์ถฐ์ค.
- Early Stopping : min_weight_fraction_leaf ์ ๊ทํ ๋งค๊ฐ ๋ณ์๋ฅผ ์ถฉ๋ถํ ํฐ ์๋ก ์ค์ (5%)
- Bagging + DecisionTree & max_samples=avgU (ํ๊ท ๊ณ ์ ์ฑ, Sample Weights)
(a) clf=DecisionTreeClassifier(criterion='entropy',max_features='auto',class_weight='balanced')
(b) bc=BaggingClassifier(base_estimator=clf,n_estimators=1000,max_samples=avgU,max_features=1.)
- Bagging + RandomForest & max_samples=avgU (ํ๊ท ๊ณ ์ ์ฑ, Sample Weights)
(a) clf=RandomForestClassifier(n_estimators=1,criterion='entropy',bootstrap=False,class_weight='balanced_subsample')
(b) bc=BaggingClassifier(base_estimator=clf,n_estimators=1000,max_samples=avgU,max_features=1.)
- Bagging + RandomForest with Sequential Bootstrap ( Sequential Bootstrap Code)
- RandomForest์ Parameter ๋ถ๋ถ์ ํ๋ ๋ง๋ค์ด์ ์ฌ์ฉ
- class_weight = 'balanced_subsample' : RandomForest Hyper Params
- Feature์ PCA + RandomForest
- Feature์ PCA๋ฅผ ํ์ฉํ์ฌ Feature ์๋ฅผ ์ค์ฌ์ ์ฌ์ฉํ๋ค๋ฉด ๊ฐ ๊ฐ๋ณ ์ถ์ ๊ธฐ์ธ Decision Tree๊ฐ ํ์๋ก ํ๋ depth๊ฐ ์ค์ด๋ค ์ ์๊ณ ์ด๋ ๊ฐ ๊ฐ๋ณ ์ถ์ ๊ธฐ์ ์๊ด๊ด๊ณ๋ฅผ ๋ฎ์ถ๋ฏ๋ก Variance๋ฅผ ์ค์ด๋ ๊ฒ์ ํจ๊ณผ์ ์ด๋ค.
Boosting
Concept
- Weak Estimator๋ค์ ํ์ฉํด ๋ ๋์ ์ ํ๋๋ฅผ ์ป์ด๋ผ ์ ์๋ ์ง์ ๋ํ ์๋ฌธ์ผ๋ก ๋ถํฐ ์์ํ๋ค. (Bagging์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ์ถ์ ๊ธฐ๊ฐ ์ฝํ๋ฉด ์ฑ๋ฅ ๊ฐ์ ์ ํจ๊ณผ๊ฐ ๋ฏธ๋ฏธํ๋ค)
- Details & Reference
- AdaBoost : AdaBoost์ ๋ํ ๋ํ ์ผํ ์ค๋ช
- Kearns & Valiant, 1989 : Boosting์ ์ต์ด ์์ด๋์ด ์ ์
- How to Develop an AdaBoost Ensemble in Python
Decision Flow
- ์ด๋ค ์ถ์ถ ํ๋ฅ ๋ถํฌ์ ๋ฐ๋ผ ๋ณต์์ ๋๋ฐํ ์ถ์ถ์ ์งํํ์ฌ 'ํ๋'์ train set์ ์์ฑ (์ด๊ธฐ ํ๋ฅ ๋ถํฌ๋ Uniform)
- ํ๋์ Estimator๋ฅผ ์์ train set์ ํ์ฉํด fitting
- ์์ Estimator๊ฐ performance metric ์๊ณ๊ฐ์ ๋์ด์๋ฉด ํด๋น Estimator๋ ๋ฑ๋กํ๊ณ ์๋๋ฉด ํ๊ธฐ
- ์ดํ์ ์๋ชป ์์ธก๋ label์๋ ๋ ๋ง์ ๊ฐ์ค ๊ฐ์ ๋ถ์ฌํ๊ณ ์ ํํ ์์ธก๋ label์ ๋ฎ์ ๊ฐ์ค ๊ฐ์ ๋ถ์ฌํ๋ค.
- N๊ฐ ์ถ์ ๊ธฐ ์์ฑํ ๋๊น์ง ๋ฐ๋ณต
- N๊ฐ ๋ชจ๋ธ์ ๊ฐ์ค ํ๊ท ์ด๊ณ ๊ฐ์ค vector๋ ๊ฐ๋ณ Estimator์ performance(ex. accuracy)์ ๋ฐ๋ผ ๊ฒฐ์
- ์์ ๊ธฐ๋ณธ์ ์ธ flow๋ ๋ชจ๋ boosting ์๊ณ ๋ฆฌ์ฆ์ด ๋์ผํ๋ฉฐ ๊ฐ์ฅ ์ ๋ช ํ ๊ฒ์ AdaBoost
Bagging vs Boosting
Comparison
- ๊ฐ Estimator๋ฅผ ๋ง๋ค์ด๋ด๋ ๊ณผ์ : Parallel(Bag) vs Sequential(Boost)
- Estimator ์ ๋ณ ์ฌ๋ถ : X(Bag) vs O(Boost)
- Probability Distribution of Sampling์ ๋ณํ : X(Bag) vs O(Boost)
- Ensemble ์์ธก ๊ฐ Average ๋ฐฉ์ : Equal(Bag) vs Weight(Boost)
In Finance
- Boosting์ Bias,Variance๋ฅผ ๋ชจ๋ ๊ฐ์์ํค์ง๋ง ์ฃผ์ด์ง Data์ Overfittingํ๊ฒ ํ๋ ์์๊ฐ ๋ค์ ํฌํจ๋์ด ์์
- ๊ธ์ต ๋ฐ์ดํฐ๋ Underfitting ๋ณด๋ค๋ Overfitting์ด ๋ฌธ์ ๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ์ ์ผ๋ก Bagging์ด ์ ํธ
Bagging For Scalability
- SVM ๊ฐ์ ๊ฒฝ์ฐ๋ train data์ observation์ด 100๋ง๊ฐ ์ ๋ ๋๋ฉด ์๋๊ฐ ๊ธฐํ๊ธ์์ ์ผ๋ก ๋๋ ค์ง.
- ์๋์ ๋นํด ์ต์ ๋ณด์ฅ, ๊ณผ์ ํฉ ๋ณด์ฅ ์ธก๋ฉด์์ ๋ฉ๋ฆฌํธ๊ฐ ์์
- ๊ฐ๋ณ Estimator๋ก๋ SVM์ ์ฌ์ฉํ๊ณ ์ ํ ์กฐ๊ฑด์ ๊ณผ์ ํฉ์ด ๋์ง ์๋๋ก ์ค์ ํ ํ bagging์ ํ๊ฒ ๋๋ฉด ์๋ ๋ฌธ์ ์ ๊ณผ์ ํฉ ๋ฌธ์ ๋ฅผ ๋์์ ํด๊ฒฐํ ์ ์์
- Bagging : Bagging ์๊ณ ๋ฆฌ์ฆ์ ๋ณ๋ ฌ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅ
- Scalability Example
- Logistic + Bagging (or RandomForest style)
- SVM + Bagging (or RandomForest style)
- Random Forest + Bagging
- Boosting + Bagging (or RandomForest style)
- Linear SVC + Bagging (or RandomForest style)
- ref : Combining Models (Bagging style + Base Estimator)