๋จธ์ ๋ฌ๋ ๋ถ์ผ์์ ์ ๋ช ํ ์ฑ ์ธ 'The Elements of Statistical Learning' ์์๋ ๊ฒฐ์ ํธ๋ฆฌ์ ๋จ์ ์ ๋ค์๊ณผ ๊ฐ์ด ๋งํ๋ค.
๊ฒฐ์ ํธ๋ฆฌ๋ ์ด์์ ์ธ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ด ๋๊ธฐ ํ๋ ํ ๊ฐ์ง ํน์ง์ ๊ฐ๋๋ค. ๋ฐ๋ก ๋ถ์ ํ์ฑ์ด๋ค.
์ฝ๊ฒ ๋งํ๋ฉด ์ฑ๋ฅ์ด ์ข์ง ์๋ค๋ ๊ฒ์ด๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ๊ฒฐ์ ํธ๋ฆฌ๋ฅผ ์ค์ํ๊ฒ ๋ฐฐ์ฐ๋ ์ด์ ๋, ์ด ๊ฒฐ์ ํธ๋ฆฌ๋ฅผ ์์ฉํ๋ฉด ์ฑ๋ฅ์ด ์ข์ ๋ค๋ฅธ ๋ชจ๋ธ๋ค์ ๋ง๋ค ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ฌ๊ธฐ์ ๊ฒฐ์ ํธ๋ฆฌ๋ฅผ ์์ฉํ๋ ๋ํ์ ์ธ ๊ธฐ๋ฒ์ผ๋ก๋ ์์๋ธ ๊ธฐ๋ฒ์ด ์๋ค.
์์๋ธ์ ์กฐํ, ๋๋ ํต์ผ์ ์๋ฏธํ๋ค.
๋จธ์ ๋ฌ๋์์ ์์๋ธ์ด๋, ํ๋์ ๋ชจ๋ธ์ ์ฐ๋ ๋์ ์๋ง์ ๋ชจ๋ธ๋ค์ ์ฌ์ฉํด ์ข ํฉ์ ์ธ ํ๋จ์ ํ๋ ๊ฒ์ ์๋ฏธํ๋ค. ๋ค์ ๋งํด, ์ฌ๋ฌ ๊ฐ์ ๊ฒฐ์ ํธ๋ฆฌ(Decision Tree)๋ฅผ ๊ฒฐํฉํ์ฌ ํ๋์ ๊ฒฐ์ ํธ๋ฆฌ๋ณด๋ค ๋ ์ข์ ์ฑ๋ฅ์ ๋ด๋ ๋จธ์ ๋ฌ๋ ๊ธฐ๋ฒ์ด๋ค.
์์๋ธ ํ์ต๋ฒ์๋ ํฌ๊ฒ 2๊ฐ์ง๊ฐ ์๋ค. ๋ฐ๋ก Bagging๊ณผ Boosting์ด๋ค.
Bootstrap ๋ฐ์ดํฐ ์
(Bootstrap ๋ฐ์ดํฐ์
์ด๋, ์๋ณธ ๋ฐ์ดํฐ์
์์ ์ค๋ณต์ ํ์ฉํ๋ฉฐ ๋ฌด์์๋ก ์ํ๋งํ์ฌ ๋ง๋ ๋ฐ์ดํฐ์
์ ์๋ฏธํ๋ค)์ผ๋ก ํ์ต๋ ์ฌ๋ฌ ๋ชจ๋ธ๋ค์ ๊ฒฐ์ ์ ์ข
ํฉํด์(aggregate) ์์ธก์ ํ๋ ์์๋ธ ๊ธฐ๋ฒ์ Bootstrap aggregating, ์ค์ฌ์ Bagging์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์ฌ์ง์ผ๋ก ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.

์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ฌ๋ฌ Bootstrap ๋ฐ์ดํฐ ์ ์ ์ด์ฉํด์ ์ฌ๋ฌ ๊ฐ์ ๊ฒฐ์ ํธ๋ฆฌ๋ค์ ํ์ต์ํจ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๊ฒฐ์ ํธ๋ฆฌ๋ค์ ๊ฒฐ๊ณผ๋ฅผ ๋ค์๊ฒฐ ํฌํ๋ก ์ข ํฉํด์ ์์ธกํ๋ค.
์ด๋ฐ Bagging ๋ฐฉ์์ ์์๋ธ ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋์ธ ๋๋ค ํฌ๋ ์คํธ์ ๋ํด์ ๋จผ์ ์์๋ณด์.
๊ฒฐ์ ํธ๋ฆฌ ์์๋ธ ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋์ธ ๋๋ค ํฌ๋ ์คํธ๋ ์๋ง์ ๊ฒฐ์ ํธ๋ฆฌ๋ค์ ์์๋ก ๋ง๋ค๊ณ , ์ด ๋ชจ๋ธ๋ค์ ๊ฒฐ๊ณผ๋ฅผ ๋ค์๊ฒฐ ํฌํ๋ก ์ข ํฉํด์ ์์ธกํ๋ ๋ชจ๋ธ์ด๋ค. ํธ๋ฆฌ๋ฅผ ์์ฒญ ๋ง์ด, ๊ทธ๋ฆฌ๊ณ ์์๋ก ๋ง๋ค๊ธฐ ๋๋ฌธ์ ๋๋ค ํฌ๋ ์คํธ๋ผ๋ ์ด๋ฆ์ ๊ฐ๋๋ค.
์ฌ๋ฌ ๊ฒฐ์ ํธ๋ฆฌ ๋ชจ๋ธ๋ค์ ๊ฒฐ๊ณผ๋ฅผ ๋ค์๊ฒฐ ํฌํ๋ก ์ข ํฉํด์ ์์ธกํ๊ธฐ ๋๋ฌธ์ Bagging ๊ณ์ด์ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
์ผ๋จ ๋๋ค ํฌ๋ ์คํธ์ ์์์ฑ(Random)์ ๋ํ๋ ์์๋ ๋ค์๊ณผ ๊ฐ์ด ๋ ๊ฐ์ง๊ฐ ์๋ค.
Bootstrapping
Feature Randomization
๊ฐ์ฅ ๋จผ์ Bootstrapping์ด๋ผ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด์.
Bootstrapping์ ๊ฐ๊ณ ์๋ ๋ฐ์ดํฐ ์
์ ์ด์ฉํด์ ์กฐ๊ธ ๋ค๋ฅธ ๋ฐ์ดํฐ ์
์ ๋ง๋ค์ด๋ด๋ ๋ฐฉ๋ฒ์ด๋ค.

์์ ๋ณด๋ฉด ์๋ณธ ๋ฐ์ดํฐ์ ์์ ์์์ ๋ฐ์ดํฐ๋ค์ ๋ฌด์์๋ก ๋ฝ์์ ์๋ก์ด bootstrap ๋ฐ์ดํฐ์ ์ ๋ง๋ค๊ณ ์๋ค. ์ด ๋ ์ค๋ณต์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฝ์๋ ์๊ด์ด ์๋ค.
์ด๋ฐ ์์ผ๋ก ์๋์ ๋ฐ์ดํฐ ์ ์์ ์์๋ก ์๋ก์ด ๋ฐ์ดํฐ ์ ์ ๋ง๋ค์ด๋ด๋ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก bootstrapping ์ด๋ค.
Bootstrapping ์ ์ฌ์ฉํ๋ฉด ๊ฐ ๋ชจ๋ธ ๋ณ๋ก ๋ค์ํ๊ณ ์๋ก ๋ค๋ฅธ bootstrap ๋ฐ์ดํฐ ์ ์ ํ์ตํ๋ฏ๋ก ๋ชจ๋ธ๋ง๋ค ๋ค์ํ ๊ฒฐ๊ณผ(์์์ฑ์ด ์ถ๊ฐ๋จ)๋ฅผ ๊ธฐ๋ํ ์ ์๋ค. (๋จ, ์์๋ธ ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ ๋ชจ๋ ์๊ณ ๋ฆฌ์ฆ๋ค์ด bootstrapping์ ์ฐ๋ ๊ฑด ์๋๋ค.)
Feature Randomization์ Random Forest์์ ํธ๋ฆฌ๋ฅผ ๋ง๋ค ๋, ํ์ฉํ๋ ๋ณ์๋ฅผ ๋ฌด์์๋ก ์ ํํด์ ์ผ๋ถ๋ง ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
์ด๋ ๊ฒ ํ๊ฒ ๋๋ฉด, ๊ฐ ํธ๋ฆฌ๊ฐ bootstrap sample์ ๋ณด๋ ๊ฒ ๋ฟ๋ง ์๋๋ผ, ๊ณ ๋ คํ๋ ๋ณ์ ๋ํ ๋ค์ํด์ง๊ธฐ ๋๋ฌธ์ ๋ค์ํ ๊ด์ ์ ๋ชจํ์ ๋ง๋ค ์ ์๊ฒ ๋๋ค. ์ฆ, ๋๋ค ํฌ๋ ์คํธ์ ์์์ฑ์ ๋ํ ์ ์๊ฒ ๋๋ค.
๋๋ค ํฌ๋ ์คํธ์์๋ ์ฌ๋ฌ ๊ฐ์ ๊ฒฐ์ ํธ๋ฆฌ ๋ชจ๋ธ์ ๋ง๋ ๋ค๊ณ ํ๋๋ฐ, ์ ํํ ์ด๋ป๊ฒ ๋ง๋๋ ๊ฒ์ผ๊น? ์์์ ๋ณธ 2๊ฐ์ง ์์๋ฅผ ๋ฐํ์ผ๋ก ์์๋ณด์.
๊ธฐ์กด์ ๊ฒฐ์ ํธ๋ฆฌ๋ ์ ์ฒด ์์ฑ ์ค ์ง๋ ๋ถ์๋๊ฐ ๊ฐ์ฅ ๋ฎ์ ์์ฑ์ ๋จผ์ ๊ณ ๋ฅด๋ ๊ฒ์ด์๋ค๋ฉด, ๋๋ค ํฌ๋ ์คํธ์์๋ ์์์ฑ์ ์ถ๊ฐํ๊ธฐ ์ํด ๋จผ์ ์ ์ฒด ์์ฑ ์ค ํน์ ์์ฑ๋ค์ ์์๋ก ๊ณ ๋ฅธ๋ค.(Feature Randomization) ๊ทธ๋ฆฌ๊ณ ๊ณ ๋ฅธ ์์ฑ๋ค ์ค์์ ์ง๋ ๋ถ์๋๊ฐ ๊ฐ์ฅ ๋ฎ์ ์์ฑ์ ๊ณ ๋ฅด๋ ๊ฒ์ด๋ค.
์๋ฅผ ๋ค์ด bootstrap ๋ฐ์ดํฐ ์ ์์ ์ ์ฒด ์์ฑ ์ค ์์์ ์์ฑ 2๊ฐ๋ฅผ ๊ณ ๋ฅด๊ณ , ์ด 2๊ฐ ์ค์ ์ง๋ ๋ถ์๋๊ฐ ๊ฐ์ฅ ๋ฎ์ ์์ฑ์ ๊ณ ๋ฅด๋ ๊ฒ์ด๋ค.
์ ๋ฆฌํ์๋ฉด ๋๋ค ํฌ๋ ์คํธ๋ bootstrap ๋ฐ์ดํฐ ์ (Bootstrapping: ๋ฐ์ดํฐ ์ ์ ์์์ฑ ๋ณด์ฅ)์์ ๋ฌด์์๋ก ๋ช ๊ฐ์ ์์ฑ์ ๊ณ ๋ฅธ ๋ค์์(Feature Randomization: ๊ฒฐ์ ํธ๋ฆฌ์ ์์์ฑ ๋ณด์ฅ) ๊ณ ๋ฅธ ์์ฑ ์ค์์ ์ง๋ ๋ถ์๋๋ฅผ ํ์ธํ์ฌ ๊ฐ์ฅ ์ข์ ๋ ธ๋๋ฅผ ๊ฒฐ์ ํ๋ ์์ผ๋ก ๊ฒฐ์ ํธ๋ฆฌ๋ฅผ ๋ง๋ ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ bootstrap ๋ฐ์ดํฐ ์
์ด ์ฌ๋ฌ ๊ฐ์ด๊ธฐ ๋๋ฌธ์ ์ด ๊ณผ์ ๋ค์ bootstrap ๋ฐ์ดํฐ ์
์ ์๋งํผ ๋ฐ๋ณตํด์ฃผ๋ฉด ๋๋ค. ๊ทธ๋ผ ์๋์ฒ๋ผ ์ฌ๋ฌ ๊ฐ์ ๋ค์ํ ๊ฒฐ์ ํธ๋ฆฌ๊ฐ ๋์ค๊ฒ ๋๋ค. (Bootstrap ๋ฐ์ดํฐ ์
์ด 100๊ฐ์ผ ๋ ๊ฒฐ์ ํธ๋ฆฌ๋ 100๊ฐ)

๊ทธ๋ฆฌ๊ณ ์ด ๊ฒฐ์ ํธ๋ฆฌ๋ค์ ์์ธก ๊ฐ๋ค์ ์ข ํฉํด์ ์ต์ข ์์ธก์ ํ๋ค. ์ง๊ธ ์ผ๋ฐ ๊ฐ๊ธฐ๊ฐ 60์ผ๋ก ๋ ๊ฐ๋ณด๋ค ๋ ๋ง๊ธฐ ๋๋ฌธ์ ๋ค์๊ฒฐ ํฌํ์ ์ํด์ ์ผ๋ฐ ๊ฐ๊ธฐ๋ก ์์ธกํ๋ฉด ๋๋ค.
๋ฐ๋ผ์ ๋๋ค ํฌ๋ ์คํธ์ ํ์ต ๊ณผ์ ์ ์ฌ๋ฌ ๊ฐ์ ๊ฒฐ์ ํธ๋ฆฌ๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ํ์ต์์ผ ์ต์ข ๋ชจ๋ธ์ ๋ง๋๋ ๊ฒ์ด๋ค. ๋ง๋ค์ด์ง ์ต์ข ๋ชจ๋ธ์ ์์์ผ๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์ฌ๊ธฐ์ ๋ ์ ์ฒด ํธ๋ฆฌ ๊ฐ์, ๋ ๋ฒ ์งธ ์์ฌ ๊ฒฐ์ ํธ๋ฆฌ์ ์์ธก๊ฐ์ ์๋ฏธํ๋ค.
๋ฐ๋ผ์ ์ด ์ต์ข ๋ชจ๋ธ์ ์ด์ฉํด ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์์ธกํ๋ ๊ณผ์ ์ ์๋์ ๊ฐ๋ค.
์๋ก์ด ๋ฐ์ดํฐ๊ฐ ๋ค์ด์ค๋ฉด, ๊ฐ ๊ฐ๋ณ ์์ฌ ๊ฒฐ์ ํธ๋ฆฌ๋ค์ด ๋ ๋ฆฝ์ ์ผ๋ก ์์ธก์ ์ํ
๋ถ๋ฅ ๋ฌธ์ ์ผ ๋๋ ์ฌ๋ฌ ํธ๋ฆฌ ์ค์์ ๊ฐ์ฅ ๋ง์ด ๋์จ ํด๋์ค๋ฅผ ์ต์ข ์์ธก๊ฐ์ผ๋ก ์ ํ(๋ค์๊ฒฐ ํฌํ)
ํ๊ท ๋ฌธ์ ์ผ ๋๋ ๊ฐ ํธ๋ฆฌ์ ์์ธก๊ฐ์ ํ๊ท ๋ด์ ์ต์ข ์์ธก๊ฐ์ผ๋ก ๊ฒฐ์
์ด์ scikit-learn์ ์ด์ฉํด์ ๋๋ค ํฌ๋ ์คํธ๋ฅผ ์ค์ตํด๋ณด์.
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
import pandas as pd
iris_data = load_iris()
X = pd.DataFrame(iris_data.data, columns=iris_data.feature_names)
y = pd.DataFrame(iris_data.target, columns=['class'])
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=5)
y_train = y_train.values.ravel()
model = RandomForestClassifier(n_estimators=100, max_depth=4) # ๊ฒฐ์ ํธ๋ฆฌ ๊ฐ์, ๋ง๋ค ๊ฒฐ์ ํธ๋ฆฌ๋ค์ ์ต๋ ๊น์ด
model.fit(X_train, y_train)
model.predict(X_test)
model.score(X_test, y_test) # ์ฑ๋ฅ ํ์ธ -> 0.9
Boosting ์ '~์ ๋ณด๋ค ๋ ํฌ๊ฑฐ๋ ๋๊ฒ ํ๋ค.' ๋ผ๋ ์๋ฏธ์ด๋ค. Boosting ์ ์ผ๋ฐ์ ์ธ ์๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
์ผ๋ถ๋ก ์ฑ๋ฅ์ด ์ ์ข์ ๋ชจ๋ธ๋ค์ ์ฌ์ฉํ๋ค.
๋ ๋จผ์ ๋ง๋ ๋ชจ๋ธ๋ค์ ์ฑ๋ฅ์ด ๋ค์ ๋ชจ๋ธ์ด ์ฌ์ฉํ ๋ฐ์ดํฐ ์ ์ ์ํฅ์ ์ค๋ค.
๋ชจ๋ธ๋ค์ ์์ธก์ ์ข ํฉํ ๋, ์ฑ๋ฅ์ด ์ข์ ๋ชจ๋ธ์ ์์ธก์ ๋ ๋ฐ์ํ๋ค.
Boosting ์ ํต์ฌ์ ์ฑ๋ฅ์ด ์ ์ข์ ์ฝํ ํ์ต๊ธฐ(Weak Learner)๋ค์ ํฉ์ณ์ ์ฑ๋ฅ์ ๊ทน๋ํํ๋ค๋ ์ ์ด๋ค.
์ด๋ฐ Boosting ๋ฐฉ์์ ์์๋ธ ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋์ธ AdaBoost์ ๋ํด์ ๋จผ์ ์์๋ณด์.
Adaptive Boosting, ์ค์ฌ์ AdaBoost๋ ์ฌ๋ฌ ์ฝํ ํ์ต๊ธฐ(weak learner)๋ฅผ ์กฐํฉํ์ฌ ํ๋์ ๊ฐํ ๋ถ๋ฅ๊ธฐ๋ฅผ ์์ฑํ๋ ์์๋ธ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
๋จผ์ AdaBoost ์ ์ ๋ฐ์ ์ธ ๊ฐ๋ ๊ณผ ๊ฐ์์ ๋ํด์ ์์๋ณด์.
์๋ค ๋ถ์คํธ์์๋ ๊น์ด๊ฐ ๊น์ ๊ฒฐ์ ํธ๋ฆฌ๋ค์ด ์๋๋ผ root ๋
ธ๋ ํ๋์ ๋ถ๋ฅ ๋
ธ๋ ๋ ๊ฐ๋ฅผ ๊ฐ๋ ์์ ๊ฒฐ์ ํธ๋ฆฌ๋ฅผ ๋ง๋ ๋ค. ์ฌ์ง์ผ๋ก ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.

์์ ๊ฐ์ด ํ๋์ ์ง๋ฌธ๊ณผ ๊ทธ ์ง๋ฌธ์ ๋ํ ๋ต์ผ๋ก ๋ฐ๋ก ์์ธก์ ํ๋ ์งง์ ๊ฒฐ์ ํธ๋ฆฌ๋ฅผ ๋๋ฌด์ ๊ทธ๋ฃจํฐ๊ธฐ ๊ฐ๋ค๊ณ ํด์ ์คํ ํ๋ผ๊ณ ํ๋ค.
์ด๋ฐ ์์ผ๋ก ์คํ ํ๋ฅผ ๋ง๋ค๊ฒ ๋๋ฉด ์ฑ๋ฅ์ ์ด๋จ๊น? ํํ โ๋์ ๋์ง๊ธฐ ๋ณด๋ค ์กฐ๊ธ ์ข๋ค.โ๋ผ๊ณ ํํํ๋ค. ์ฆ, ์คํ ํ๋ ์ฃผ๋ก 50% ๋ณด๋ค ์กฐ๊ธ ๋์ ์ฑ๋ฅ์ ๊ฐ๊ฒ ๋๋ค.
Boosting ๊ธฐ๋ฒ์ ์ฑ๋ฅ์ด ์ ์ข์ ๋ชจ๋ธ๋ค(Weak learner)์ ์ฌ์ฉํ๋ฏ๋ก ์ด๊ฑฐ์ ๋ง๊ฒ ์ผ๋ถ๋ฌ ์ผ๋ฐ ๊ฒฐ์ ํธ๋ฆฌ๊ฐ ์๋ ์คํ ํ๋ง์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.

ํ๋์๊ณผ ๋นจ๊ฐ์ ๋ฐ์ดํฐ๋ ์๋ก ๋ถ๋ฅ๊ฐ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ค์ด๋ค. ์ด๊ฑธ ์ด์ฉํด์ ๊ฒฐ์ ์คํ ํ ํ๋(Model 1)๋ฅผ ํ์ตํ๋ค๊ณ ํ์.
๊ทธ๋ผ ์ด ๊ฒฐ์ ์คํ ํ๊ฐ ๋ง๊ฒ ๋ถ๋ฅํ๋ ์ ๋ค์ด ์๊ณ , ํ๋ฆฌ๊ฒ ๋ถ๋ฅํ๋ ์ ๋ค์ด ์์ ๊ฒ์ด๋ค(๋๊ทธ๋ผ๋ฏธ ์น ๊ณณ). ์ด๋ ํ๋ฆฐ ๋ฐ์ดํฐ๋ ๊ฐ์ค์น๋ฅผ ๋ ๋๊ฒ ์ฃผ๊ณ , ๋ง๊ฒ ๋ถ๋ฅํ ๋ฐ์ดํฐ๋ ๊ฐ์ค์น๋ฅผ ๋ฎ๊ฒ ์ค์ ๋ค์ ๊ฒฐ์ ์คํ ํ(Model 2)๊ฐ ์ค๋ฅ์ ๋ ์ ๊ฒฝ์ธ ์ ์๋๋ก ํ๋ค.
๊ทธ ๋ค์ ๊ฒฐ์ ์คํ ํ๋ฅผ ๋ง๋ค ๋๋, ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฐ์ดํฐ ์ ์์ ์์ธก์ ํ๋ฆฐ ๋ฐ์ดํฐ์ ๋ง์ ๋ฐ์ดํฐ๋ค์ ๊ฐ์ค์น๋ฅผ ์กฐ์ ํด์ ๋ฐ๋ก ์ด์ ์์ธก์ ํ๋ ธ๋ ๋ฐ์ดํฐ๋ค์ ์ข ๋ ์ ์์ธกํ๋ ๊ฒฐ์ ์คํ ํ๋ฅผ ๋ง๋ ๋ค.
์ด ๊ณผ์ ์ ๋ฏธ๋ฆฌ ์ ํด๋์ ๋งํผ ๋ฐ๋ณตํด์ ์์ฒญ ๋ง์ ์คํ ํ๋ค์ ๋ง๋ค์ด์ค๋ค. ๋ญ 100๊ฐ, 150๊ฐ, 200๊ฐ, .. ์ด๋ฐ ์์ผ๋ก ๋ง์ด๋ค.
์ด๋ ๊ฒ ์๋ง์ ์คํ
ํ๋ค์ ๋ง๋ ํ์๋ ์ข
ํฉ์ ์ธ ์์ธก์ ํด์ผํ๋๋ฐ, AdaBoost๋ ๋ค์๊ฒฐ์ ์์น์ด ์๋๋ผ ์ฑ๋ฅ ์ฃผ์์ ์ผ๋ก ์์ธก์ ํ๋ค.
์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ ์ํฉ์ด ์๋ค๊ณ ํ์.

๋ ๊ฐ ํ์ต ๋ฐ์ดํฐ์์ ์คํ ํ๊ฐ ๋ ๊ฐ๊ฐ ๋ ๊ฐ์ ์์ธกํ๊ณ ๋๋จธ์ง 2๊ฐ๊ฐ ์ผ๋ฐ ๊ฐ๊ธฐ๋ฅผ ์์ธกํ๋ค๊ณ ํ์. ๊ฐ๋จํ๊ฒ ๋ณด๋ฉด ์ง๊ธ ๋ ๊ฐ์ ์์ธกํ ์คํ ํ๋ค์ ์ฑ๋ฅ์ ํฉ์ 6์ด๊ณ ์ผ๋ฐ ๊ฐ๊ธฐ๋ฅผ ์์ธกํ ์คํ ํ๋ค์ ์ฑ๋ฅ์ 5์ด๋ค.
์ด๋๋ ์๋ฌด๋ฆฌ ๋ค์๊ฒฐ์ด 2:2์ฌ๋ ๋ ์ฑ๋ฅ์ ํฉ์ด ๋์ ๋ ๊ฐ์ผ๋ก ์์ธก์ ํ๊ฒ ๋๋ ๊ฒ์ด๋ค.
์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์ฝํ ํ์ต๊ธฐ์ธ ๊ฒฐ์ ์คํ ํ๋ฅผ ๋ง๋ ๋ค.
๋ค์ ๊ฒฐ์ ์คํ ํ๋ฅผ ๋ง๋ค ๋, ์ด์ ์คํ ํ๊ฐ ํ๋ฆฌ๊ฒ ์์ธกํ ๋ฐ์ดํฐ๋ค์ ๊ฐ์ค์น๋ฅผ ๋ ๋๊ฒ ์ค๋ค.
์ต์ข ๊ฒฐ์ ์ ๋ด๋ฆด ๋๋ ์ฑ๋ฅ์ด ์ข์ ๊ฒฐ์ ์คํ ํ๋ค ์์ธก ์๊ฒฌ์ ๋น์ค์ ๋๊ฒ, ๊ทธ๋ ์ง ์์ ๊ฒฐ์ ์คํ ํ์ ์๊ฒฌ์ ๋น์ค์ ๋ฎ๊ฒ ๋ฐ์ํ๋ค.
์ด์ ์ ์ฒด์ ์ธ ํ๋ฆ์ ์์์ผ๋, AdaBoost๋ฅผ ๋ค์ ์ฒ์๋ถํฐ ๊ตฌ์ฒด์ ์ผ๋ก ์์๋ณด์.
๋ฐ์ดํฐ๋ ๋
๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ณด์. ๊ทธ๋ฆฌ๊ณ ์ค์๋๋ผ๋ ์ด์ ์ถ๊ฐํ์. ์ค์ ๋ก ์์ฑ์ผ๋ก ์ถ๊ฐํ๋ ๊ฑด ์๋๊ณ , ๊ฐ์ค์น๋ฅผ ์์นํํ๊ณ ๋ณด๊ธฐ ํธํ๊ฒ ๊ทธ๋ฅ ์ฌ๊ธฐ ์ด๋ก ์ถ๊ฐ์์ผ์ฃผ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฆผ์ผ๋ก ๋ณด๋ฉด ์๋์ ๊ฐ๋ค.

์ฒ์์๋ ํ๋ฆฌ๊ฒ ์์ธกํ ๋ฐ์ดํฐ๊ฐ ์์ผ๋๊น ๋ชจ๋ ๋ฐ์ดํฐ์ ์ค์๋๋ฅผ ๊ฐ๊ฒ ์ค์ ํ๋ค. 7๊ฐ์ ๋ฐ์ดํฐ๊ฐ ์์ผ๋๊น ๊ฐ๊ฐ ์ฉ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ค์๋์ ํฉ์ ํญ์ 1๋ก ์ ์ง๊ฐ ๋ผ์ผ ํ๋ค.
์ผ๋จ ์ฒซ ์คํ
ํ๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค. ์ฒซ ์คํ
ํ๋ ์ ์ ๋ง๋ ์คํ
ํ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๊ฒฐ์ ํธ๋ฆฌ๋ฅผ ๋ง๋ค ๋๋ ๋๊ฐ์ด ์ง๋ ๋ถ์๋๊ฐ ๊ฐ์ฅ ๋ฎ์ ๋
ธ๋๋ฅผ root ๋
ธ๋๋ก ๊ณ ๋ฅธ๋ค.
์ง๊ธ์ โ37.5๋๊ฐ ๋๋์?โ๊ฐ ๊ฐ์ฅ ์ข๋ค๊ณ ํ์. ์คํ
ํ๋ฅผ ๋ง๋๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ง๋ฌธ ๋
ธ๋ ๋ค์์ ๋ถ๋ฅ ๋
ธ๋๊ฐ ์ค๊ณ ๋์ด๋๋ค. ๊ทธ๋ฆผ์ผ๋ก ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.

์ด๋ ๊ฒ ์ฒซ ๋ฒ์งธ ์คํ ํ๋ฅผ ๋ง๋ค์๋ค. ์๋ค ๋ถ์คํธ๋ ์์ธก์ ์ข ํฉํ ๋ ๊ฐ ์คํ ํ์ ์ฑ๋ฅ์ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ์คํ ํ๋ฅผ ๋ง๋ค ๋๋ง๋ค ๋ฏธ๋ฆฌ ์ฑ๋ฅ์ ๊ณ์ฐํด์ผ ํ๋ค. ์ด์ ์คํ ํ์ ์ฑ๋ฅ์ ์ด๋ป๊ฒ ๊ณ์ฐํ๋์ง ์์๋ณด์.
์คํ ํ์ ์ฑ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐํ๋ค.
์ฌ๊ธฐ์ ๋ ํ๋ฆฌ๊ฒ ๋ถ๋ฅํ ๋ฐ์ดํฐ๋ค์ ์ค์๋ ํฉ์ ์๋ฏธํ๋ค.
์ง๊ธ ์ด 37.5๋ฅผ ๊ธฐ์ค์ผ๋ก ๋๋ด์ ๋ ๋ ๊ฐ์ ๋ฐ์ดํฐ๊ฐ ํ๋ฆฌ๊ฒ ๋ถ๋ฅ๋๋๋ฐ, ํ์ฌ ์ด ํ๋ฆฐ ๋ฐ์ดํฐ๋ค์ ์ค์๋๋ ๊ฐ๊ฐ ์ฉ์ด๋๊น ๋ ์ด ๋ ๊ฐ์ ๋ํ ๊ฐ ์ด๋ค.
๊ณ์ฐํ ๋ฅผ ์์ ๋ฃ์ผ๋ฉด 0.458์ด ๋์จ๋ค. ์ด๊ฒ ๋ฐ๋ก ์ด ์คํ ํ์ ์ฑ๋ฅ์ด ๋๋ค.
๊ทผ๋ฐ ์คํ ํ์ ์ฑ๋ฅ์ ๊ตฌํ ๋ ์ ์ ์์ ์ฌ์ฉํ ๊น? ์ฑ๋ฅ ์์ ๊ทธ๋ํ๋ก ๊ทธ๋ ค์ ํ์ธํด๋ณด๋ฉด ์๋์ ๊ฐ๋ค.

๊ฐ 1์ ๊ฐ๊น์์ง์๋ก ๊ฐ์ค์น๊ฐ ์์์ง๊ณ , 0์ ๊ฐ๊น์์ง์๋ก ๊ฐ์ค์น๊ฐ ์ปค์ง๋ค. (์ฌ๊ธฐ์ ๊ฐ์ค์น๊ฐ ์ปค์ง๊ณ ์์์ง๋ค๋ฅผ Amount of Say๊ฐ ์ปค์ง๊ณ ์์์ง๋ค ๋ผ๊ณ ๋ ๋งํ๋ค. Amount of Say๊ฐ ํฌ๋ค๋ ๊ฑด ๊ฒฐ๊ณผ์ ๋ฏธ์น๋ ์ํฅ์ด ํฌ๋ค๋ ์๋ฆฌ์ด๋ค.)
๊ฐ 1์ด๋ฉด ์ด๋ค ๊ฒฝ์ฐ์ผ๊น? ํ๋ฆฐ ๋ฐ์ดํฐ์ ์ค์๋ ํฉ์ด 1์ด๋๊น ์คํ ํ๊ฐ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค ํ๋ฆฌ๊ฒ ์์ธกํ ๊ฒฝ์ฐ์ด๋ค. ์ด๋๋ ์ฑ๋ฅ์ด ์์ฒญ ์ ์ข์ ๊ฑฐ๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ ๋ฌดํํ๊ฒ ์๊ฒ ๋ง๋ ๋ค.
๋ฐ๋๋ก ๊ฐ 0์ด๋ผ๋ ๋ง์, ์คํ ํ๊ฐ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค ๋ง๊ฒ ์์ธกํ๋ ๊ฒฝ์ฐ์ด๋ค. ์ด ์คํ ํ์ ์ฑ๋ฅ์ ์์ฒญ ์ข์ ๊ฑฐ๋๊น ์ฑ๋ฅ์ ๋ฌดํํ ํฌ๊ฒ ๋ง๋ค์ด์ค๋ค.
๊ฐ ๋ฑ 0.5๋ฉด, ๊ฐ๊ณ ์๋ ๋ฐ์ดํฐ ์ค ๋ฑ ๋ฐ์ ๋ง๊ณ ๋ฐ์ ํ๋ฆฐ ๊ฒ์ด๋ค. ์ด๋๋ ์ฑ๋ฅ์ด ์๋ฌด ์๋ฏธ๊ฐ ์์ผ๋๊น ๊ทธ๋ฅ 0์ผ๋ก ๋ง๋ค์ด ์ค๋ค.
๋ฐ๋ผ์ ๊ทธ๋ํ๋ ์ ๋ง์ถ์๋ก, ๋๋ ์ ๋ชป ๋ง์ถ์๋ก ์ฑ๋ฅ์ ๊ธฐํ๊ธ์์ ์ผ๋ก ๋๋ฆฌ๊ณ ์ค์ฌ์ฃผ๋ ๊ฒ์ด๋ค.
ํ์ฌ ์ฒซ ๋ฒ์งธ ์คํ ํ๋ฅผ ์ ํ๊ณ ๊ทธ ์คํ ํ์ ์ฑ๋ฅ๊น์ง ๊ตฌํด๋ณด์๋ค. ์ด์ ๋ฐ์ดํฐ์ ์ค์๋๋ฅผ ์์ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์.
ํ์ฌ๊น์ง์ ์ํฉ์ ๊ทธ๋ฆผ์ผ๋ก ๊ทธ๋ฆฌ๋ฉด ์๋์ ๊ฐ๋ค.

์ฒซ ๋ฒ์งธ ์คํ ํ๋ ์ด์ด โ37.5๋๊ฐ ๋๋์?โ์๊ณ , ์ฑ๋ฅ์ 0.458์ด์๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ ๋ฐ์ดํฐ์ ์ค์๋๋ ๋ค ๋๊ฐ์ด ์ฉ์ด์๋ค.
์ฒซ ์คํ ํ๋ฅผ ๋ง๋ค ๋๋ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ๋๊ฐ์ ์ค์๋๋ฅผ ๊ฐ์ก์ง๋ง, ๋ค์์ ๋ง๋ค ์คํ ํ๋ ์์์ ํ๋ฆฌ๊ฒ ๋ถ๋ฅํ ๋ฐ์ดํฐ๋ฅผ ๋ ์ ๋ถ๋ฅํด์ผํ๊ธฐ ๋๋ฌธ์ ํ๋ฆฌ๊ฒ ๋ถ๋ฅํ ๋ฐ์ดํฐ์ ์ค์๋๋ ๋๋ ค์ฃผ๊ณ , ๋ง๊ฒ ๋ถ๋ฅํ ๋ฐ์ดํฐ์ ์ค์๋๋ ๋ฎ์ถฐ์ค์ผ ๋๋ค.
๋จผ์ ํ๋ฆฌ๊ฒ ๋ถ๋ฅํ ๋ชจ๋ ๋ฐ์ดํฐ์ ๋ํด์๋ ์ด๋ ๊ฒ ์ค์๋๋ฅผ ๋ฐ๊ฟ์ค๋ค. (์ค์๋๋ฅผ ๋์ฌ์ผ ํจ)
์ผ์ชฝ์ ๋ ์๋ก์ด ์ค์๋์ด๊ณ , ๋ ์์ ์ค์๋, ๋ ์คํ ํ์ ์ฑ๋ฅ์ ์๋ฏธํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ง๊ฒ ๋ถ๋ฅํ ๋ชจ๋ ๋ฐ์ดํฐ์ ๋ํด์๋ ์ด๋ ๊ฒ ์ค์๋๋ฅผ ๋ฐ๊ฟ์ค๋ค. (์ค์๋๋ฅผ ๋ฎ์ถฐ์ผ ํจ)
์ ๊ณฑํด์ฃผ๋ ์ ๋ฅผ ๊ฐ๊ฐ ๊ทธ๋ํ๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.

๋๋ค ์คํ ํ์ ์ฑ๋ฅ ๊ฐ 0์ผ ๋๋( ๊ฐ 0.5์ผ ๋) ์ ๊ฐ ๋ชจ๋ 1์ด ๋๋ค. ๋ฐ๋ผ์ ์ด์ ์ค์๋์ 1์ด ๊ณฑํด์ง๊ธฐ ๋๋ฌธ์ ์๋ก์ด ์ค์๋ ๊ฐ์ ๋ณํจ์ด ์๋ค.
ํ์ง๋ง ์คํ ํ์ ์ฑ๋ฅ ๊ฐ ์ปค์ง๋ค๋ฉด ๋ฌ๋ผ์ง๋ค. ๊ฐ์ ๊ฒฝ์ฐ๋ 1๋ณด๋ค ํฐ ์๊ฐ ์ ๊ณฑํด์ง๊ธฐ ๋๋ฌธ์ ์๋ก์ด ๊ฐ์ค์น ๋ ๊ฐ์ด ์ปค์ง๊ณ , ๊ฐ์ ๊ฒฝ์ฐ๋ 1๋ณด๋ค ์์ ์๊ฐ ์ ๊ณฑํด์ง๊ธฐ ๋๋ฌธ์ ์๋ก์ด ๊ฐ์ค์น ๋ ๊ฐ์ด ์์์ง๋ค.
๋ฐ๋ผ์ ํ๋ฆฌ๊ฒ ๋ถ๋ฅํ ๋ชจ๋ ๋ฐ์ดํฐ์ ๋ํด์๋ ๊ฐ์ค์น๋ฅผ ๋์ฌ์ผ ํ๋๊น ์ด์ ๊ฐ์ค์น์ ๋ฅผ ๊ณฑํด์ฃผ๊ณ , ๋ง๊ฒ ๋ถ๋ฅํ ๋ฐ์ดํฐ์ ๋ํด์๋ ๊ฐ์ค์น๋ฅผ ๋ฎ์ถฐ์ผ ํ๋๊น ์ด์ ๊ฐ์ค์น์ ๋ฅผ ๊ณฑํด์ฃผ๋ ๊ฒ์ด๋ค.
์ด์ ๋ฐ์ดํฐ์ ์ง์ ์ ์ฉํด๋ณด์. ๊ธฐ์กด ์ค์๋ ์ ์์์ ๋ณธ ์๋ค๋ก ์์ ์ ํ๋ฉด ์๋์ ๊ฐ์์ง๋ค.

ํ์ง๋ง ํ์ฌ๋ ์ค์๋์ ํฉ์ด 1์ด ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋น์จ์ ์ผ๋ก ์์ ํด์ค์ผ ํ๋ค. ๋ฐ๋ผ์ ๋ชจ๋ ๋ฐ์ดํฐ์ ์ค์๋๋ฅผ ๋ํ๊ณ , ๊ฐ ๋ฐ์ดํฐ์ ์ค์๋๋ฅผ ์ด ๊ฐ์ผ๋ก ๋๋ ์ฃผ๋ฉด ๋๋ค. ์ด์ ์ต์ข ์ ์ผ๋ก ์์ ๋ ๊ฐ ๋ฐ์ดํฐ์ ์ค์๋๋ ๋ค์๊ณผ ๊ฐ๋ค.

์๋ชป ๋ถ๋ฅํ๋ ๋ ๋ฐ์ดํฐ๋ ์ค์๋๊ฐ 0.25๊ฐ ๋๊ณ , ๋๋จธ์ง ๋ฐ์ดํฐ๋ค์ ์ค์๋๊ฐ 0.1์ด ๋์๋ค. ํ๋ฆฐ ๋ฐ์ดํฐ์ ์ค์๋๋ ๋์ด๊ณ , ๋ง์ ๋ฐ์ดํฐ์ ์ค์๋๋ ๋ฎ์ถ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ๋ฐ์ดํฐ์ ์ค์๋๋ฅผ ๋ํ๋ฉด ๋ค์ 1์ด ๋์ค๋ ๊ฒ๋ ํ์ธํ ์ ์๋ค.
์ด์ ์ด ์ค์๋๊ฐ ๋ฐ๋ ๋ฐ์ดํฐ ์ ์ ์ด์ฉํด์ ๋ค์ ์คํ ํ, ๊ทธ๋ค์ ์คํ ํโฆ ์ด๋ฐ ์์ผ๋ก ์คํ ํ๋ฅผ ๊ณ์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด์.
์๋ก ๋ง๋ค ๋ฐ์ดํฐ ์
์ ๊ธฐ์กด์ ๋ฐ์ดํฐ ์
ํฌ๊ธฐ๋ ๋๊ฐ์๋ฐ, ๋จ์ง ๊ธฐ์กด ๋ฐ์ดํฐ์ ์ค์๋๊ฐ ํ๋ฅ ๋ก ํ์ฉ๋์ด ์๋ก์ด ๋ฐ์ดํฐ ์
์ด ๋ง๋ค์ด์ง๋ค. ๊ทธ๋ฆผ์ผ๋ก ์ ํํ ๋ด๋ณด์.

์ ์ฒด์ ์ผ๋ก๋ 0๋ถํฐ ์์ํ๊ณ , ๋ฒ์์ ์์๊ฐ์ ๊ฐ ๋ฐ์ดํฐ์ ์ค์๋๋ฅผ ๋ํด์ค ๊ฐ์ด ํด๋น ๋ฐ์ดํฐ์ ๋ฒ์๊ฐ ๋๋๋ ๊ฐ์ด๋ค.
์ฒซ ๋ฐ์ดํฐ๋ 0๋ถํฐ ์ค์๋ 0.1๋งํผ, ๋ ๋ฒ์งธ ๋ฐ์ดํฐ๋ 0.1๋ถํฐ ์ค์๋๋ฅผ ๋ํ 0.2๊น์ง, ๋ค์์ 0.2๋ถํฐ 0.3๊น์ง, ๋ค์์ 0.3์์ 0.55๊น์ง, ๋ค์์ 0.55์์ 0.65๊น์ง, ... , ๋ง์ง๋ง์ผ๋ก๋ 0.9๋ถํฐ 1๊น์ง์ ๋ฒ์๋ฅผ ์ค๋ค.
์ด์ ์๋ก์ด ๋ฐ์ดํฐ ์
์ ๋ง๋ค ๋ 0์์ 1 ์ฌ์ด์ ์๋ฌด ์ซ์๋ฅผ ๊ณ ๋ฅด๋๋ฐ, ๋์จ ์ซ์๋ฅผ ๊ฐ๋ ๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ์๋ก์ด ๋ฐ์ดํฐ ์
์ ์ถ๊ฐํด์ฃผ๋ฉด ๋๋ค.
์๋ฅผ ๋ค์ด 0.4012 ๋ฅผ ๊ณ ๋ฅด๋ฉด ์ด ๊ฐ์ด ํฌํจ๋ ๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฐ์ดํฐ ์
์ ์ถ๊ฐํด ์ฃผ๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ์ค์๋๊ฐ ๋์ ๋ฐ์ดํฐ๋ ๋ฒ์๋ ํฌ๊ธฐ ๋๋ฌธ์ ์ ํ๋ ํ๋ฅ ๋ ๋๋ค.
์ด๊ฑธ ์๋ ๋ฐ์ดํฐ ์
์ ํฌ๊ธฐ๋งํผ ๋ฐ๋ณตํ๋ฉด ์ด๋ ๊ฒ ์๋ก์ด ๋ฐ์ดํฐ ์
์ด ๋ง๋ค์ด์ง๋ค.

์์ธํ ์ดํด๋ณด๋ฉด ์ค์๋๊ฐ ๋์ ๋ฐ์ดํฐ๋ค์ ์ฌ๋ฌ ๋ฒ ๋ค์ด๊ฐ๊ณ ์ค์๋๊ฐ ๋ฎ์ ๋ฐ์ดํฐ๋ค์ ์์ ์ถ๊ฐ๊ฐ ์ ๋ ๊ฒ๋ ์๋ค. ์ด๊ฒ์ ์ณ์ ์์์ด๋ค.
์ ์ด์ ๋ค์ ์คํ ํ๋ ์ ์คํ ํ๊ฐ ํ๋ฆฐ ๋ฐ์ดํฐ๋ค์ ์ข ๋ ์ ๋ง์ถฐ์ผ ํ๋ค. ์๋ก์ด ๋ฐ์ดํฐ ์ ์๋ ์ ์คํ ํ๋ค์ด ํ๋ฆฐ, ๋ค์ ๋งํด ์ค์๋๊ฐ ๋์ ๋ฐ์ดํฐ๋ค์ด ํ๋ฅ ์ ์ผ๋ก ๋ ๋ง์ด ๋ค์ด์๊ธฐ ๋๋ฌธ์ ๋ค์ ์คํ ํ๊ฐ ํ๋ฆฐ ๋ฐ์ดํฐ๋ฅผ ๋ ์ ๋ง์ถ ์ ์๋ ๊ฒ์ด๋ค.
์ด์ ์ด ์๋ก์ด ๋ฐ์ดํฐ ์
์ ์จ์, ์ฒซ ์คํ
ํ๋ฅผ ๋ง๋ค ๋๋ ๋๊ฐ์ด ์คํ
ํ๋ฅผ ๋ง๋ ๋ค. ์ง๋ ๋ถ์๋๋ฅผ ๋น๊ตํด์ ๊ฐ์ฅ ์ฑ๋ฅ์ ์ข๊ฒ ํ๋ ์ง๋ฌธ ๋
ธ๋๋ฅผ ์ ํด์ฃผ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ง๋ ์คํ
ํ์ ์ฑ๋ฅ์ ๊ณ์ฐํ๋ค. ์ฑ๋ฅ์ ๊ณ์ฐํ ํ์๋ ๋ค์ ์๋ ๋ฐ์ดํฐ ์
์์ ๋ถ๋ฅ์ ํ๋ฆฐ ๋ฐ์ดํฐ๋ค์ ์ค์๋๋ ๋์ฌ์ฃผ๊ณ , ๋ง์ ๋ฐ์ดํฐ์ ์ค์๋๋ ๋ฎ์ถฐ์ฃผ๋ฉด ๋๋ค. ๊ทธ๋ฆผ์ผ๋ก ๋ณด๋ฉด ์๋์ ๊ฐ์ ์ํฉ์ด๋ค.

๋ฐ๋ผ์ ์ฒซ ๋ฒ์งธ ์คํ ํ๊ฐ ํ๋ฆฌ๊ฒ ๋ถ๋ฅํ ๋ฐ์ดํฐ๋ค์ ๋ ๋ฒ์งธ ์คํ ํ๊ฐ ์ข ๋ ์ ๋ง์ถ ์ ์๊ณ , ์ธ ๋ฒ์งธ ์คํ ํ๋ ์์ ์๋ ์คํ ํ๋ค์ด ํ๋ฆฐ ๋ฐ์ดํฐ๋ฅผ ์ข ๋ ์ ๋ง์ถ ์ ์๊ณ โฆ ์ด๋ฐ์์ผ๋ก ์คํ ํ๋ค์ ๊ณ์ ๋ง๋ค ์ ์๊ฒ ๋๋ค.
์ด์ ๋ง๋ค์ด ๋์ ์คํ
ํ๋ค๋ก ์์ธกํ๋ ๊ณผ์ ์ ๊ฐ๋จํ ๋ด๋ณด์. ์ผ๋จ ์คํ
ํ๋ฅผ ์ด 4๊ฐ ๋ง๋ค์๋ค๊ณ ํ์. ๊ทธ๋ฆผ์ผ๋ก ๊ทธ๋ฆฌ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.

์ผ๋ฐ ๊ฐ๊ธฐ๋ก ์์ธกํ๋ ์คํ ํ๋ค์ ์ฑ๋ฅ ํฉ์ 0.6์ด๊ณ , ๋ ๊ฐ์ผ๋ก ์์ธกํ๋ ์คํ ํ๋ค์ ์ฑ๋ฅ ํฉ์ 1.2๋ก ์ผ๋ฐ ๊ฐ๊ธฐ๋ก ์์ธกํ๋ ์คํ ํ๋ค์ ์ฑ๋ฅ ํฉ๋ณด๋ค ํฌ๋ค. ์ด๋ด ๊ฒฝ์ฐ์ ์ต์ข ๊ฒฐ์ (์ฝํ ํ์ต๊ธฐ๋ค์ ๊ฐ์คํฉ)์ ์ฑ๋ฅ์ ํฉ์ด ๋์ ์ชฝ์ผ๋ก ๋ฐ๋ผ๊ฐ๊ฒ ๋์ด ๊ฒฐ๊ตญ ๋ ๊ฐ์ผ๋ก ์์ธก๋๋ค.
๋ฐ๋ผ์ ํ์ต๋ ์๋ค ๋ถ์คํธ์ ์ต์ข ๋ชจ๋ธ์ ์์์ผ๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์ฌ๊ธฐ์ ๋ ์ฝํ ํ์ต๊ธฐ์ ์ด ๊ฐ์์ด๊ณ , ๋ ๋ฒ์งธ ์ฝํ ํ์ต๊ธฐ, ๋ ํ์ต๊ธฐ ์ ์ ๋ขฐ๋๋ฅผ ๋ํ๋ด๋ ๊ฐ์ค์น๋ก, ๊ฐ๋ณ ํ์ต๊ธฐ๊ฐ ์ต์ข ์์ธก์ ์ผ๋ง๋ ๊ธฐ์ฌํ๋์ง๋ฅผ ์๋ฏธํ๋ค.(๋จ ์ฌ๊ธฐ์ ๋ ์ฝํ ํ์ต๊ธฐ์ ๋ถ์ฌ๋๋ ์ ๋ขฐ๋์ด๋ค. ๋ฐ๋ผ์ ์์์ ๋ณธ ๋ฐ์ดํฐ์ ์ฃผ๋ ์ค์๋๋์ ๋ณ๊ฐ์ด๋ค.)
์ฆ, ์ฌ๋ฌ ๊ฐ์ ์ฝํ ํ์ต๊ธฐ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ค์น์ ํจ๊ป ๋ฐ์ํ์ฌ ๋ํ ๊ฐ์ด๋ค. ์ด๋ค ๋ฒ์งธ ์ฝํ ํ์ต๊ธฐ์ ์ ๋ขฐ๋ ๊ฐ ํฌ๋ฉด, ๊ทธ ํ์ต๊ธฐ์ ์์ธก์ด ์ต์ข ๊ฒฐ๊ณผ์ ๋ ํฐ ์ํฅ์ ๋ฏธ์น๊ฒ ๋๋ค.
์ด์ ์๋ก์ด ๋ฐ์ดํฐ๊ฐ ๋ค์ด์์ ๋์ ์์ธก ๊ณผ์ ์ ์๋์ ๊ฐ๋ค.
๋ชจ๋ ์ฝํ ํ์ต๊ธฐ๋ค์ด ๊ฐ๊ฐ ์์ธก์ ์ํํ๋ค.
๊ฐ ํ์ต๊ธฐ์ ์์ธก๊ฐ์ ๊ทธ ํ์ต๊ธฐ์ ๊ฐ์ค์น ๋ฅผ ๊ณฑํด์ ํฉ์ฐํ๋ค.
์ต์ข ์ ์ผ๋ก ์คํ ํ๋ค์ ์ฑ๋ฅํฉ์ด ๊ฐ์ฅ ๋์ ํด๋์ค๋ฅผ ์ต์ข ์์ธก๊ฐ์ผ๋ก ์ ํํ๋ค.
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import AdaBoostClassifier
import pandas as pd
iris_data = load_iris()
X = pd.DataFrame(iris_data.data, columns=iris_data.feature_names)
y = pd.DataFrame(iris_data.target, columns=['class'])
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=5)
y_train = y_train.values.ravel()
model = AdaBoostClassifier(n_estimators=100) # ๊ฒฐ์ ์คํ
ํ์ ๊ฐ์(๊ธฐ๋ณธ๊ฐ์ 10๊ฐ)
model.fit(X_train, y_train)
model.predict(X_test)
model.score(X_test, y_test) # ์ฑ๋ฅ ํ์ธ -> 0.87
๋ ํ์ต๋ฒ์ ๋ฐ๋ฅธ ์์๋ธ ์๊ณ ๋ฆฌ์ฆ๋ค์ ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
Bagging ๊ณ์ด:
Random Forest
Extra Trees
etc..
Boosting ๊ณ์ด:
AdaBoost
Gradient Boosting
XGBoost
LightGBM
CatBoost
etc..
๋ ํ์ต๋ฒ์ ์ฐจ์ด๋ ๋ฌด์์ผ๊น? ๊ทธ๋ฆผ์ผ๋ก ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.

์ ๊ทธ๋ฆผ์์ ๋ํ๋ด๋ ๋ฐ์ ๊ฐ์ด Bagging์ ๋ณ๋ ฌ๋ก ํ์ตํ๋ ๋ฐ๋ฉด, Boosting์ ์์ฐจ์ ์ผ๋ก ํ์ตํ๋ค. Boosting์ ํ๋ฒ ํ์ต์ด ๋๋ ํ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ๋ค. ๊ทธ๋ ๊ฒ ๋ถ์ฌ๋ ๊ฐ์ค์น๊ฐ ๋ค์ ๋ชจ๋ธ์ ๊ฒฐ๊ณผ ์์ธก์ ์ํฅ์ ์ฃผ๊ฒ ๋๋ค.
์ค๋ต์ ๋ํด์๋ ๋์ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ๊ณ , ์ ๋ต์ ๋ํด์๋ ๋ฎ์ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ๋ค. ๋ฐ๋ผ์ Boosting์ ์ค๋ต์ ์ ๋ต์ผ๋ก ๋ง์ถ๊ธฐ ์ํด ์ค๋ต์ ๋ ์ง์คํ ์ ์๊ฒ ๋๋ ๊ฒ์ด๋ค.
Boosting์ Bagging์ ๋นํด error๊ฐ ์ ๋ค. ์ฆ, ์ฑ๋ฅ์ด ์ข๋ค. ํ์ง๋ง ์๋๊ฐ ๋๋ฆฌ๊ณ ์ค๋ฒ ํผํ
์ด ๋ ๊ฐ๋ฅ์ฑ์ด ์๋ค.
๋ฐ๋ผ์ ๊ฐ๋ณ ๊ฒฐ์ ํธ๋ฆฌ์ ๋ฎ์ ์ฑ๋ฅ์ด ๋ฌธ์ ๋ผ๋ฉด Boosting์ด ์ ํฉํ๊ณ , ์ค๋ฒ ํผํ
์ด ๋ฌธ์ ๋ผ๋ฉด Bagging์ด ์ ํฉํ๋ค.
์ถ์ฒ: ์ฝ๋์, https://bkshin.tistory.com/entry/๋จธ์ ๋ฌ๋-11-์์๋ธ-ํ์ต-Ensemble-Learning-๋ฐฐ๊น Bagging๊ณผ-๋ถ์คํ Boosting