๐ป ๋ฅ๋ฌ๋์ ๊น์ด ์๋ ์ดํด๋ฅผ ์ํ ๋จธ์ ๋ฌ๋ ๊ฐ์ 4-2
๐ ๋๋ค ํฌ๋ ์คํธ - ์ํค๋ฐฑ๊ณผ
์ด๋ฒ์ ์ ๋ฆฌํ ๊ฐ๋ Random Forest๋ ์์ ํฌ์คํ ํ Decsion Tree์ ํ๋ฆ์ด ์ด์ด์ง๋๋ค. Decision tree๊ฐ ๋ญ์ง ๋ชจ๋ฅธ๋ค๋ฉด ์ฐธ๊ณ ํ์๋ ๊ฑธ ์ถ์ฒ๋๋ฆฌ๊ณ , ๋์ถฉ ๊ฐ๋ ์ ์์ ๋ค๋ฉด ์ฐธ๊ณ ์ ํ์ ๋ ๋ฉ๋๋ค.
๋ํ, ์ Reference๋ก ๋จ๊ธด ๊ฐ์ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ์ ๋ฆฌํ์์์ ๋ฐํ๋๋ค.
random forest๋ ๋จธ์ ๋ฌ๋์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋์ ๋๋ค.
์ด๋ ๊ฐ๊ฐ์ decision tree๋ฅผ ์๋ก ๋ ๋ฆฝ์ ์ผ๋ก ํ์ตํ ๋ค์์ decision tree์์ ์ป์ ๊ฒฐ๊ณผ๊ฐ๋ค์ averagingํ์ฌ ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
bootstrap sampling์ ์ด๋ค ๋ฐ์ดํฐ์ ์ ๋ง๋ค์ด๋ด๋ ๊ณผ์ ์ ๋๋ค.
ํ์ต ๋ฐ์ดํฐ์ ์ randomํ๊ฒ ํน์ ๊ฐ์๋งํผ์ sample์ ์ถ์ถํ๊ณ , ๊ทธ ๊ณผ์ ์์ ๋๊ฐ์ sample์ด ๋ ๋ฒ ์ถ์ถ๋ ์ ์์ต๋๋ค.
์์๋ผ์ด์ด(Outlier)๊ฐ ๋ง์ ํ๊ฒฝ์์ ์ ์ฉํ๊ธฐ ์ข์ผ๋ฉฐ,๊ณ์ฐ๋์ด๋ ์๋๋ฅผ ํจ์ฌ ๋น ๋ฅด๊ฒ ํ ์ ์์ต๋๋ค.
bagging์ ๊ฐ๊ฐ์ classifier๊ฐ ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ์ ์ผ๋ก ํ์ต๋์ด ์๋ก ๋ค๋ฅธ ์์ธก๊ฐ์ ์ถ๋ ฅํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๊ฐ๋ค์ ๋ชจ๋ ๋ฌถ์ด ์ต์ข ์ ์ผ๋ก ํ๋์ ์์ธก๊ฐ์ ์ถ๋ ฅํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
Random trees๋ decision tree์ ๋์ผํ ๊ตฌ์กฐ์ง๋ง splitting algorithm์ ๋จ์ํ์์ ์ฐจ์ด๋ฅผ ๋ณด์ ๋๋ค.
์์ ๊ณต๋ถํ Decision Tree์ ๊ฒฝ์ฐ์๋ feature ํ์ ๊ณผ threshold๋ฅผ ๋ฏธ๋ฆฌ ์ ํด๋์ splitting algorithm์ ๊ธฐ๋ฐ์ผ๋ก ๋๋์์ต๋๋ค.
์๋ฅผ ๋ค์ด์, 1:1 ๋น์จ๋ก ๋๋๊ฑฐ๋ ํ ๊ฐ์ sample๋ง ํ์ชฝ์ผ๋ก ๋ฐ๋ก ๊ฐ๋๋ก ๋ถ๋ฅํ๋ ๋ฐฉ๋ฒ ๋ฑ์ด ์์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ random forest๋ feature type์ randomํ๊ฒ ๊ณ ๋ฆ ๋๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์์ํ ๋ feature type์ ์ ํด๋๊ณ ์์ํ๊ณ ๋น์ฐํ ์๋๊ฐ ๋ ๋นจ๋ผ์ง๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก random tree๋ฅผ ์๋กญ๊ฒ ์ป์ ๋๋ง๋ค ์ ํ๋๋ feature type์ด ๋ฌ๋ผ์ง๋๋ค.
๋ฐ๋ผ์ ensemble model ๋ด์ ์กด์ฌํ๋ ์ฌ๋ฌ ๊ฐ์ decision trees๊ฐ ๋ชจ๋ ๋ ๋ฆฝ์ ์ธ classifier๋ก ๋์ํ ํ๋ฅ ๊ฐ๋ฅ์ฑ์ด ํจ์ฌ ๋ ์ปค์ง๋๋ค.
๋ ์ฝ๊ฒ ํํํ์๋ฉด, decision tree๋ค ๊ฐ์ ์์กด์ฑ์ด ํฌ๊ฒ ์ค์ด๋ ๋ค๊ณ ๋ง ํ ์ ์์ต๋๋ค.
Bagging + Random trees
์๋ก ๋ค๋ฅธ random tree๋ฅผ ํ์ตํฉ๋๋ค. ๊ฐ๋ณ์ ์ธ random tree๋ ์๋ก ๋ค๋ฅธ bootstrap ๋ฐ์ดํฐ์ ์ ๊ธฐ๋ฐ์ผ๋ก ํ์ต๋ ๊ฒ์ ๋๋ค.
Random forest๋ ๋ค์์ decision tree๋ฅผ ํ์ตํ๋ ensemble model์ ๋๋ค.
decision tree๋ฅผ ์ด์ฉํ์ ๋, ๊ทธ ๊ฒฐ๊ณผ๋ ์ฑ๋ฅ ๋ณ๋ ํญ์ด ํฌ๋ค๋ ๋จ์ ์ด ์์ด์
ํ์ต ๋ฐ์ดํฐ์ ๋ฐ๋ผ ์์ฑ๋๋ decision tree์ randomํ ์ฑ๊ฒฉ์ ์ผ๋ฐํํ๊ธฐ ์ํด random forest ๋ฐฉ๋ฒ์ด ๊ณ ์๋์์ต๋๋ค.
bootstrap sampling ํ baggingํ๋ ๋ฑ์ ๋ฐฉ๋ฒ์ ํตํด ๋จ์ ์ ๊ทน๋ณตํฉ๋๋ค.
์ํค๋ฐฑ๊ณผ์ ์ค๋ช ์ ๊ทธ๋๋ก ๊ฐ์ ธ์ค๋ฉด
๋ฐฐ๊น (bagging)์ bootstrap aggregating์ ์ฝ์๋ก, ๋ถํธ์คํธ๋ฉ(bootstrap)์ ํตํด ์กฐ๊ธ์ฉ ๋ค๋ฅธ ํ๋ จ ๋ฐ์ดํฐ์ ๋ํด ํ๋ จ๋ ๊ธฐ์ด ๋ถ๋ฅ๊ธฐ(base learner)๋ค์ ๊ฒฐํฉ(aggregating)์ํค๋ ๋ฐฉ๋ฒ์ด๋ค.
๋ถํธ์คํธ๋ฉ์ด๋, ์ฃผ์ด์ง ํ๋ จ ๋ฐ์ดํฐ์์ ์ค๋ณต์ ํ์ฉํ์ฌ ์ ๋ฐ์ดํฐ์ ๊ณผ ๊ฐ์ ํฌ๊ธฐ์ ๋ฐ์ดํฐ์ ์ ๋ง๋๋ ๊ณผ์ ์ ๋งํ๋ค. ๋ฐฐ๊น ์ ํตํด ๋๋ค ํฌ๋ ์คํธ๋ฅผ ํ๋ จ์ํค๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ด ์ธ ๋จ๊ณ๋ก ์งํ๋๋ค.
ํธ๋ฆฌ๋ ์์ ํ๊ท ๊ณผ ํฐ ๋ถ์ฐ(variance)์ ๊ฐ๊ธฐ ๋๋ฌธ์, ๋งค์ฐ ๊น์ด ์ฑ์ฅํ ํธ๋ฆฌ๋ ํ๋ จ ๋ฐ์ดํฐ์ ๋ํด ๊ณผ์ ํฉ(overfitting)ํ๊ฒ ๋๋ค.
๋ถํธ์คํธ๋ฉ ๊ณผ์ ์ ํธ๋ฆฌ๋ค์ ํธํฅ์ ๊ทธ๋๋ก ์ ์งํ๋ฉด์, ๋ถ์ฐ์ ๊ฐ์์ํค๊ธฐ ๋๋ฌธ์ ํฌ๋ ์คํธ์ ์ฑ๋ฅ์ ํฅ์์ํจ๋ค.
์ฆ, ํ ๊ฐ์ ๊ฒฐ์ ํธ๋ฆฌ์ ๊ฒฝ์ฐ ํ๋ จ ๋ฐ์ดํฐ์ ์๋ ๋ ธ์ด์ฆ์ ๋ํด์ ๋งค์ฐ ๋ฏผ๊ฐํ์ง๋ง, ํธ๋ฆฌ๋ค์ด ์๋ก ์๊ดํ(correlated)๋์ด ์์ง ์๋ค๋ฉด ์ฌ๋ฌ ํธ๋ฆฌ๋ค์ ํ๊ท ์ ๋ ธ์ด์ฆ์ ๋ํด ๊ฐ์ธํด์ง๋ค.
ํฌ๋ ์คํธ๋ฅผ ๊ตฌ์ฑํ๋ ๋ชจ๋ ํธ๋ฆฌ๋ค์ ๋์ผํ ๋ฐ์ดํฐ์ ์ผ๋ก๋ง ํ๋ จ์ํค๊ฒ ๋๋ฉด, ํธ๋ฆฌ๋ค์ ์๊ด์ฑ(correlation)์ ๊ต์ฅํ ์ปค์ง ๊ฒ์ด๋ค.
๋ฐ๋ผ์ ๋ฐฐ๊น ์ ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ์ ๋ค์ ๋ํด ํ๋ จ ์ํด์ผ๋ก์จ, ํธ๋ฆฌ๋ค์ ๋น์๊ดํ์์ผ ์ฃผ๋ ๊ณผ์ ์ด๋ค.