Bagging & Random Forest
2021-1ํ๊ธฐ, ๋ํ์์ โํต๊ณ์ ๋ฐ์ดํฐ๋ง์ด๋โ ์์ ์ ๋ฃ๊ณ ๊ณต๋ถํ ๋ฐ๋ฅผ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ์ง์ ์ ์ธ์ ๋ ํ์์ ๋๋ค :)
<Bagging>, <Boosting>, <Random Forest>๋ฅผ ์์ฐ๋ฅด๋ ๊ณตํต์ ์ ๋ชจ๋ <ensemble model>์ด๋ผ๋ ์ ์ด๋ค. <ensemble model>์ ๋ง์ weak learner๋ฅผ ๊ฒฐํฉํด strong learner๋ฅผ ๋์์ธ ํ๋ ์ ๊ทผ๋ฒ์ด๋ค. ๋ง์ ๊ฒฝ์ฐ์ <ensemble model>๊ฐ single model๋ณด๋ค ๋ ์ข์ ์ฑ๋ฅ์ ๋ณด์ธ๋ค ๐
Bagging
Bootstrap Sampling
<Bagging>์ ์ดํด๋ณด๋ ค๋ฉด, ๋จผ์ <bootstrap sampling>์ ๋ํด ์ดํดํด์ผ ํ๋ค.
๊ฐ๋จํ๊ฒ ๋งํ๋ฉด, ๊ธฐ์กด์ ์ํ $X = \{ (x_i, y_i) \}_i$์์ โsampling with replacementโ๋ก ๋ฝ์ ์ํ์ ๋งํ๋ค. <Bagging>์์๋ ์ด <bootstrap sample>์ $Z$๋ก ํ๊ธฐํ๋ค.
$Z^{(b)}$๋ฅผ $b$๋ฒ์งธ <bootstrap sample>์ด๋ผ๊ณ ํ๋ค๋ฉด, <Bagging>์ ๊ฐ bootstrap sample์ ๋ํด estiamtor $\hat{f}^{(b)}(\, \cdot \, ; \, Z^{(b)})$๋ฅผ ๊ตฌํ๋ค.
Bagging
<Bagging>์ โBootstrap Aggregationโ์ ํฉ์ฑ์ด์ด๋ค. ๋์ถฉ <bootstrap>์ ์ข ํฉ(aggregate) ํ๋ค๋ ๋ง์ด๋ค.
Bagging estimator๋ ์๋์ ์์ผ๋ก prediction์ ์งํํ๋ค.
\[\hat{f}_{\text{bag}}(x) = \frac{1}{B} \sum^B_{b=1} \hat{f}^{(b)}(x)\]์ฆ, bootstrap sample์์ ๋์์ธํ estiamtor์ ํ๊ท ์ผ๋ก prediction ํ๋ค๋ ๋ง์ด๋ค. ์ฌํํ๋ค!
Model. Bagging for classification
<Bagging>์ผ๋ก classification์ ์ํํ ๋๋ ๋ ๊ฐ์ง ์ ๊ทผ๋ฒ์ด ์๋ค: โconsensus votesโ & โaveraging the probabilityโ
โconsensus votesโ๋ $\hat{f}^{(b)}(x)$์์ โ# of 1โ๊ณผ โ# of 0โ์ ์๋ฅผ ๋น๊ตํด ๋ง์ ๊ฒ์ ์ทจํ๋ ์ ๊ทผ์ด๋ค.
โaveraging the probabilityโ๋ ๊ฐ๋ณ estimator๊ฐ ํ๋ฅ ์ predictํ๋ฉฐ, ์ ์ฒด bagging estimator์ ๊ฒฐ๊ณผ์ ํ๊ท ์ ๋ด๋ ๋ฐฉ๋ฒ์ด๋ค.
Variance Reduction for Bagging
Let $f_A (x) = E_{\mathbf{Z}}\hat{f}(x)$ be the aggregated estimator. ์ด $f_A (x)$๋ ์ค์ estimator๊ฐ ์๋๋ผ ๋ ผ์์ ํธ์๋ฅผ ์ํด ์กด์ฌ๋ฅผ ๊ฐ์ ํ ๋ ์์ด๋ค!
์ฐ๋ฆฌ๊ฐ ํ์ฌ ๊ฐ์ง๊ณ ์๋ bagging estiamtor์ธ $\hat{f}_{\text{bag}}$์ $f_A$์ ์ฑ๋ฅ์ ๋น๊ตํ๊ธฐ ์ํด error๋ฅผ ์๋์ ๊ฐ์ด ์ ์ํ์.
\[e = E_\mathbf{Z} \left[ E_{Y, X} \left[ Y - \hat{f}(X) \right]^2 \right]\] \[e_A = E_{Y, X} \left[ Y - f_A (X) \right]^2\]Theorem.
With the squared error loss, $f_A$ always has a smaller risk than $\hat{f}$.
\[e \ge e_A\]If each single classifier is unstable โ that is, it has high variance, the aggregated classifier $f_A$ has a smaller variance than a single original classifier.
์ฆ, ์ฐ๋ฆฌ๊ฐ ์ ๋๋ก aggregate ํ๋ค๋ฉด, ํญ์ ๊ทธ error $e_A$๋ ํญ์ ๋จ์ผ estiatmor์ error $e$ ๋ณด๋ค ์๋ค๋ ์ ๋ฆฌ์ด๋ค.
proof.
์ด๋, $2 E_\mathbf{Z} \left[ E_{Y, X} \left[ (Y - f_A(X)) (f_A(X) - \hat{f}(X)) \right] \right]$๋
\[\begin{aligned} & 2 E_\mathbf{Z} \left[ E_{Y, X} \left[ (Y - f_A(X)) (f_A(X) - \hat{f}(X)) \right] \right] \\ &= 2 E_{Y, X} \left[ (Y - f_A(X)) \cdot E_\mathbf{Z} \left[ (f_A(X) - \hat{f}(X)) \right] \right] \\ &= 2 E_{Y, X} \left[ (Y - f_A(X)) \cdot (f_A(X) - E_\mathbf{Z} \hat{f}(X)) \right] \\ &= 2 E_{Y, X} \left[ (Y - f_A(X)) \cdot \cancel{(f_A(X) - f_A(X))} \right] \\ &= 0 \end{aligned}\]๋ฐ๋ผ์,
\[\begin{aligned} e &= E_\mathbf{Z} \left[ E_{Y, X} \left[ Y - \hat{f}(X) \right]^2 \right] \\ &= E_\mathbf{Z} \left[ E_{Y, X} \left[ Y - f_A(X) \right]^2 + E_{Y, X} \left[ f_A(X) - \hat{f}(X) \right]^2 \right] \\ &= E_{Y, X} \left[ Y - f_A(X) \right]^2 + E_\mathbf{Z} \left[ E_{X} \left[ f_A(X) - \hat{f}(X) \right]^2 \right] \\ &\ge E_{Y, X} \left[ Y - f_A(X) \right]^2 = e_A \end{aligned}\]์ด๋, <Bagging>์ ์ํด ๊ฐ์ ๋ ์ ๋๋ ์๋์ ๊ฐ๋ค.
\[E_\mathbf{Z} \left[ E_{X} \left[ f_A(X) - \hat{f}(X) \right]^2 \right] = \text{Var}\left( \hat{f}(X) - f_A(X) \right)\]Remark.
- Increasing $B$ does not cause an overfitting
- $B$๊ฐ ์ปค์ง ์๋ก ํ๊ท ์ ๊ฐ๊น์์ง.
- ๋ฐ๋ฉด์ Boosting์ $B$๊ฐ ์ปค์ง์๋ก overfitting ๋จ.
- ๋ง์ฝ individual tree๊ฐ ํฌ๋ค๋ฉด, ๊ฐ๋ณ tree๊ฐ overfitting ํ ๊ฐ๋ฅ์ฑ์ ์์.
- <Bagging>์ high-variance & low-bais ๋ชจ๋ธ์์ ์ข์ ์ฑ๋ฅ์ ๋.
- In practice, <Boosting> is better than <Bagging> in many examples.
- <Bagging>์ ๋ณํํ ๋ชจ๋ธ์ธ <Random Forest>๋ฅผ ์ฌ์ฉํ๋ฉด, <Boosting>๊ณผ ๋น์ทํ ์ ๋์ ์ฑ๋ฅ์ ๋ผ ์ ์๋ค๊ณ ํจ!
Random Forest
<Bagging>์์ ๊ฐ๋ณ DT๋ ๋ชจ๋ ๋์ผํ ๋ถํฌ๋ฅผ ๊ฐ๋๋ค. ๊ทธ๋์ โbagged estimatorโ๋ ๊ฐ๋ณ bootstrap tree์ ๋์ผํ bias๋ฅผ ๊ฐ๋๋ค.
์ด๋, <Bagging> ๋ชจ๋ธ์ โvarianceโ๋ฅผ ์ค์ผ ์ ์๋ ๋ฐฉ๋ฒ์ ๊ฐ๋ณ bootstrap tree ์ฌ์ด์ correlation์ ์ค์ฌ ๋ชจ๋ธ์ ๊ฐ์ ํ ์ ์๋ค!!! ๐
The โaverageโ of $B$ iid random variables with variance $\sigma^2$ has variance $\sigma^2/B$. (๋น์ฐ!)
์ด๋ฒ์๋ iid sample์ด ์๋ ๊ฒฝ์ฐ๋ฅผ ์ดํด๋ณด์! $\text{Var}(X_i) = \sigma^2$์ด๊ณ , pairwise correlation์ $\text{Corr}(X_i, X_j) = \rho$์ธ ๊ฒฝ์ฐ๋ค!
The โaverageโ of $B$ identically distributed random variables with variance $\sigma^2$ and pairwise correlation $\rho$ has variance
\[\rho \sigma^2 + \frac{1-\rho}{B} \sigma^2\]์ด๋, ์ด๊ฒ๊ณผ iid์ธ ๊ฒฝ์ฐ์์์ variance $\sigma^2/B$๋ฅผ ๋น๊ตํด๋ณด์.
\[\text{Var} \left( \frac{X_1 + \cdots X_B }{B} \right) = \rho \sigma^2 + \frac{1-\rho}{B} \sigma^2 \quad \text{vs.} \quad \frac{\sigma^2}{B}\]๋ง์ฝ correlation $\rho$๊ฐ 0์ด๋ผ๋ฉด, iid์ธ ๊ฒฝ์ฐ์ ๊ฐ๋ค.
\[0 \sigma^2 + \frac{1-0}{B} \sigma^2 = \frac{\sigma^2}{B}\]๋ง์ฝ correlation $\rho$๊ฐ 1์ธ ๊ฒฝ์ฐ, ์ฆ $X = X_i$๋ผ๋ฉด,
\[\rho \sigma^2 + \frac{1-1}{B} \sigma^2 = \sigma^2 > \frac{\sigma^2}{B}\]๋ฐ๋ผ์, sample์ด correlate ๋์ด ์๋ค๋ฉด, variance๋ ๋ ์ปค์ง๋ค.
\[\rho \sigma^2 + \frac{1-\rho}{B} \sigma^2 \ge \frac{\sigma^2}{B}\]<Bagging>์ bootstrap sample๋ก DT๋ฅผ ๊ตฌ์ฑํ๋ค. ์ด๋, bootstrap sample์ sampling with replacement์ด๊ธฐ ๋๋ฌธ์ ๊ฐ๋ณ DT๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์ฌ์ฉํ input์ ์ผ๋ถ๋ ํญ์ ์ด๋ ์ ๋ ๊ฒน์น ๊ฒ์ด๋ค. ๋ฐ๋ผ์, <Bagging>์ ๊ฐ๋ณ DT๋ ์๋ก positively correlated ๋์ด ์๋ค! RF๋ ์ด๋ฐ correlation์ ์ค์ฌ Bagging์ ๊ฐ์ ํ๋ค!!
Before each split in bagging DT, RF selects $m \le p$ of input variables at random as cadidates for splitting. ์ฆ, ๋ณ์ ์ค ์ผ๋ถ๋ง ์ฐ๊ธฐ ๋๋ฌธ์, ๊ฐ๋ณ DT๋ผ๋ฆฌ ๋ณ์๊ฐ ๊ฒน์น ํ๋ฅ ์ด ์ค์ด๋ ๋ค!
RF์ ๊ฒฝ์ฐ, ์ผ๋ถ์ ๋ณ์๋ง ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ <bagging>๋ณด๋ค ๋ ๋น ๋ฅธ ์๋๋ฅผ ๋ณด์ธ๋ค!
Out of Bag Error
์ด๋ฒ์๋ <Bagging>๊ณผ <Random Forest>์์ cross-validation์ ์ํํ๋ ๋ฐฉ๋ฒ์ธ <OOB error; Out of Bag error>์ ๋ํด ์๊ฐํ๋ค.
<Bootstrap sample>์ ๊ฒฝ์ฐ, sampling with replacement์ด๊ธฐ ๋๋ฌธ์ 1,000๊ฐ์ ์ ์ฒด ์ํ ์ค์ 800๋ง ์ฐ์ด๊ณ , ๋จ์ 200๊ฐ๊ฐ ์ ์ฐ์ด๊ฒ ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ ์ ์๋ค. ๊ทธ๋์ Bagging, RF์์๋ ์ด๋ฐ โout of bagโํ ์ํ๋ค์ ๊ฐ์ง๊ณ validation error๋ฅผ ์ธก์ ํ ์ ์๋ค!!
๊ทธ๋์ Bagging, RF๋ <OOB error>๊ฐ stabilizeํ๋ ์๊ฐ์ training์ ์ข ๋ฃํ๋ค!