2. Statistical Learning
2.1. What Is Statistical Learning?
Y = f(X) + e
์ฌ๊ธฐ์ ํจ์ f๋ X๊ฐ ๋ด๊ณ ์๋ Y์ ๋ํ systematic information์ด๋ค.
e๋ f๊ฐ ํํํ์ง ๋ชปํ๋ random error term์ด๋ค.
e๋ X์ ๋
๋ฆฝ์ด๊ณ ํ๊ท ๊ฐ์ 0์ด๋ค.
Statistical learning์ ์์ ํจ์ f๋ฅผ ์ฐพ๋ ๋ค์ํ ๋ฐฉ๋ฒ์ ๋ชจ๋ ์ผ์ปซ๋๋ค.
2.1.1. Why Estimate f?
-
prediction
- ์ธก์ ๊ฐ X๋ก Y ๊ฐ์ ์์ธกํ๋ค(Y = f(X)).
- f๋ black box๋ก ๋จ์๋ ์๊ด ์๋ค(Y๋ง ์ ๋ง์ถ๋ฉด ๋๋ค).
- ์ด ๋ ๋ฐ์ํ๋ ์๋ฌ๋ ๋ ๊ฐ์ง: reducible, irreducible.
- reducible: f๋ฅผ ๋ ์ ์์ธกํ๋ฉด ์ค์ผ ์ ์๋ค.
- irreducible: ์ธก์ ํญ๋ชฉ์์ ์ด๋ค ์ค์ํ ๋ณ์๋ฅผ ๋์น๊ณ ์๊ฑฐ๋,
ํน์ ์ธก์ ๋ถ๊ฐ๋ฅํ ์์(์: ์ฝ๋ฌผ ํฌ์ฌ ๋ ํ์์ ์ฌ๋ฆฌ)๊ฐ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ค.
-
inference
- Y์ ๊ฐ X์ ๊ด๊ณ๋ฅผ ์ ํํ ํ์ ํ๊ณ ์ถ๋ค.
- f๋ black box๋ก ๋จ์ผ๋ฉด ์ ๋๋ค.
- ์ด๋ค X๊ฐ Y์ ๋ ๊ด๊ณ๊ฐ ๊ฐํ์ง, ์ฌ๋ฌ X์ Y์ ๊ด๊ณ๋ ์ ํ์ธ์ง ๋น์ ํ์ธ์ง ๋ฑ.
๋ฌธ์ ์ ๋ฐ๋ผ์
- prediction๊ณผ inference ์ค ํ๋๋ง, ํน์ ๋ ๋ค ํ์ํ ์ ์๋ค.
- ๊ฐ๋จํ ์ ํ ๋ชจํ์ผ๋ก๋ ๋ง์กฑํ ์๋ ์๊ณ , ๋ณต์กํ ๋น์ ํ ๋ชจํ์ ์ฌ์ฉํด์ผ ํ ์๋ ์๋ค.
2.1.2. How Do We Estimate f?
f๋ฅผ ์ฐพ๋ ๋ฐ๋ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ด ์๋๋ฐ, ์ด๋ค์ด ๊ณตํต์ผ๋ก ๊ฐ์ง๋ ํน์ง์ด ์๋ค.
- training data: {(x~1~, y~1~), …, (x~n~, y~n~)}
- parametric or non-parametric method ์ค์ ํ๋๋ค.
- parametric methods
- f์ ํํ(equation, distribution, …)๋ฅผ ์์ ํ ํ(parameter๊ฐ ์ ํด์ง๋ค)
- parameter ๊ฐ์ ์ถ์ ํด์ f๋ฅผ ๊ฒฐ์ ํ๋ค.
- f๋ฅผ ์ฐพ๋ ๋ฌธ์ ๊ฐ ๋ช๊ฐ์ paraemters๋ฅผ ์ถ์ ํ๋ ๋ฌธ์ ๋ก ๋ฐ๋๋ค(์ฌ์์ง๋ค).
- f์ ํํ๋ฅผ ์๋ชป ์์ ํ๋ค๋ฉด ์ค์ฐจ๊ฐ ์ปค์ง ์ ์๋ค.
- ์์ ๊ฒฝ์ฐ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด f์ ํํ์ flexibility๋ฅผ ๋์ด๊ณ ์ ํ๋ค๋ฉด ๋ ๋ง์ parameters๊ฐ ํ์ํ๊ณ ,
๋ฐ๋ผ์ overfitting์ด ๋ฐ์ํ ํ๋ฅ ๋ ๋์์ง๋ค.
- non-parametric methods
- f์ ํน์ ํ ํํ๋ฅผ ์์ ํ์ง ์๋๋ค.
- ๋๋ฌธ์ f๊ฐ ์ค์ ๋ก ์ด๋ค ํํ๋ฅผ ๊ฐ๋๋ผ๋ ์ ํํ ์ถ์ ํ ์ ์ฌ๋ ฅ์ด ์๋ ๋ฐฉ๋ฒ์ด๋ค.
- ๋จ, parameter estimation์ด๋ผ๋ ์ฌ์ด ๋ฌธ์ ๋ก ๋ฐ๊พธ์ง ์์๊ธฐ ๋๋ฌธ์
parametric methods๋ณด๋ค ํจ์ฌ ๋ง์ ๊ด์ธก ๋ฐ์ดํฐ๊ฐ ํ์ํ๋ค.
2.1.3. The Trade-Off Between Prediction Accuracy and Model Interpretability
restrictive –> interpertable (inference ๋ชฉ์ ์ ์ ํฉ)
ํ์ง๋ง, prediction ๋ชฉ์ ์์๋ ๊ผญ the most flexible approach๋ฅผ ์ฌ์ฉํ๋ ๊ฒ ์ ๋ต์ ์๋๋ค(2.2์์ ๋ค๋ฃฐ ์์ ).
2.1.4. Supervised Versus Unsupervised Learning
supervised: Y ๊ด์ธก๊ฐ ์กด์ฌ <-> unsupervised
2.1.5. Regression Versus Classification Problems
response variable์ด
์ฐ์ํ –> regression
๋ฒ์ฃผํ –> classification
์ผ๋ฐ์ ์ผ๋ก predictor๋ ์ฐ์ํ, ๋ฒ์ฃผํ ๊ฐ๊ฐ์ ๋ง์ถฐ ์ฝ๋ฉ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์์ ํ์ ์์๋ ๋ ์ค์ํ๋ค.
2.2. Assessing Model Accuracy
๋ชจ๋ ์ํฉ์ ๋ง๋ฅ์ธ ๋ชจ๋ธ์ ์๋ค.
ํด๊ฒฐํด์ผ ํ ๋ฌธ์ ์ ๋ฐ๋ผ, ์ฃผ์ด์ง ๋ฐ์ดํฐ์ ๋ฐ๋ผ ๊ฐ์ฅ ์ ํฉํ ๋ชจ๋ธ์ด ๋งค๋ฒ ๋ฌ๋ผ์ง๋ค.
๊ทธ๋์ ์ํฉ๋ง๋ค ๋งค๋ฒ ์ฌ๋ฌ ๋ชจ๋ธ์ ๋น๊ตํด๋ณธ๋ค.
2.2.1. Measuring the Quality of Fit
Mean squared error(MSE): regression setting์์๋ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ค.
MSE
= $\frac{1}{n}$$\sum_{i=1}^{n}$(*y*~*i*~ - $\hat{f}$(*x*~*i*~))^2^
= Ave(*y*~*i*~ - $\hat{f}$(*x*~*i*~)^2^)
training MSE vs test MSE: ์ฐ๋ฆฌ๊ฐ ๊ด์ฌ ์๋ ๊ฑด minimize(test MSE).
(Figure 2.9)
- training MSE๋ flexibility๊ฐ ์ฆ๊ฐํ ์๋ก ๋จ์กฐ ๊ฐ์ํ๋ ํจํด์ ๋ณด์ด๊ณ ,
- test MSE๋ flexibility์ U์ํ ๊ด๊ณ๋ฅผ ๋ณด์ธ๋ค.
์ฆ, training MSE๋ฅผ ๋ฎ์ถ๊ธฐ ์ํด flexibility๋ฅผ ๋ง๊ตฌ ์ฆ๊ฐ์ํค๋ฉด
์ ์ test MSE๋ restrictive model๋ณด๋ค ์คํ๋ ค ๋ ๋์์ง ์ ์๋ค(overfitting).
2์ U์ํ ๊ด๊ณ๋ก๋ถํฐ test MSE์ ์ต์๊ฐ์ด ์กด์ฌํจ์ ํ์ธํ๋๋ฐ,
์ต์ MSE๋ฅผ ๊ฐ์ง๋ model์ ์ฐพ๋ ๋ฐฉ๋ฒ๋ ๋ค๋ฃจ๊ฒ ๋ ๊ฒ์ด๋ค(์: 5์ฅ์ cross-validation).
2.2.2. The Bias-Variance Trade-Off
test MSE ๊ธฐ๋๊ฐ = ํจ์ซ๊ฐ์ ๋ถ์ฐ + ํจ์ซ๊ฐ์ bias ์ ๊ณฑ + ์ค์ฐจํญ ๋ถ์ฐ
์ฐ๋ณ์ ์ธ ํญ ๋ชจ๋ 0 ์ด์์ด๊ธฐ ๋๋ฌธ์ ์ข๋ณ์ ์ต์๊ฐ์ ์ค์ฐจํญ ๋ถ์ฐ(irreducible error)์ด ๋๋ค.
flexible f –> high variance(๋ฐ์ดํฐ์ ๋ฐ๋ผ f ํํ๊ฐ ์ฝ๊ฒ ๋ณํ๋ค), low bias(๋ฐ์ดํฐ๋ฅผ ์ ๋ง์ถ๋ค)
(Figure 2.12)
flexibility๊ฐ ์ฆ๊ฐํ๊ธฐ ์์ํ๋ฉด
์ฒ์์๋
bias๊ฐ ๊ฐ์ํ๋ ์๋ > variance๊ฐ ์ฆ๊ฐํ๋ ์๋ –> test MSE ๊ฐ์
์ผ์ ์ง์ ์ด ์ง๋๋ฉด
bias๊ฐ ๊ฐ์ํ๋ ์๋ < variance๊ฐ ์ฆ๊ฐํ๋ ์๋ –> test MSE ์ฆ๊ฐ
2.2.3. The Classification Setting
MSE –> regression setting์์ ์ฌ์ฉํ๋ค.
classification setting์์๋ error rate๋ฅผ ์ฌ์ฉํ๋ค(minimize).
error rate = (y ๋ฒ์ฃผ๋ฅผ ์๋ชป ์์ธกํ ๋ฐ์ดํฐ ๊ฐ์) / (์ ์ฒด ๋ฐ์ดํฐ ๊ฐ์)
5. Resampling Methods
Resampling Methods
- ๊ฐ์ training data์์ ์ํ ์ถ์ถ -> model fitting ๋ฐ๋ณตํ๋ ๊ณผ์ ์ด๋ค.
- ์ด๋ค ์ถ๊ฐ ์ ๋ณด(?)๋ฅผ ์ป์ ์ ์๋ค.
- cross-validation: flexibility ๊ฒฐ์ ํ๊ฑฐ๋ test error ๊ตฌํ ๋ ์ฌ์ฉํ๋ค.
- bootstrap: parameter estimate accuracy ํ๊ฐํ ๋ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ค.
model assessment: model performance ํ๊ฐ
model selection: model flexibility ์ ํ
5.1. Cross-Validation
5.1.1. The Validation Set Approach
์ ์ฒด ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ํฌ๊ธฐ์ ๋ subsets - training set + validation set (or hold-out set) - ์ผ๋ก ๋๋๋ค. ๋๋คํ๊ฒ.
training set์ ์ด์ฉํด model fitting ํ validation set์ผ๋ก test error (e.g. MSE) ๊ณ์ฐํ๋ค.
- ๋ ๊ฐ์ง ๋จ์
- ๋ฐ์ดํฐ๋ฅผ ๋๋ ๋๋ง๋ค MSE๊ฐ ๋ฌ๋ผ์ง๋ค.
- model fitting์ ์์งํ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ํ์ฉํ ์ ์๋ค –> MSE๊ฐ ๊ณผ๋ํ๊ฐ๋๋ค.
์ ๋จ์ ์ ํด๊ฒฐํ๋ค –> cross-validation
5.1.2. Leave-One-Out Cross-Validation
(x~1~, y~1) ์ ์ธํ n-1 ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํด trainingํ๋ค.
๋จ๊ฒจ๋ ๋ฐ์ดํฐ๋ก test error rate(MSE~1~)๋ฅผ ๊ณ์ฐํ๋ค.
๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก test ๋ฐ์ดํฐ๋ฅผ (x~n~, y~n)๊น์ง ๋ณ๊ฒฝํ๋ฉฐ n๋ฒ ์งํ, MSE~n~๊น์ง ๊ตฌํ๋ค.
test error rate = CV~(n)~ = Ave(MSE~i~)
- LOOCV ์ฅ์ (= validation set approach์ ๋จ์ ํด๊ฒฐ)
- ๋ฐ์ดํฐ๋ฅผ ์ถฉ๋ถํ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ bias๋ฅผ ๊ณผ๋ํ๊ฐํ ์ํ๋๊ฐ validation set approach๋ณด๋ค ๋ฎ๋ค.
- test error rate๊ฐ ์ผ์ ํ๋ค.
LOOCV๋ ๋๋ถ๋ถ์ predictive modeling์ ์ ์ฉํ ์ ์๋ค.
least square linear (or polynomial) regression์์๋ CV~(n)~์ ๋ ๊ฐ๋จํ๊ฒ ๊ณ์ฐํ ์ ์๋ค(์ 5.2).
5.1.3. k-Fold Cross-Validation
LOOCV์ ๋น์ทํ๋ฐ, test๋ก ์ฌ์ฉํ ๋ฐ์ดํฐ๋ฅผ ํ ๊ฐ์ฉ์ด ์๋๋ผ ํ ๊ทธ๋ฃน์ฉ ๋จ๊ธฐ๋ ์ฐจ์ด๊ฐ ์๋ค.
fold = group
๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ํฌ๊ธฐ์ k๊ฐ ๊ทธ๋ฃน์ผ๋ก ๋๋คํ๊ฒ ๋๋๋ค.
1^st^ ๊ทธ๋ฃน์ ์ ์ธํ ๋๋จธ์ง๋ก training, ๋จ๊ฒจ๋ ๊ทธ๋ฃน์ผ๋ก error rate ๊ณ์ฐ(MSE~1~)
k^th^ ๊ทธ๋ฃน๊น์ง ์งํ(MSE~k~).
test error rate = CV~(k)~ = Ave(MSE~i~)
LOOCV๋ k=n์ธ k-Fold CV๋ก ๋ณผ ์ ์๋ค.
๋ณดํต k๋ 5๋ 10์ ์ฌ์ฉํ๋ค.
- ๊ณ์ฐ๋์ด ์ค์ด๋ค๊ธฐ ๋๋ฌธ
- 5๋ 10์ ์ฌ์ฉํด๋ LOOCV์ flexiblility with minimum MSE ๊ฒฐ๊ณผ๊ฐ ๋น์ทํ๊ธฐ ๋๋ฌธ
5.1.4. Bias-Variance Trade-Off for k-Fold Cross-Validation
k-fold CV์์ k ๊ฐ์ ๋ฐ๋ผ bias-variance trade-off๊ฐ ๋ฐ์ํ๋ค.
k๊ฐ n์ ๊ฐ๊น์ธ์๋ก
์์ธก์น์ bias๋ ๊ฐ์ํ๊ณ () ๋ถ์ฐ์ ์ฆ๊ฐํ๋ค.
k๋ก 5๋ 10์ ๋ง์ด ์ฌ์ฉํ๋ ์ด์ : test error rate๊ฐ ๊ฐ์ฅ ์๊ธฐ ๋๋ฌธ
5.1.5. Cross-Validation on Classification Problems
CV ์์์์ MSE ๋์ ์๋ชป ๋ถ๋ฅํ ๋ฐ์ดํฐ ๋น์จ์ ์ฌ์ฉํ๋ค.
5.2. The Bootstrap
๊ด์ธก ๋ฐ์ดํฐ๋ก๋ถํฐ ์๋ก์ด ๋ฐ์ดํฐ์
์ ๋ง๋๋ ๊ธฐ๋ฒ์ด๋ค.
๋๋คํ๊ฒ, ์๋ ๊ด์ธก๋ฐ์ดํฐ์ ๊ฐ์ ํฌ๊ธฐ๋งํผ ์ฌ์ถ์ถํ๋ค.
๋ณต์ ํน์ ๋น๋ณต์ ์ถ์ถ ์ ํ.
์)
๋ฐ์ดํฐ๊ฐ ์ธ ๊ฐ ๋ฐ์ ์์ด๋
ํฌ๊ธฐ๊ฐ 3์ธ ๋ฐ์ดํฐ์
B๊ฐ๋ฅผ ์๋ก ๋ง๋ค์ด์
๊ฐ ๋ฐ์ดํฐ์
๋ง๋ค estimates ๊ณ์ฐํ๊ณ (์ด B๊ฐ), ์ด๋ก๋ถํฐ standard error ๊ณ์ฐํ๋ค.
- can be used to quantify the uncertainty associated with a given estimatior or statistical learning method (์: ์ ํํ๊ท์์ ์ถ์ ํ ๋ชจ์๊ฐ์ ํ์ค์ค์ฐจ).
- ์ ํํ๊ท ์ธ ๋ง์ ๋ชจํ์๋ ์ฝ๊ฒ ์ ์ฉ ๊ฐ๋ฅ!
(์ 5.8์์)
์ ๊ดํธ ์์ด alpha - alpha_hat์ด ์๋์ง?
alpha์ ์ฐธ๊ฐ์ ๋ชจ๋ฅธ๋ค๊ณ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์
alpha_hat์ ์ฐธ๊ฐ ๋์ ์ฌ์ฉํ๊ณ , ๊ฐ alpha๋ง๋ค bootstrap์ B๋ฒ ์คํํด์ alpha์ SS๋ฅผ ๊ณ์ฐํ๋ ๊ฑด๊ฐ?
5.3. Lab: Cross-Validation and the Bootstrap
5.3.1. The Validation Set Approach
|
|
## [1] 23.26601
|
|
## [1] 18.71646
|
|
## [1] 18.79401
|
|
5.3.2. Leave-One-Out Cross-Validation
|
|
## (Intercept) horsepower
## 39.9358610 -0.1578447
|
|
## (Intercept) horsepower
## 39.9358610 -0.1578447
|
|
## [1] 24.23151 24.23114
|
|
## [1] 24.23151 19.24821 19.33498 19.42443 19.03321
5.3.3. k-Fold Cross-Validation
|
|
5.3.4. The Bootstrap
|
|
## [1] 0.7368375
|
|
##
## ORDINARY NONPARAMETRIC BOOTSTRAP
##
##
## Call:
## boot(data = Portfolio, statistic = alpha.fn, R = 1000)
##
##
## Bootstrap Statistics :
## original bias std. error
## t1* 0.5758321 -0.001695873 0.09366347
|
|
## (Intercept) horsepower
## 39.9358610 -0.1578447
|
|
## (Intercept) horsepower
## 40.3404517 -0.1634868
|
|
## (Intercept) horsepower
## 40.1186906 -0.1577063
|
|
##
## ORDINARY NONPARAMETRIC BOOTSTRAP
##
##
## Call:
## boot(data = Auto, statistic = boot.fn, R = 1000)
##
##
## Bootstrap Statistics :
## original bias std. error
## t1* 39.9358610 0.0544513229 0.841289790
## t2* -0.1578447 -0.0006170901 0.007343073
|
|
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 39.9358610 0.717498656 55.65984 1.220362e-187
## horsepower -0.1578447 0.006445501 -24.48914 7.031989e-81
|
|
##
## ORDINARY NONPARAMETRIC BOOTSTRAP
##
##
## Call:
## boot(data = Auto, statistic = boot.fn, R = 1000)
##
##
## Bootstrap Statistics :
## original bias std. error
## t1* 56.900099702 3.511640e-02 2.0300222526
## t2* -0.466189630 -7.080834e-04 0.0324241984
## t3* 0.001230536 2.840324e-06 0.0001172164
|
|
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 56.900099702 1.8004268063 31.60367 1.740911e-109
## horsepower -0.466189630 0.0311246171 -14.97816 2.289429e-40
## I(horsepower^2) 0.001230536 0.0001220759 10.08009 2.196340e-21
7. Moving Beyond Linearity
7.4. Regression Splines
7.4.1. Piecewise Polynomials
knot๋ผ๊ณ ๋ถ๋ฅด๋ ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ตฌ๊ฐ์ ๋๋ ์ polynomial regression fitting์ ์ํํ๋ค.
knot์์ ๊ฐ ๊ณก์ ์ด ํญํญ ๋์ด์ง ์ ์๋ค.
7.4.2. Constraints and Splines
ํญํญ ๋๊ธฐ์ง ์๊ณ ๋ถ๋๋ฝ๊ฒ ์ด์ด์ง๋ spline curve๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์๋์ constraints๋ฅผ ์ถ๊ฐ (์ผ์ฐจ์์ผ ๊ฒฝ์ฐ)
- knot์์ ํจ์ซ๊ฐ
- knot์์ ๋ฏธ๋ถ๊ณ์
- knot์์ ์ด์ฐจ๋ฏธ๋ถ๊ณ์
์ผ์ฐจ์์ด๋ผ๋ฉด ์ฒซ ๋ฒ์งธ ์กฐ๊ฑด๋ง์ผ๋ก๋ ์ถฉ๋ถํ๋ค.
8. Tree-Based Methods
- tree-based methods = decision tree methods : ์ค๋ช ๋ณ์๋ฅผ ์ฌ๋ฌ ๊ตฌ๊ฐ์ผ๋ก ๋๋๋ค
- regression, classification ๋ชจ๋ ๊ฐ๋ฅํ๋ค
- ํด์์ด (๊ทธ๋๋ง) ์ฉ์ดํ๋ค
- ๋จ์ํ tree ๊ตฌ์กฐ๋ง์ผ๋ก๋ ๋ค๋ฅธ ๋จธ์ ๋ฌ๋ ๊ธฐ๋ฒ์ ๋นํด ์์ธก ์ ํ๋๊ฐ ๋ฎ๋ค
- bagging, random forests, boosting ์ด์ฉ –> ๋ชจํ์ด ๋ณต์กํด์ง๋ค –> ์์ธก ์ ํ๋ <-> ํด์ ์ฉ์ด์ฑ trade-off
8.1. The Basics of Decision Trees
8.1.1. Regression Trees
decision tree์ ํํ์ ๊ด๋ จ๋ ์ฉ์ด๋ ๊ฑฐ๊พธ๋ก ๊ฝ์ ๋์ ๋๋ฌด๋ฅผ ๋ ์ฌ๋ฆฌ๋ฉด ์ดํดํ๊ธฐ ์ฝ๋ค.
- terminal nodes (leaves): ๊ฐ์ฅ ์๋ ์ ํ์๋ ๊ตฌ์ญ๋ณ y๊ฐ
- internal node: ๋ถ๊ธฐ์
- branch: ๊ฐ node๋ฅผ ์๋ ์
๋๋ฌด ์๋จ์ ์์นํ ์๋ก ์์ธก์ ์ํฅ์ด ํฐ ์กฐ๊ฑด(๋ถ๊ธฐ์ )์ด๋ค.
์กฐ๊ฑด์ ๋ฐ๋ผ ๊ทธ๋ฆด ์ ์๊ณ ์์ ๊ฐ์ด ํด์์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ regression tree๋ ์๊ฐํ, ํด์์ด ๋ชจ๋ ์ฉ์ดํ๋ค.
\
Recursive Binary Splitting
regression tree๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ: 1. predictor์ ๊ตฌ๊ฐ์ ๋๋๋ค, 2. ๊ฐ ๊ตฌ๊ฐ๋ณ๋ก ์์ธก๊ฐ(ํ๊ท , …)์ ๊ตฌํ๋ค.
๊ทธ๋ ๋ค๋ฉด ๊ตฌ๊ฐ์ ์ด๋ป๊ฒ ๋๋๊น? –> ๋ชฉ์ ํจ์๋ฅผ ๋๋ค.
- ๊ตฌ๊ฐ๋ณ RSS๋ฅผ ๊ตฌํด์ ๊ทธ ํฉ๊ณ๊ฐ ์ต์๊ฐ ๋๋๋ก ๊ตฌ์ญ์ ๋๋๋ค
ํ์ง๋ง ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒฝ์ฐ์ ์์์ ์์ ๊ณ์ฐ์ ํ๋ ค๋ฉด ์์ด ๋๋ฌด ๋ง๋ค.
๊ทธ๋์ top-down, greedy approach ํน์ recursive binary splitting ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค.
- top-down: ์์ ๋ ธ๋(๊ตฌ์ญ ๊ฐฏ์๊ฐ 1๊ฐ์ธ ์ํ)์์ ์์ํ๊ธฐ ๋๋ฌธ
- greedy: ๊ตฌ๊ฐ์ ๋๋ ๋๋ง๋ค ์ง๊ธ๋ณด๋ค ๋์ ๋ฐฉ๋ฒ์ด ์๋ ์ต์์ ๋ฐฉ๋ฒ(best split)์ ์ฐพ๊ธฐ ๋๋ฌธ
๋ค์๊ณผ ๊ฐ์ด ์๋ํ๋ค.
- ๋จผ์ ์ด๋ค X~j~๋ฅผ ์ด๋ ๊ฐ(s)์ ๊ธฐ์ค์ผ๋ก ๋๋ ์ผ ๋ ๊ตฌ์ญ์ RSS ํฉ์ด ์ต์๊ฐ ๋ ์ง ๊ฒฐ์ ํ๋ค.
- ๋ ๊ตฌ์ญ์ผ๋ก ๋๋ ์ง๋ค.
- ๋ ๊ตฌ์ญ ์ค ์ด๋ ๊ตฌ์ญ์ ์ด๋ค j, s๋ก ๋๋ ์ผ ์ธ ๊ตฌ์ญ์ RSS ํฉ์ด ์ต์๊ฐ ๋ ์ง ๊ฒฐ์ ํ๋ค.
- ์ธ ๊ตฌ์ญ์ด ๋๋ค.
- ์ธ ๊ตฌ์ญ ์ค ์ด๋ ๊ตฌ์ญ์ ์ด๋ค j, s๋ก ๋๋ ์ผ ๋ค ๊ตฌ์ญ์ RSS ํฉ์ด ์ต์๊ฐ ๋ ์ง ๊ฒฐ์ ํ๋ค.
- ๋ค ๊ตฌ์ญ์ด ๋๋ค.
- …
- ํน์ ์กฐ๊ฑด์ ์ถฉ์กฑํ ๋๊น์ง ๊ณ์ ๊ตฌ์ญ์ ๋๋๋ค.
- ํน์ ์กฐ๊ฑด์ ์: ๋ชจ๋ ๊ตฌ์ญ์ ๊ด์ธก๊ฐ์ด 5๊ฐ ๋ฏธ๋ง์ด๋ค
\
Tree Pruning
recursive binary splitting ์๊ณ ๋ฆฌ์ฆ์ overffing์ด ๋ฐ์ํ์ฌ ์ ์ test data์์๋ ์ฑ๋ฅ์ด ์ ์ข์ ์ ์๋ค.
์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด RSS๊ฐ ์ผ์ ๊ฐ ์ด์ ๊ฐ์ํ์ง ์์ผ๋ฉด ๊ตฌ์ญ์ ๋๋์ง ์๋๋ค!๋ ๊ท์น์ ๋ฃ์ ์๋ ์์ง๋ง,
๊ทธ ์ดํ์ RSS๊ฐ ํ ๊ฐ์ํ๋ ๊ตฌํ์ด ๊ฐ๋ฅํ์๋ค๋ฉด ์ด๋ฅผ ๋์น๊ฒ ๋๋ค.
๋ฐ๋ผ์ recursive binary splitting์ผ๋ก ์์ฃผ ํฐ ๋๋ฌด๋ฅผ ๋ง๋ ํ **๊ฐ์ง์น๊ธฐ(pruning)**ํ๋ ๋ฐฉ๋ฒ์ ํํ๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด๋ค ๊ธฐ์ค์ผ๋ก ๊ฐ์ง๋ฅผ ์ณ๋ผ๊น?
์ฐ๋ฆฌ๊ฐ ์ํ๋ ๊ฑด test error rate๋ฅผ ์ค์ด๋ ๊ฑด๋ฐ, ๊ทธ๋ ๋ค๋ฉด ๋ชจ๋ ๊ฐ๋ฅํ subtree์์ ์ด๋ฅผ ๊ณ์ฐํ ํ ๋น๊ตํด์ผ ํ ๊น?
–> Cost complexity pruning (or weakest link pruning)์ ์ฌ์ฉํ๋ค!
์๋ ๋ชฉ์ ํจ์(RSS)์ terminal node ๊ฐฏ์์ ํจ๋ํฐ๋ฅผ ์ฃผ๋ ํญ($\alpha$|T|)์ ์ถ๊ฐํ๋ค.
|T|์ subtree์ terminal node ๊ฐฏ์๋ฅผ ์๋ฏธํ๋ค.
$\alpha$๋ง๋ค ๋์ํ๋ subtree๊ฐ ์กด์ฌํ๋ค.
$\alpha$๊ฐ 0์ด๋ผ๋ฉด subtree๋ ์๋ ๊ฐ์ฅ ์ปค๋ค๋ ๋๋ฌด์ ๊ฐ๊ฒ ๊ณ ,
$\alpha$๊ฐ 0๋ณด๋ค ํด ์๋ก |T|์ ๋ชฉ์ ํจ์๊ฐ์ด ์ํฅ์ ๋ง์ด ๋ฐ๊ฒ ๋๋๋ฐ(์ฆ๊ฐ),
์ด ์ํฅ์ ์์ ๋ ค๋ฉด RSS๊ฐ ๊ฝค ๊ฐ์ํ๋ ๊ตฌํ์ด ์๋ ํ |T|๋ฅผ ์ค์ฌ์ผ ํ ๊ฒ์ด๋ค.
- recursive binary splitting์ผ๋ก ์ปค๋ค๋ ๋๋ฌด๋ฅผ ๋ง๋ ๋ค.
- K-fold CV ๋ฐฉ๋ฒ์ผ๋ก test error rate๋ฅผ ์ต์ํํ๋ $\alpha$๋ฅผ ๊ฒฐ์ ํ ํ,
- ์ด $\alpha$์ ๋์ํ๋ subtree๋ฅผ ์ต์ข ๋ชจํ์ผ๋ก ๊ฒฐ์ ํ๋ค.
8.1.2. Classification Trees
Regression tree์ ๋ค๋ฅธ ์
- ๋ฐ์๋ณ์๊ฐ ๋ฒ์ฃผํ(์ค๋ช ๋ณ์๋ ๋ฒ์ฃผํ์ผ ์ ์๋ค)
- terminal node์๋ ๊ทธ ๊ตฌ์ญ์ ํ๊ท ๊ฐ์ด ์๋๋ผ ๊ฐ์ฅ ๋น๋๊ฐ ๋์ ๋ฒ์ฃผ
- ๊ตฌ์ญ๋ง๋ค ๊ณ์ฐํ criteron์ RSS ๋์ ๋ค๋ฅธ ๊ฒ
- ๊ฐ์ฅ ๋น๋๊ฐ ๋์ ๋ฒ์ฃผ์ ์ํ์ง ์๋ ๋ฐ์ดํฐ์ ๋น์จ
- ์ ๋น์จ ๋ณด๋ค๋ Gini index๋ Entropy(Shannon index)๋ฅผ ๋ ๋ง์ด ์ด๋ค.
- ์ ๋ ์ง์๋ ๋ชจ๋ impurity๋ฅผ ๋ํ๋ธ๋ค. ๊ทธ ๊ตฌ์ญ์ด ๋ค์ํ ๋ฒ์ฃผ์ ๋ฐ์ดํฐ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉด ๊ฐ์ด
์ปค์ง๋ค.
- predicted classification์ด ๋๋ ์ง์ง ์๋ node๊ฐ ์๊ธธ ์ ์๋ค(๋๋ ๋ ๋ ๊ตฌ์ญ ๋ชจ๋ ๊ฐ์ ๋ฒ์ฃผ)
- Gini index๋ Entropy๋ฅผ ๊ตฌํ์ ๋ชฉ์ ํจ์๋ก ์ฌ์ฉํ๋ค.
- ์์ ๊ฐ์ด ๊ตฌ์ญ์ ๋๋๋ฉด ๋ชฉ์ ํจ์๊ฐ์ด ์ค์ด๋ค๊ธฐ ๋๋ฌธ์(error rate๋ ๊ฐ์ง๋ง) ์๊ณ ๋ฆฌ์ฆ์ node๊ฐ ์ถ๊ฐ๋๋ค.
8.1.3. Trees Versus Linear Models
๋ฌด์์ด ๋ ๋์์ง๋ ์ํฉ์ ๋ฐ๋ผ ๋ค๋ฅด๋ค.
test error rate๊ฐ ํ์ชฝ์ด ๋ ๋์ ์ ์๊ณ ,
interpretability๊ฐ ํ์ชฝ์ด ๋ ๋์ ์ ์๋ค.
8.1.4. Advantages and Disadvantages of Trees
(8.1.3์ด๋ ๋ญ๊ฐ ๋ฌ๋ผ)
(vs classical regression methods)
(tree methods ์
์ฅ์์)
์ฅ์
- ๋น์ ๋ฌธ๊ฐ์๊ฒ๋ ์ค๋ช ํ๊ธฐ ์ฝ๋ค
- ์ธ๊ฐ์ ์์ฌ๊ฒฐ์ ๊ณผ์ ์ ๋ ๋น์ทํ๊ฒ ๋ชจ์ฌํ ๋ฐฉ๋ฒ์ด๋ค
- ๋ฒ์ฃผํ ๋ณ์๋ฅผ ๋ค๋ฃจ๊ธฐ ๋ ์ฝ๋ค(๋๋ฏธ๋ณ์ ๋ค๋ฃจ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ์ฝ๋ค)
๋จ์
- ์์ธก ์ ํ๋๊ฐ ๋ฎ์ ํธ์ด๋ค(bagging, random forests, boosting์ผ๋ก ํด๊ฒฐ)
- non-robust. ๋ฐ์ดํฐ์ ๋ฐ๋ผ tree ๊ตฌ์กฐ๊ฐ ๋ณํ๊ธฐ ์ฝ๋ค
8.2. Bagging, Random Forests, Boosting
8.2.1. Bagging
Bagging = Bootstrap aggregation
statistical learning method์ variance๋ฅผ ์ค์ด๊ธฐ ์ํด ์ฌ์ฉ๋๋ general-purpose procecure์ด์ง๋ง
decision tree ๊ด๋ จํด์ ์์ฃผ ์ฐ์ด๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์ ์๊ฐํ๋ค.
์๋ฆฌ
- ํ๊ท ์ ๋ถ์ฐ์ ๋ถ์ฐ์ n์ผ๋ก ๋๋ ๊ฒ –> ํ๊ท ์ ๊ตฌํ๋ฉด ๋ถ์ฐ์ด ๋ฎ์์ง๋ค!
- resampling ์ฌ๋ฌ๋ฒ ํด์ training set ์ฌ๋ฌ๊ฐ ์์ฑ –> ๊ฐ set๋ง๋ค tree ์์ฑ –> tree ์์ธก๊ฐ ํ๊ท
- (training set ์์ฑ์ bootstrap์ด ์ฌ์ฉ๋๋ค)
- ๋ฒ์ฃผํ์ผ ๊ฒฝ์ฐ ๊ฐ์ฅ ๋น๋๊ฐ ๋์ ์์ธก ๋ฒ์ฃผ๋ก ๊ฒฐ์ (๋๋ฌดํํ ํฌํ๊ถ ๋ถ์ฌ!)
- ์์ฑํ training set ๊ฐฏ์๋ ํฌ๊ฒ ์ค์์น x. ๋งค์ฐ ์ปค๋ overfitting ์๋ค. ์ถฉ๋ถํ ํฐ ๊ฐ์ผ๋ก ๊ณ ๋ฅด์.
(bootstrap์ด๋ ๋ญ๊ฐ ๋ฌ๋ผ)
\
Out-of-Bag Error Estimation
bagged model์ test error ๊ตฌํ๋ ๋ฐฉ๋ฒ: ๊ฐ ๋ชจ๋ธ์ CV ์ํํด์ ๊ฒฐ๊ณผ ๋น๊ตํ ํ์ ์๋ค!
๊ฐ bagged tree๋ ์ ์ฒด ๋ฐ์ดํฐ ์ค ์ฝ 2/3๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ค.
์ด 2/3์ ๋ค์ง ๋ชปํ ๋ฐ์ดํฐ๋ฅผ out-of-bag(OOB) observation์ด๋ผ ๋ถ๋ฅธ๋ค.
์ ์ฒด bagged tree๊ฐ B๊ฐ ์๋ค๋ฉด, OOB obs. ํ ๊ฐ๋น ์ฝ 3/B๊ฐ์ prediction์ ๊ตฌํ ์ ์๋ค.
์ด 3/B๊ฐ ๊ฐ์ ํ๊ท (for regression)ํ๊ฑฐ๋ ํฌํ(for classification)ํ๋ฉด OOB MSE๋ classification error๋ฅผ ๊ตฌํ ์ ์๋ค.
์ด๋ ๋ชจ๋ธ์ ๋ง๋ค ๋ ์ฌ์ฉํ์ง ์์ ๋ฐ์ดํฐ(OOB)๋ฅผ ์ด์ฉํด ๋ชจ๋ธ ์ฑ๋ฅ์ ํ๊ฐํ์ผ๋ฏ๋ก ์ ํจํ ๋ฐฉ๋ฒ์ด๋ค.
์ด๊ฒ bootstrap + 3-fold CV๋ ๋ค๋ฅผ ๊ฒ ๋ญ์ผ
\
Variable Importance Measures
bagging์ ์ํํ๋ฉด ์ด์ ๋ ์ด์ ํด์ํ๊ธฐ ์์ํ ๋ชจ๋ธ์ด ์๋๊ฒ ๋๋ค.
๋์ bagged tree๋ฅผ ์ด์ฉํด ์ด๋ค ๋ณ์๊ฐ ์์ธก๋ ฅ์ด ๋์๋์ง ์ ์ ์๋ค.
- ๊ฐ predictor๋ง๋ค ๊ตฌํ ํ ๊ฐ์ํ RSS(or Gini index)๋ฅผ ๋ํด์ ๋น๊ตํ๋ค.
- ํ predictor๊ฐ ์ฌ๋ฌ node์์ ์ฌ์ฉ๋์๋ค๋ฉด ๊ฐ node์์ ๋ฐ์ํ RSS(or Gini index) ๊ฐ์๋์ ๋ชจ๋ ๋ํด์ ๋น๊ตํ๋ค.
8.2.2. Random Forests
Bagging < Random Forests
๋ง์ฝ ์ด๋ค predictor๊ฐ ํนํ ์ํฅ๋ ฅ์ด ๋๋ค๋ฉด,
bagging์์๋ ์ด predictor๋ง ์ฃผ๋ก ์ฌ์ฉํ์ฌ ๊ตฌ์ญ์ ๋๋๊ฒ ๋ ๊ฒ์ด๋ค.
๊ทธ ๊ฒฐ๊ณผ bagged tree๋ ์๋ก ๊ฑฐ์ ์ฐจ์ด๊ฐ ์์ ๊ฒ์ด๊ณ ์์ธก ๊ฒฐ๊ณผ๋ ๋น์ทํ ๊ฒ์ด๋ค.
์ด๋ฌํ highly correlated quantities๋ฅผ ํ๊ท ํด๋ variance reduction ์์ ๋ณ๋ก ๋์ง ์๋๋ค.
๋๋ฌธ์ Randomforest๋
- decorrelating์ผ๋ก variance reduction์ ๋์ธ๋ค.
- ๋งค ๊ตฌํ๋ง๋ค ๋ช ๊ฐ์ predictor๋ฅผ ๋๋คํ๊ฒ ๋ฝ์์ ์ด๊ฒ๋ง ๊ณ ๋ คํ๋ค.
- ์ฆ ๋ชจ๋ predictor๋ฅผ ๊ณตํํ๊ฒ ๊ฒฝ์์ํค๋ ๊ฒ ์๋๋ค.
- ๋๋ฌธ์ ์ํฅ๋ ฅ ๋ฎ์ predictor๋ node์ ์ฐธ์ฌํ ๊ธฐํ๊ฐ ๋ง์์ง๊ณ
- resulted tree๋ ๋์ฑ ๋ค์ํด์ง๋ค(decorrelated).
- ๋ณดํต m=sqrt(p) ๋งํผ ์ํ๋งํ๋ค.
- ํ๊ท ์ ์ผ๋ก (p-m)/p ๋งํผ์ node๊ฐ ์ต๊ฐ predictor๋ฅผ ๊ณ ๋ คํ์ง ์๊ฒ ๋๋ค.
- bagging๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋๋ฌด ๊ฐฏ์๋ ํฌ๊ฒ ์ค์x. ์ถฉ๋ถํ ๋ง์ด ๋ง๋ค์.
์ ์ํฅ๋ ฅ์ด ๋์ง ์์ ๋ณ์๋ฅผ ์ฌ์ฉํ์ง? ์ RF ๊ฒฐ๊ณผ๊ฐ ๋ ์ข์์ง์ง?
Averaging many highly correlated data does not lead to as large of a reduction in variance as averaging many uncorrelated quantities. In particular, this means that bagging will not lead to a substantial reduction in variance over a single tree in this setting
correlated quantities๋ฉด ํ๊ท ํด๋ variance๊ฐ ๋ณ๋ก ์ค์ด๋ค์ง ์๋๋ค?
๊ทผ๋ฐ
bagging์ highly correlated & highly accurate์ธ ๋ฐ๋ฉด
RF๋ less correlated & less accurate๊ฐ ์๋๊น?
๊ทธ๋์ variance reduction์ RF๊ฐ ํฌ์ง๋ง accuracy๋ bagging์ด ๋ ํฌ๋ค? (๊ทผ๋ฐ ํ์ค์ RF๊ฐ ๋ ์ ํ)
there by making the average of the resulting trees less variable and hence more reliable
decorrelated values๋ฅผ ํ๊ท ํ๋ ๊ฒ ์ less variable?
8.2.3. Boosting
Bagging๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก decision tree ์ธ ๋ค๋ฅธ ๊ธฐ๋ฒ์๋ ๋๋ฃจ ์ฐ์ผ ์ ์๋ค.
์๋ ์๋ฆฌ
- NULL ๋ชจ๋ธ(fx=0), NULL residual(r~i~=y~i~) ์์ฑ
- ์์ ๋๋ฌด ํ ๊ทธ๋ฃจ ์์ฑ, NULL ๋ชจ๋ธ์ ๋ํ๊ธฐ, residual ๊ณ์ฐ
- ์์ ๋๋ฌด ํ ๊ทธ๋ฃจ ์์ฑ, ๊ธฐ์กด ๋๋ฌด์ ๋ํ๊ธฐ, residual ๊ณ์ฐ
- ์์ ๋๋ฌด ํ ๊ทธ๋ฃจ ์์ฑ, ๊ธฐ์กด ๋๋ฌด์ ๋ํ๊ธฐ, residual ๊ณ์ฐ
- …
๋๋ฌด ์ฌ๋ฌ๊ฐ๋ฅผ ๋ง๋ค์ด์ ํฉ์น๋ ๊ฒ ์๋๋ผ,
ํ ๊ทธ๋ฃจ๋ฅผ ๊ณ์ ํค์ฐ๋ ๋ฐฉ์. learn slowly.
๊ด๋ จ ๋ชจ์ 3๊ฐ
- B: ๋ง๋ค ์ด ๋๋ฌด ์. ๋๋ฌด ํฌ๋ฉด overffiting ๋ ์ ์๋ค. CV ์ฌ์ฉํด์ B ๊ฒฐ์ ํ๋ค.
- $\lambda$: shrinkage parameter. ์๋ก ๋ง๋ ์์ ๋๋ฌด๋ฅผ ๊ธฐ์กด ๋๋ฌด์ ๋ํ๊ธฐ ์ ์ ์ด ์ซ์๋ฅผ ๊ณฑํด์ค๋ค.
์ฆ ๋๋ฌด๊ฐ ์๋ผ๋(learning) ์๋๋ฅผ ๊ฒฐ์ ํ๋ค.- ๋ณดํต ์ฒ์ฒํ ๋ฐฐ์ธ ์๋ก ์ต์ข ์ฑ๋ฅ์ ์ข์์ง๋ค.
- 0.01์ด๋ 0.001์ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
- d: ์๋ก ๋ง๋ค ์์ ๋๋ฌด์ ๋๋ญ์ ๊ฐ์.
- ๋ณดํต 1๋ก ๋๋๋ฐ, ์ด๋ฌ๋ฉด ๊ฐ ๋๋ฌด๋ ๊ฐ์ง๊ฐ 1๊ฐ ๋ฟ์ด๋ stump๊ฐ ๋๋ค. (stump๋ ์ด์ธ๋ฆฌ๋ ์ฉ์ด๊ฐ ์๋๋ฏ)
bagging, RF, Boosting์ด ๋๋ต ์ด๋ป๊ฒ ๋ชจ๋ธ์ ๋ง๋ ๋ค๋ ๋๋์ ์จ๋ค๋ง
๊ทธ ๊ณผ์ ์ ๋๋ ทํ๊ฒ ๊ทธ๋ฆฌ์ง๋ ๋ชป ํ๊ฒ ๋ค.
bagging, RF์์ ์ต์ข
๋ชจํ์ ํ๊ท ๊ฐ์ ์ด๋ค๋ ๋ฐ, ์ด๊ฒ ๋ฌด์จ ๋ง์ด์ง?
Boosting์์ ๊ฐ ์ค๊ฐ ๋ชจ๋ธ(๋๋ฌด)๋ฅผ ๊ธฐ์กด ๊ฒ์ ๋ํ๋ค๋๋ฐ ์ด '๋ํ๋ค'๋ ๊ฒ ๋ฌด์จ ๋ง์ด์ง?
Boosting์์ residual update๋ ์ ํ์ง? ์ด๋ค ํ์ ๊ธฐ์ค์ผ๋ก ์ฌ์ฉ๋๋ ๊ฒ๋ ์๋๊ณ .
8.3. Lab: Decision Trees
8.3.1. Fitting Classification Trees
|
|
## 'data.frame': 400 obs. of 12 variables:
## $ Sales : num 9.5 11.22 10.06 7.4 4.15 ...
## $ CompPrice : num 138 111 113 117 141 124 115 136 132 132 ...
## $ Income : num 73 48 35 100 64 113 105 81 110 113 ...
## $ Advertising: num 11 16 10 4 3 13 0 15 0 0 ...
## $ Population : num 276 260 269 466 340 501 45 425 108 131 ...
## $ Price : num 120 83 80 97 128 72 108 120 124 124 ...
## $ ShelveLoc : Factor w/ 3 levels "Bad","Good","Medium": 1 2 3 3 1 1 3 2 3 3 ...
## $ Age : num 42 65 59 55 38 78 71 67 76 76 ...
## $ Education : num 17 10 12 14 13 16 15 10 10 17 ...
## $ Urban : Factor w/ 2 levels "No","Yes": 2 2 2 2 2 1 2 2 1 1 ...
## $ US : Factor w/ 2 levels "No","Yes": 2 2 2 2 1 2 1 2 1 2 ...
## $ High : Factor w/ 2 levels "No","Yes": 2 2 2 1 1 2 1 2 1 1 ...
|
|
##
## Classification tree:
## tree(formula = High ~ . - Sales, data = Carseats)
## Variables actually used in tree construction:
## [1] "ShelveLoc" "Price" "Income" "CompPrice" "Population"
## [6] "Advertising" "Age" "US"
## Number of terminal nodes: 27
## Residual mean deviance: 0.4575 = 170.7 / 373
## Misclassification error rate: 0.09 = 36 / 400
|
|
|
|
## [1] 0.77
|
|
## [1] "size" "dev" "k" "method"
|
|
## $size
## [1] 21 19 14 9 8 5 3 2 1
##
## $dev
## [1] 74 76 81 81 75 77 78 85 81
##
## $k
## [1] -Inf 0.0 1.0 1.4 2.0 3.0 4.0 9.0 18.0
##
## $method
## [1] "misclass"
##
## attr(,"class")
## [1] "prune" "tree.sequence"
|
|
|
|
## [1] 0.775
|
|
8.3.2. Fitting Regression Trees
|
|
##
## Regression tree:
## tree(formula = medv ~ ., data = Boston, subset = train)
## Variables actually used in tree construction:
## [1] "rm" "lstat" "crim" "age"
## Number of terminal nodes: 7
## Residual mean deviance: 10.38 = 2555 / 246
## Distribution of residuals:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -10.1800 -1.7770 -0.1775 0.0000 1.9230 16.5800
|
|
|
|
|
|
##
## Regression tree:
## snip.tree(tree = tree.boston, nodes = 5L)
## Variables actually used in tree construction:
## [1] "rm" "lstat"
## Number of terminal nodes: 5
## Residual mean deviance: 13.69 = 3396 / 248
## Distribution of residuals:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -10.1800 -1.9770 -0.1775 0.0000 2.4230 16.5800
|
|
|
|
|
|
## [1] 35.28688
|
|
8.3.3. Bagging and Random Forests
- (8.3.2์ decision tree ๊ฒฐ๊ณผ์ ๋น๊ตํด๋ณด๊ธฐ)
randomForest
ํจํค์ง ํ๋๋ก ์ถฉ๋ถํ๋ค(Bagging์ random forest ์ค m=p์ธ a special case).
|
|
## randomForest 4.6-14
## Type rfNews() to see new features/changes/bug fixes.
|
|
##
## Call:
## randomForest(formula = medv ~ ., data = Boston, mtry = 13, importance = TRUE, subset = train)
## Type of random forest: regression
## Number of trees: 500
## No. of variables tried at each split: 13
##
## Mean of squared residuals: 11.39601
## % Var explained: 85.17
|
|
|
|
## [1] 23.59273
|
|
## [1] 23.66716
|
|
## [1] 19.62021
|
|
## %IncMSE IncNodePurity
## crim 16.697017 1076.08786
## zn 3.625784 88.35342
## indus 4.968621 609.53356
## chas 1.061432 52.21793
## nox 13.518179 709.87339
## rm 32.343305 7857.65451
## age 13.272498 612.21424
## dis 9.032477 714.94674
## rad 2.878434 95.80598
## tax 9.118801 364.92479
## ptratio 8.467062 823.93341
## black 7.579482 275.62272
## lstat 27.129817 6027.63740
|
|
|
|
8.3.4. Boosting
|
|
## Loaded gbm 2.1.5
|
|
## var rel.inf
## rm rm 43.9919329
## lstat lstat 33.1216941
## crim crim 4.2604167
## dis dis 4.0111090
## nox nox 3.4353017
## black black 2.8267554
## age age 2.6113938
## ptratio ptratio 2.5403035
## tax tax 1.4565654
## indus indus 0.8008740
## rad rad 0.6546400
## zn zn 0.1446149
## chas chas 0.1443986
|
|
|
|
|
|
## [1] 18.84709
|
|
## [1] 18.33455
9. Support Vector Machines
Support vector machine (SVM)
- 1990๋ ๋์ ์ปด์ธ ๋ถ์ผ์์ ๊ฐ๋ฐํ๋ค.
- one of the best “out of the box” classifier.
- “out of box”: ์์ ํ? ํน๋ณํ ์์ ์์ด ๋ฐ๋ก ์จ๋จน์ ์ ์๋ classifier.
- maximal margin classifier์ ์ผ๋ฐํ ๋ฒ์
- maximal margin classifier: linear boundary ์์ ๋๋ง ์ฌ์ฉ ๊ฐ๋ฅ
- support vector classifier: extension
- support vector machine: further extension
- class๊ฐ 2๊ฐ์ธ classification ๋ฌธ์ ํด๊ฒฐ์ ์ํด ๋ง๋ค์๋ค.
- ํ์ง๋ง 2๊ฐ๋ณด๋ค ๋ ๋ง์ class๋ฅผ ๊ฐ์ง๋ ๋ฌธ์ , ์ฌ์ง์ด regression์๋ ์ ์ฉํ ์ ์๋ค.
9.1. Maximal Margin Classifier
9.1.1. What Is a Hyperplane?
- Hyperplane: p์ฐจ์ ๊ณต๊ฐ์์๋ (p-1) ์ฐจ์์ flat affine subspace๊ฐ ๋๋ค.
- affine space: ๋ฒกํฐ๊ณต๊ฐ์ ์ (point)์ ๊ฐ๋ ์ ์ถ๊ฐํ ๊ฒ. ์์ ์ ๋ฐ๋ก ์กด์ฌํ์ง ์์.
- ์๋ก, 2์ฐจ์ ๊ณต๊ฐ์์๋ ์ง์ ์ด ๋๊ณ , 3์ฐจ์ ๊ณต๊ฐ์์๋ 2์ฐจ์ ํ๋ฉด์ด ๋๋ค.
- 4์ฐจ์ ์ด์์ด๋ฉด ์๊ฐํ๊ฐ ๊ณค๋ํ์ง๋ง ๊ฐ๋ ์ ๋๊ฐ๋ค.
- ์์์ผ๋ก๋, $\beta$~0~+$\beta$~1~X~1~+$\beta$~2~X~2~+…+$\beta$~p~X~p~=0์ ๋ง์กฑํ๋ ๋ชจ๋ X=(X~1~, …, X~p~)^T^๋ก ์ธ ์ ์๋ค.
- Hyperplane์ p์ฐจ์ ๊ณต๊ฐ์ ๋ ์์ญ์ผ๋ก ๋๋๊ฒ ๋๋ค(์ข๋ณ์ด 0๋ณด๋ค ํฐ ๊ณณ, ์์ ๊ณณ)
9.1.2. Classification Using a Separating Hyperplane
- Hyperplane์ด ๋ง๋๋ ๋ ๊ตฌ์ญ์ class๋ฅผ ๊ฐ๊ฐ 1, -1๋ก indexing.
- separating hyperplane: ํ ๊ตฌ์ญ์ ํ class๋ง ์๊ฒ ๋ง๋๋ hyperplane.
- y~i~($\beta$~0~+$\beta$~1~X~1~+$\beta$~2~X~2~+…+$\beta$~p~X~p~)>0์ ๋ง์กฑํ๋ค(y~i๋ ํด๋น class์ index).
- ์๋ํ๋ฉด ์ข๋ณ>0์ธ class๋ 1๋ก indexing, ์ข๋ณ<0์ธ class๋ -1๋ก indexingํ๊ธฐ ๋๋ฌธ.
- ์ข๋ณ ์ ๋๊ฐ์ด 0๋ณด๋ค ํด์๋ก hyperplane์์ ๋ฉ์ด์ง๋ค –> ์ด๋ ๊ตฌ์ญ์ ์ํ ์ง ๋ ์ฝ๊ฒ ๊ตฌ๋ถํ ์ ์๋ค.
9.1.3. The Maximal Margin Classifier
Maximal margin classifier (or optimal separating hyperplane)
- hyperplane์ ํ๋ ์ฐพ์๋ค๋ฉด, ์ด๋ฅผ ์ด์ง์ด์ง ์์ง์ด๋ฉด์ ๋ฌด์ํ ๋ง์ ๋๋ค์ ๋ ๋ง๋ค ์ ์๋ค.
- ์ด ์ค ์ด๋ค ๋์ ์ ํํด์ผ ํ ๊น?
- ๋ ๊ทธ๋ฃน ์ฌ์ด๋ฅผ ์์ฌ์์ฌํ๊ฒ ์ค์ณ๊ฐ๋ฏ ๋๋๊ธฐ๋ณด๋ค๋ ์ต๋ํ ๋ฉ์ฐ๊ฐ์น ๋๋๊ณ ์ถ๋ค.
- hyperplane์์ ๊ฐ point์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ์ ๋, ์ด ๊ฑฐ๋ฆฌ์ ์ต์๊ฐ์ margin์ด๋ผ ํ๋ค.
- margin์ด ์ต๋์ธ hyperplane = maximal margin classifier
- p๊ฐ ์ปค์ง๋ฉด overfittingํ๋ ๊ฒฝํฅ์ด ์๋ค.
์ฌ๊ธฐ์ support vector๋ maximal margin์ ์์นํ๋ points๋ฅผ ์๋ฏธํ๋ค.
- support: maximal margin hyperplane ์ ํ์ ๋์์ ์ฃผ๊ธฐ ๋๋ฌธ
- vector: ๊ฐ point๋ p์ฐจ์ ๊ณต๊ฐ์ ๋ฒกํฐ์ด๊ธฐ ๋๋ฌธ
์ด์ ๋ฐ๋ผ maximual margin hyperplane์ support vector์๋ง ์ํฅ์ ๋ฐ๊ฒ ๋๋ค.
๋ฐ๋๋ก ๋งํ๋ฉด support vector ์ธ ๋ค๋ฅธ ์ ๋ค์ด maximal margin ๋ฐ ์ด๋๋ฅผ ๋ฐ์ด๋๊ฒจ๋ hyperplane์ ์์ง์ด์ง ์๋๋ค.
9.1.4. Construction of the Maximal Margin Classifier
the Maximal Margin Classifier๋ฅผ ๊ตฌํ ๋ ์ฌ์ฉํ๋ ์ธ ๋ชฉ์ ํจ์
- maximize M
- margin์ ์ต๋ํํ๋ค. the Maximal Margin Classifier์ ์ ์.
- ๋ชจ๋ ์ ์์ y~i~($\beta$~0~+$\beta$~1~X~1~+$\beta$~1~X~2~+…+$\beta$~1~X~p~)>=M
- $\sum_{j = 1}^{p}$$\beta$~*j*~^2^=1
- 2์ 3์ด ํฉ์ณ์ ธ์ –> ๋ชจ๋ ๊ด์ธก๊ฐ์ ๊ทธ์ ๋ง๋ ๊ตฌ์ญ์ ์์นํ๊ณ margin์ M์ด์์ด์ด์ผ ํ๋ค.
- p์ฐจ์ ๊ณต๊ฐ์ ํ ์ ์์ hyperplane๊น์ง ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ฉด ๋ถ์๋ 2์ ์ข๋ณ(y~i~ ์ ์ธํ), ๋ถ๋ชจ๋ sqrt($\sum_{j = 1}^{p}$$\beta$~*j*~^2^)๊ฐ ๋๋ค.
- ์กฐ๊ฑด 3์ด ์๊ธฐ ๋๋ฌธ์ 2์ ์ฐ๋ณ์ด M์ผ ์ ์๋ค(์๋ค๋ฉด ์ ๋ถ๋ชจ ๊ฐ์ ๊ณ ๋ คํด์ ์ฐ๋ณ์ ๋ฐ๊ฟ์ผ๊ฒ ์ง?)
์ ์ธ ๋ชฉ์ ํจ์๋ฅผ ๋๊ณ ์ด์ฐ์ด์ฐ ์ต์ ํ ๋ฌธ์ ๋ฅผ ํ์ด hyperplane์ ๊ตฌํ๋ค(์์ธํ ๊ฑด ์๋ต)
9.1.5. The Non-separable Case
์ ์ต์ ํ ๋ฌธ์ ์ ํด๋ต(=maximal margin classifier)์ ์ปค๋
separating hyperplane ์กฐ์ฐจ ๊ตฌํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
\
–> ๋ ๊ตฌ์ญ์ ๋ฑ๋ฑ ๊ตฌ๋ถํ๋ ๊ฒ์ด ์๋ ์ผ์ถ ๊ตฌ๋ถํด๋ด๋ soft margin์ ์ ์ฉํ๋ค.
–> support vector classifier(m.m.c.๋ฅผ non-separatable case๋ก ํ์ฅ) ๋ฑ์ ์ฌ์ฉํ๋ค.
9.2. Support Vector Classifiers
9.2.1. Overview of the Support Vector Classifier
Maximal Margin Classifier๋ ๋ชจ๋ ๊ด์ธก๊ฐ์ ์ ํํ๊ฒ ๋ถ๋ฅ ํด๋ด๋ ค๊ณ ํ๋ค.
์ด๋ฐ hyperplane์ ์กด์ฌํ๊ธฐ๋ ํ๋ค๋ฟ๋๋ฌ,
์กด์ฌํ๋ค๊ณ ํด๋ ์๋์ ๊ฐ์ ํน์ง์ ๊ฐ์ง๋ ๋งค์ฐ ์๋ฏผํ ๋์ผ ๊ฒ์ด๋ค.
- ๊ด์ธก๊ฐ ํ๋ํ๋์ ๋ฏผ๊ฐํ๊ฒ ๋ฐ์ํ๋ค(์๋ฒฝ์ฃผ์)
- maximal margin์ด ๋งค์ฐ ์์์ง ์ ์๋ค(์์ฌ์์ฌ) –> ๋ถ-ํธ
- overfitting ๊ฐ๋ฅ์ฑ(์๋ฒฝ์ฃผ์)
๋ฐ๋ผ์
- ๋๋ถ๋ถ์ ๊ด์ธก๊ฐ์ ์ ๋ถ๋ฅํด๋ด๋ฉด์ Margin๋ ์ผ์ ๊ฐ ์ด์์ ์ ์งํ๋
- ๋๋ฌธ์ ๊ด์ธก๊ฐ ํ๋ํ๋์ ์ฝ๊ฒ ๋ณํ์ง ์๋(๋ ๋ฏผ๊ฐํ, robust)
๋์ด ํ์ํ๋ค.
–> support vector classifier (or soft margin classifier)
9.2.2. Details of the Support Vector Classifier
the Support Vector Classifier๋ฅผ ๊ตฌํ ๋ ์ฌ์ฉํ๋ ๋ชฉ์ ํจ์
- maximize M
- margin์ ์ต๋ํํ๋ค.
- $\sum_{j = 1}^{p}$$\beta$~*j*~^2^ = 1
- ๋ชจ๋ ์ ์์ y~i~($\beta$~0~ + $\beta$~1~X~1~ + $\beta$~1~X~2~ + … + $\beta$~1~X~p~) >= M(1-$\epsilon$~i~)
- $\epsilon$~i~ >= 0, $\sum_{i=1}^{n}$$\epsilon$~*i*~ <= *C*
Maximal Margin Classifier์ ๋ชฉ์ ํจ์์ ๋น๊ต
- 1, 2๋ฒ ์กฐ๊ฑด์ ๊ฐ๋ค.
- 1๋ฒ์ margin์ ์ต๋ํํ๊ธฐ ์ํ ๊ฒ
- 2๋ฒ์ ์กฐ๊ฑด 3์ ์ฐ๋ณ์ M์ผ๋ก ๋๊ธฐ ์ํ ๋ณด์กฐ ์ฅ์น
- 3๋ฒ ์กฐ๊ฑด์ ์ฐ๋ณ์ด M(1-$\epsilon$~i~)๋ก ๋ฐ๋์๊ณ , 4๋ฒ ์กฐ๊ฑด์ ์๋ก ์ถ๊ฐ๋๋ค.
- 3๋ฒ์ $\epsilon$~i~์ slack variable
- 4๋ฒ์ C๋ tolerance
Maximal Margin Classifier ๋ณด๋ค ๋์จํ classifier๋ฅผ ๋ง๋ค๊ธฐ ์ํด tuning parameter C(tolerance)๋ฅผ ์ถ๊ฐํ๋ค.
hyperplane๊ณผ margin์ ๊ทธ์ด์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฅํ์ ๋,
- slack์ด 0์ด๋ฉด margin ์ด์์ ๊ฑฐ๋ฆฌ์์ ์ ๋ถ๋ฅํ ๊ฒ (๋จ๋ฐฉํ๊ณ์ ์นจ๋ฒํ์ง ์๊ณ ๋จํ์ ์์น)
- slack์ด 0๋ณด๋ค ํฌ๋ฉด margin ๋ฏธ๋ง์ ๊ฑฐ๋ฆฌ์์ ์ ๋ถ๋ฅํ ๊ฒ (๋จํ์ธก DMZ์ ์์น)
- slack์ด 1๋ณด๋ค ํฌ๋ฉด ์๋ชป ๋ถ๋ฅํ ๊ฒ (ํ๋จ. ๋ถํ DMZ or ๋ถํ ์ํ ์นจ๋ฒ)
์ผ๋ก ๋ณผ ์ ์๋ค.
C๋ slack์ budget์ผ๋ก ์๊ฐํ ์ ์๋ค. C๋งํผ์ ํฌ์ธํธ๊ฐ ์๊ณ slack ๊ฐ์ ๋ฐ๋ผ ํฌ์ธํธ๊ฐ ์ฐจ๊ฐ๋๋ ํ์์ด๋ค. ํฌ์ธํธ๊ฐ 0์ด๋ผ๋ฉด slack์ ๋ชจ๋ 0์ด์ด์ผ ํ๊ณ (= Maximal Margin Classifier) ํฌ์ธํธ๊ฐ ๋ง์ ์๋ก ๋ ๋ง์, ํน์ ๋ ๊ฐ์ด ํฐ slack์ด ๋ฐ์ํ ์ ์๋ค. ์ด๋ฐ ์๋ฏธ์์ C๋ฅผ SVC์ tolerance๋ผ ๋ถ๋ฅด๋ ๊ฒ์ด๋ค.
Support Vector Classifier์์๋ hyperplane์ ๊ฒฐ์ ํ ๋ ์ํฅ์ ๋ฏธ์น๋ ๊ฐ๋ค์ support vector๋ผ ํ๋๋ฐ Maximal margin classifier ๋์๋ ๋์์ด ์กฐ๊ธ ๋ค๋ฅด๋ค.
- Maximal Margin Classifier: maximal margin์ ์์นํ๋ points($\epsilon$ = 0)
- Support Vector Classifier: maximal margin์ ํน์ ๊ทธ๋ณด๋ค ๋ ๋ฐ๋ ์์ญ์ ๊ฐ๊น์ด ์์นํ๋ points ($\epsilon$ >= 0)
C๊ฐ ํด ์๋ก support vector๊ฐ ๋ ๋ง์์ง๊ธฐ ๋๋ฌธ์ hyperplane์ variance๊ฐ ์์์ง๊ณ bias๋ ์ปค์ง๋ค.
C๊ฐ ์์ ์๋ก support vector๊ฐ ๋ ๋ง์์ง๊ธฐ ๋๋ฌธ์ hyperplane์ variance๊ฐ ์ปค์ง๊ณ , bias๋ ์์์ง๋ค.
์ฆ, C๋ฅผ ์ด์ฉํด Classifier์ bias-variance trade-off๋ฅผ ์กฐ์ ํ ์ ์๋ค.
C๋ ๋ค๋ฅธ classifier์์ ์ฌ์ฉํ ๊ฒ์ฒ๋ผ cross-validation์ผ๋ก ์ถ์ ํ๋ค.
Support vecotr classifier๋ ์ ์ฒด ๊ด์ธก๊ฐ ์ค ์ผ๋ถ(support vector)๋ง ์ฌ์ฉํด ๋ถ๋ฅํ๊ธฐ ๋๋ฌธ์ ๊ด์ธก์น๋ฅผ ๋ชจ๋ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ(e.g. linear discriminant analysis)๋ณด๋ค๋ ๊ด์ธก๊ฐ(๋๋ ์ด์๊ฐ)์ ๋ ๋ฏผ๊ฐํ๋ค.
9.3. Support Vector Machines
- 9.3.1: non-linear boundary์ผ ๋ ์ฌ์ฉํ๋ ๋ฉ์ปค๋์ฆ ์๊ฐ
- 9.3.2: ์ ๋ฉ์ปค๋์ฆ์ ์๋ํํ ๋ฐฉ๋ฒ ์๊ฐ(SVM)
9.3.1. Classification with Non-liinear Decision Boundaries
key = Enlarging the feature space
- ์ง์ ์ผ๋ก ๋ถ์กฑํ๋ฉด ๊ณก์ ์ ๋ง๋ ๋ค(2์ฐจํญ, 3์ฐจํญ, … ์ถ๊ฐ).
- ๋ชฉ์ ํจ์๋ ๋ณํ์ง ์๋๋ค(predictor+๊ณ์๋ง ๋์ด๋ ๋ฟ)
ํญ์ ๋๋ฆฌ๋ฉด ๊ณ์ฐ๋๋ ๋ถ์ฉ๋ถ์ฉ ๋๋ค.
SVM๋ฅผ ์ด์ฉํ๋ฉด ํจ์จ์ ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋๋ก feature space๋ฅผ ๊ฒฐ์ ํ ์ ์๋ค.
9.3.2. The Support Vector Machine
SVM์ feature space๋ฅผ ํ์ฅํ ๋ kernel์ ์ด์ฉํ๋ค(์์ธํ ๊ณ์ฐ์ ๋ณต์กํ๋ค. ์ง๊ธ์ feature space๋ฅผ ํ์ฅํ๋ค๋ ์์ด๋์ด๋ฅผ ์ํํ๋ค๊ณ ์๊ฐํ์).
Support vector classfier์ ๋ชฉ์ ํจ์์๋ ๊ด์ธก์น์ inner product์ธ ๋ค๋ฅธ ๊ณ์ฐ์ ํฌํจํ์ง ์์๋ค.
- inner product = <x~i~, x~*i’*~> = $\sum_{j=1}^{p}$x~*ij*~x~*i’j*~
์ด๋ inner product๋ง์ผ๋ก๋ support vector classifier์ ๋ชฉ์ ํจ์๋ฅผ ํํํ ์ ์๋ค๋ ๋ป์ด๋ค.
- f(x) = $\beta$~0~ + $\sum_{i=1}^{n}$$\alpha$~i~<*x*~*i*~, *x*~*i’*~>
์ฌ๊ธฐ์ $\alpha$~i~๋ ๊ฐ ๊ด์ธก์น๋ง๋ค ๋ถ์ฌํ๋ weighting factor ์ ๋์ ์๋ฏธ๊ฐ ๋๋ค.
support vector๊ฐ ์๋๋ผ๋ฉด hyperplane ๊ฒฐ์ ์ ์ํฅ์ด ์์ผ๋ฏ๋ก $\alpha$~i~ = 0์ด ๋๊ณ ,
support vector์์๋ ์ผ์ ๊ฐ์ด ์ ํด์ง๋ค(์๋ ์์์๋ ์ด ๊ฐ์ด $\beta$ ๊ณ์๋ค์ด ๋๋ค).
$\alpha$~i~๋ฅผ ์ถ์ ํ๊ธฐ ์ํด์๋$\binom{n}{2}$๊ฐ์ <x~i~, x~*i’*~>๋ฅผ ๊ณ์ฐํ๊ฒ ๋๋ค.
- margin์ ๊ฒฐ์ ํ๋ ค๋ฉด ๊ฐ๋ฅํ ๋ชจ๋ ํ ์์ ๊ด์ธก์น ์กฐํฉ๋ง๋ค ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํด์ ๋น๊ตํด์ผ ํ๊ธฐ ๋๋ฌธ
์์ inner product ๊ด๋ จ ํญ์ **์ผ๋ฐํ(generalization)**ํ์ฌ ์๋์ ๊ฐ์ด ํํํด๋ณด์.
- K(x~i~, x~*i’*~)
์์ K๊ฐ ๋ฐ๋ก kernel์ด๋ค. kernel์ ๋ ๊ด์ธก์น๊ฐ ์ผ๋ง๋ ๋น์ทํ์ง(ํน์ ๋ค๋ฅธ์ง)๋ฅผ ์ ๋์ ์ผ๋ก ํํํด์ค๋ค(๊ฑฐ๋ฆฌ).
kernel์ด inner product ํญ์ **์ผ๋ฐํ(generalization)**ํ๋ค๊ณ ํํํ ์ด์ ๋ ์ฌ๋ฌ ์ข
๋ฅ์ inner product ํํ์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ฆ, SVM์ ๋ค์ํ ์ข
๋ฅ์ kernel์ ์ฌ์ฉํ ์ ์๋ค๋ ์๋ฏธ๋ค.
- K(x~i~, x~*i’*~) = $\sum_{j=1}^{p}$x~*ij*~x~*i’j*~ (linear kernel)
- K(x~i~, x~*i’*~) = (1 + $\sum_{j=1}^{p}$x~*ij*~x~*i’j*~)^*d*^ (polynomial kernel)
- K(x~i~, x~*i’*~) = exp(-$\gamma$$\sum_{j=1}^{p}$(*x*~*ij*~ - *x*~*i’j*~)^2^) (radial kernel)
- $\gamma$๊ฐ ํด์๋ก non-linear
polynomial kernel์์ d๊ฐ 1์ด๋ฉด linear kernel์ด ๋๋ค(1์ ์์ํญ์ด๊ธฐ ๋๋ฌธ์ $\beta$~0~์ ํก์๋๋ค).
์์ ๊ฐ์ด ๋ค์ํ kernel์ ๋ชจ๋ ๊ฐ์ง ์ ์๋ ๊ฒ์ด support vector machine์ด๊ณ ,
SVM ์ค linear kernel์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ(ํน์ d=1์ธ polynomial kernel)๊ฐ support vector classifier์ธ ๊ฒ์ด๋ค.
SVC์ SVM์ ๋ค๋ฅธ ๊ด์ ์์ ์ค๋ช
ํ๋ ๊ฒ ๊ฐ์ ํท๊ฐ๋ฆฐ๋ค.
support vector classifier์์๋ hyperplane์์ support vector๊น์ง์ "๊ฑฐ๋ฆฌ" ๊ฐ๋
์ผ๋ก ๋ชฉ์ ํจ์๊ฐ ๋ดํฌํ๋ ์๋ฏธ๋ฅผ ์ค๋ช
ํด์คฌ๋ค.
๋ฐ๋ฉด support vector machine์์๋ inner product๋ฅผ ์ด์ฉํด ๋ชฉ์ ํจ์์ ๊ผด์ ์ค๋ช
ํด์คฌ๋ค.
๊ฒ๋ค๊ฐ
SVC์์๋ ํ ์ ๊ณผ hyperplane๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ์ด์ฉํ๋๋ฐ,
SVM์์๋ ๋ ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ค๋ฃฌ๋ค. ํ์ง๋ง ๋ ์ ์ ๊ฑฐ๋ฆฌ๋ง ๋ค๋ฃจ์ง๋ ์๋ ๊ฒ ๊ฐ๋ค.
xi์ xi'๋ ๋ ๊ด์ธก๊ฐ์ ๊ฑฐ๋ฆฌ์๊ณ , x์ xi๋ ์๋ก์ด ๊ด์ธก๊ฐ๊ณผ training points ๊ฐ์ ๊ฑฐ๋ฆฌ์๋ค.
(์ฌ๊ธฐ์ training points๋ hyperplane(ํน์ margin?)์ ์๋ฏธํ๋ ๊ฒ ๊ฐ๋ค)
SVM์์๋ SVC์ ๊ฐ์ ๊ฐ๋
(๊ฑฐ๋ฆฌ์ margin์ ๋น๊ต)์ด ์ ์ฉ๋ ์ ์๋ค๋ฉด
SVM์ kernel์
"๋ ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ํํํ๋ ๋ค์ํ ์ข
๋ฅ์ ํจ์"๋ผ๊ณ ์ดํดํ๋ ๊ฒ ํธํ ๊ฒ ๊ฐ๋ค.
SVC์์ ์ง์ ๊ผด์ hyperplane๊ณผ ํ ์ ๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ๋ kernel์ ์ฌ์ฉํ ๊ฒ์ฒ๋ผ
SVM์์๋ ๊ณก์ ๊ผด์ hyperplane๊ณผ ํ ์ ๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ๋ (๋ณต์กํ๊ฒ ์๊ธด) kernel์ ์ฌ์ฉํ ๊ฒ์ด๋ค.
9.3.3. An Application to the Heart Disease Data
9.4. SVMs with More than Two Classes
SVM์ K-class case๋ก ํ์ฅํ๋ ๋ฐฉ๋ฒ์ ๋ํ์ ์ผ๋ก ๋ ๊ฐ์ง๊ฐ ์๋ค.
- One-versus-one (or all-pairs) approach
- One-versus-all approach
9.4.1. One-Versus-One Classification
K classes ์ค ๋ ๊ฐ classes๋ฅผ ์ ํํด์ binary classificationํ๋ค.
- $\binom{k}{2}$๊ฐ SVM์ ๋ง๋ ๋ค
- ๊ฐ SVM์ K classes ์ค kth, *k’*th class์ ๋ํ two-class setting ๋ฌธ์ ๋ฅผ ํ๊ฒ ๋๋ค
- $\binom{k}{2}$๊ฐ SVM์ ๊ฐ์ง๊ณ ๊ฐ ๊ด์ธก์น๋ฅผ ์ด๋ class๋ก ๋ถ๋ฅํ๋์ง ํฌํํ๋ค
- ๊ฐ์ฅ ๋ง์ ํ๋ฅผ ์ป์ class๊ฐ ๊ฐ ๊ด์ธก์น์ ์ต์ข ๋ถ๋ฅ ๊ฒฐ๊ณผ๊ฐ ๋๋ค
9.4.2. One-Versus-All Classification
K classes ์ค kth class๋ฅผ ์ ํํด์ (kth class) vs (๋๋จธ์ง k-1 classes)์ ๋ํด binary classificationํ๋ค.
๊ด์ธก์น x๋ฅผ ๋ถ๋ฅํ๋ ค ํ๋ค๋ฉด,
- K๊ฐ SVM์ ๋ง๋ ๋ค
- ๊ฐ SVM์ kernel์์ ๊ณ์ฐํ ๊ฐ(=๊ฑฐ๋ฆฌ) ์ค ๊ฐ์ฅ ํฐ ๊ฐ์ ๊ฐ์ง SVM์ class K๋ก ๋ถ๋ฅํ๋ค
- ๊ฐ์ด ํด ์๋ก ๋ ์์ ์ ์ผ๋ก ํด๋น class์ ์ํ๊ธฐ ๋๋ฌธ
๋ณธ๋ฌธ์์๋ linear kernel ์์์ผ๋ก๋ง ์์ ํ๋๋ฐ ๊ทธ๋ฅ ์๋ฅผ ๋ ๊ฑฐ๊ฒ ์ง?
9.5. Relationship to Logistic Regression
SVM์ด ์ฒ์ ๋์จ 1990๋
๋์๋ hyperplane๊ณผ kernel ์ด์ฉํ๋ค๋ ์ ์ด ์ฐธ์ ํ๊ฒ ๋๊ปด์ก๋ค๊ณ ํ๋ค.
ํ์ง๋ง SVM์ ๊ธฐ์กด classical classification approaches์ ๊ถค๋ฅผ ๊ฐ์ดํ๋ค๋ ์ ์ด ๋ฐํ์ก๋ค.
support vector classifier์ ๋ชฉ์ ํจ์๋ ์๋์ฒ๋ผ ์ธ ์ ์๋ค(๋?).
- $\beta$~p~์ ๋ํด minimize{ $\sum_{i=1}^{n}$ max[0, 1 - *y*~*i*~*f*(*x*~*i*~)] + $\lambda$$\sum_{j=1}^{p}$$\beta$^2^~j~ }
- $\lambda$๋ variance-bias trade-off๋ฅผ ์กฐ์ ํ๋ tuning parameter๋ค(SVC์ C)
์์์ minimize ์์ Loss + Penalty ํํ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
SVM์์ loss๋ ํ ์ ์์ hyperplane๊น์ง์ ๊ฑฐ๋ฆฌ, penalty๋ tolerance์ด๋ค.
SVM์ ๊ฐ์ loss function์ hinge loss๋ผ ํ๋ค. ์ฌ๊ธฐ์ support vector๊ฐ ์๋ ๊ด์ธก๊ฐ์ loss๊ฐ์ด 0์ด ๋๋ค.
logistic regression, linear discriminant analysis, lasso regression, ridge regression ์ญ์ Loss + Penalty ํํ๋ก ์ด๋ฃจ์ด์ ธ ์์๋ค.
๋ํ ์ด๋ค ๋ฐฉ๋ฒ์์๋ non-linear kernel์ ์ฌ์ฉํ ์ ์๋ค. ๋จ์ง historical reasons ๋๋ฌธ์ non-linear kernel์ SVM์์ ๋ ์์ฃผ ์ฌ์ฉํ ๋ฟ์ด๋ค.
Logistic regression๊ณผ SVC๋ ๋น์ทํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ด๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ,
์ด๋ค์ y~i~($\beta$~0~+$\beta$~1~X~1~+$\beta$~2~X~2~+…+$\beta$~p~X~p~)์ ๋ฐ๋ฅธ Loss function ๊ฐ์ด ๋น์ทํ๊ธฐ ๋๋ฌธ์ด๋ค.
- loss๊ฐ ๋น์ทํ๋ค = ๋น์ทํ ๋ฒ์ฃผ๋ก ๋ถ๋ฅํ๋ค
- ๋ค๋ง SVC์์๋ support vector๊ฐ ์๋๋ฉด loss๊ฐ 0์ธ ๋ฐ๋ฉด,
logistic regressioin์์๋ loss๊ฐ 0์ธ ๊ฒฝ์ฐ๋ ์๋ค).
Support vector regression vs least squares regression
Loss function์ด ๋ค๋ฅด๋ค.
- least squares regression: residual sum of squares๋ฅผ ์ต์๋กํ๋ $\beta$~0~, …, $\beta$~p~
- support vector regression: ํน์ ๊ฐ ์ด์์ ์ ๋๊ฐ์ ๊ฐ์ง๋ ๊ด์ธก์น๋ง loss function์ ์ํฅ์ ๋ฏธ์น๋ค(svc์ ๋น์ท)
support vector regression ์ข ์์ธํ ์ค๋ช
ํด์ฃผ์ง --> 9.6.3์ ์กฐ๊ธ ๋์จใท
9.6. Lab: Support Vector Machines
์ฌ๊ธฐ์๋ e1071
ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ค.
LiblineaR
ํจํค์ง๋ ์๋๋ฐ, predictor๊ฐ ๊ฝค ๋ง์ ์ํฉ์์ ์ฌ์ฉํ๋ฉด ์ข๋ค.
9.6.1. Support Vector Classifier
svc: e1071::svm()
- kernel: “linear"์ผ ๋๋ svm ์ค์์๋ svc๊ฐ ๋๋ค(์ฑ ์์ ์๊ฐํ ๊ฒ๊ณผ๋ ์กฐ๊ธ ๋ค๋ฅธ ๋ชฉ์ ํจ์๋ฅผ ํผ๋ค).
- cost: tolerance ์กฐ์ ๋ชจ์. cost๊ฐ ์์ผ๋ฉด slack์ด ์ปค์ง๊ณ support vector๊ฐ ๋ง์์ง๋ค.
|
|
For classification problem,
class variable should be in factor type.
|
|
|
|
## [1] 1 2 5 7 14 16 17
|
|
##
## Call:
## svm(formula = y ~ ., data = dat, kernel = "linear", cost = 10, scale = FALSE)
##
##
## Parameters:
## SVM-Type: C-classification
## SVM-Kernel: linear
## cost: 10
##
## Number of Support Vectors: 7
##
## ( 4 3 )
##
##
## Number of Classes: 2
##
## Levels:
## -1 1
|
|
SVC with a smaller cost.
tolerance๊ฐ ๋ ๋์์ง๊ณ margin์ด ๋์ด์ง๊ณ support vector๊ฐ ๋ ๋ง์์ง ๊ฒ์ด๋ค.
|
|
|
|
## [1] 1 2 3 4 5 7 9 10 12 13 14 15 16 17 18 20
|
|
##
## Call:
## svm(formula = y ~ ., data = dat, kernel = "linear", cost = 0.1, scale = FALSE)
##
##
## Parameters:
## SVM-Type: C-classification
## SVM-Kernel: linear
## cost: 0.1
##
## Number of Support Vectors: 16
##
## ( 8 8 )
##
##
## Number of Classes: 2
##
## Levels:
## -1 1
tune()
: ์ํ๋ ๋ชจ์ ๊ฐ ๋ฒ์์์ 10-fold CV๋ฅผ ์ํํด์ค๋ค.
- error:
tune.control()
error.fun์์ ์ง์ ํ ํจ์๋ก ์๋ฌ๋ฅผ ๊ตฌํ๋ค. ์ด๋ ๊ฒ ๊ตฌํ ์๋ฌ๋ฅผ sampling.aggregate์์ ์ง์ ํ ํจ์๋ก ์์ฝํ๋ค- error.fun ๊ธฐ๋ณธ๊ฐ: classification์ misclassification rate๊ฐ, regression์์๋ MSE๊ฐ ์ฌ์ฉ๋๋ค
- sampling.aggregate ๊ธฐ๋ณธ๊ฐ: mean
- dispersion:
tune.control()
error.fun์์ ์ง์ ํ ํจ์๋ก ์๋ฌ๋ฅผ ๊ตฌํ๋ค. ์ด๋ ๊ฒ ๊ตฌํ ์๋ฌ๋ฅผ sampling.dispersion์์ ์ง์ ํ ํจ์๋ก ์์ฝํ๋ค- sampling.dispersion ๊ธฐ๋ณธ๊ฐ: sd
|
|
##
## Parameter tuning of 'svm':
##
## - sampling method: 10-fold cross validation
##
## - best parameters:
## cost
## 0.1
##
## - best performance: 0.05
##
## - Detailed performance results:
## cost error dispersion
## 1 1e-03 0.55 0.4377975
## 2 1e-02 0.55 0.4377975
## 3 1e-01 0.05 0.1581139
## 4 1e+00 0.15 0.2415229
## 5 5e+00 0.15 0.2415229
## 6 1e+01 0.15 0.2415229
## 7 1e+02 0.15 0.2415229
|
|
##
## Call:
## best.tune(method = svm, train.x = y ~ ., data = dat, ranges = list(cost = c(0.001,
## 0.01, 0.1, 1, 5, 10, 100)), kernel = "linear")
##
##
## Parameters:
## SVM-Type: C-classification
## SVM-Kernel: linear
## cost: 0.1
##
## Number of Support Vectors: 16
##
## ( 8 8 )
##
##
## Number of Classes: 2
##
## Levels:
## -1 1
predict()
: ๋ง๋ค์ด๋์ svm์ผ๋ก ์๋ก์ด ๋ฐ์ดํฐ์ class๋ฅผ ์์ธก(regression์์๋ ๊ฐ์ ์์ธก)ํ๋ค.
|
|
## truth
## predict -1 1
## -1 9 3
## 1 2 6
|
|
## truth
## predict -1 1
## -1 10 4
## 1 1 5
Linearly separableํ ๊ฒฝ์ฐ
|
|
์ด์ linearly separableํ ๊ฒฝ์ฐ๊ฐ ๋๋ค.
cost๋ฅผ ๋์ฌ์(= tolerance๋ฅผ ์์ฃผ ๋ฎ์ถฐ์) ์์ฃผ ์ฒ ์ ํ๊ฒ ๋ถ๋ฅํด๋ณด์.
|
|
##
## Call:
## svm(formula = y ~ ., data = dat, kernel = "linear", cost = 1e+05)
##
##
## Parameters:
## SVM-Type: C-classification
## SVM-Kernel: linear
## cost: 1e+05
##
## Number of Support Vectors: 3
##
## ( 1 2 )
##
##
## Number of Classes: 2
##
## Levels:
## -1 1
|
|
training ๋ฐ์ดํฐ๋ฅผ ์๋ฒฝํ ๋ถ๋ฅํด๋์ง๋ง,
margin์ด ๋งค์ฐ ์๋ค(ํ๋์ support vector์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋๊ทธ๋ผ๋ฏธ ์ฌ์ด ๊ฑฐ๋ฆฌ๊ฐ ๋งค์ฐ ๊ฐ๊น๋ค).
๋๋ฌธ์ test error๋ ๋์ ์ ์๋ค.
cost๋ฅผ ๋ฎ์ถฐ๋ณด์.
|
|
##
## Call:
## svm(formula = y ~ ., data = dat, kernel = "linear", cost = 1)
##
##
## Parameters:
## SVM-Type: C-classification
## SVM-Kernel: linear
## cost: 1
##
## Number of Support Vectors: 7
##
## ( 4 3 )
##
##
## Number of Classes: 2
##
## Levels:
## -1 1
|
|
๋ถํ์ ํ ๊ฐ๊ฐ ํ๋์์ผ๋ก ์๋ชป ๋ถ๋ฅ๋์ง๋ง, ๊ทธ ๋์ margin์ด ๋ ์ปค์ก๋ค.
cost๊ฐ ๋งค์ฐ ๋์ ๊ฒฝ์ฐ๋ณด๋ค test error๋ ๋ ๋ฎ์ ๊ฒ์ด๋ค!
9.6.2. Support Vector Machine
Non-linear kernel์ ์ฌ์ฉํ๋ ค๋ฉด
svm()
ํจ์์ kernel
์ธ์๋ก “linear"๋์ ๋ค๋ฅธ ๊ฒ์ ์ฌ์ฉํ๋ค.
- “polynomial”:
d
์ธ์๋ฅผ ์ด์ฉํด ๋คํญ์ ์ฐจ์๋ฅผ ์กฐ์ ํ๋ค - “radial”: ```gamma``์ธ์๋ฅผ ์ด์ฉํด $\lambda$๋ฅผ ์กฐ์ ํ๋ค($\lambda$๊ฐ ์์ ์๋ก ์ ํ์ ๊ฐ๊น๋ค)
|
|
|
|
|
|
##
## Call:
## svm(formula = y ~ ., data = dat[train, ], kernel = "radial", gamma = 1,
## cost = 1)
##
##
## Parameters:
## SVM-Type: C-classification
## SVM-Kernel: radial
## cost: 1
##
## Number of Support Vectors: 31
##
## ( 16 15 )
##
##
## Number of Classes: 2
##
## Levels:
## 1 2
Cost๋ฅผ ๋์ฌ๋ณด์.
- ๋์ฑ ๊ตฌ๋ถ๊ตฌ๋ถํด์ง๊ณ
- overfitting ๊ฐ๋ฅ์ฑ์ด ๋์์ง๋ค
|
|
SVC์์ ํ๋ ๊ฒ์ฒ๋ผ,
tune()
ํจ์(10-fold cross validation ์ํํด์ค๋ค)๋ฅผ ์ด์ฉํด
์ต์ ์ $\lambda$์ cost๊ฐ์ ์ฐพ์๋ณด์.
|
|
## starting httpd help server ... done
|
|
##
## Parameter tuning of 'svm':
##
## - sampling method: 10-fold cross validation
##
## - best parameters:
## cost gamma
## 1 0.5
##
## - best performance: 0.07
##
## - Detailed performance results:
## cost gamma error dispersion
## 1 1e-01 0.5 0.26 0.15776213
## 2 1e+00 0.5 0.07 0.08232726
## 3 1e+01 0.5 0.07 0.08232726
## 4 1e+02 0.5 0.14 0.15055453
## 5 1e+03 0.5 0.11 0.07378648
## 6 1e-01 1.0 0.22 0.16193277
## 7 1e+00 1.0 0.07 0.08232726
## 8 1e+01 1.0 0.09 0.07378648
## 9 1e+02 1.0 0.12 0.12292726
## 10 1e+03 1.0 0.11 0.11005049
## 11 1e-01 2.0 0.27 0.15670212
## 12 1e+00 2.0 0.07 0.08232726
## 13 1e+01 2.0 0.11 0.07378648
## 14 1e+02 2.0 0.12 0.13165612
## 15 1e+03 2.0 0.16 0.13498971
## 16 1e-01 3.0 0.27 0.15670212
## 17 1e+00 3.0 0.07 0.08232726
## 18 1e+01 3.0 0.08 0.07888106
## 19 1e+02 3.0 0.13 0.14181365
## 20 1e+03 3.0 0.15 0.13540064
## 21 1e-01 4.0 0.27 0.15670212
## 22 1e+00 4.0 0.07 0.08232726
## 23 1e+01 4.0 0.09 0.07378648
## 24 1e+02 4.0 0.13 0.14181365
## 25 1e+03 4.0 0.15 0.13540064
9.6.3. ROC Curves
ROCR
ํจํค์ง ์ฌ์ฉ
|
|
Support vector regressor์ support vector machine
- support vector regressor๋ $\beta$~0~ + $\beta$~1~X~1~ + $\beta$~1~X~2~ + … + $\beta$~1~X~p~๋ฅผ predicted value๋ก ์ฌ์ฉํ๋ค.
- support vector machine์ ์ ๊ฐ์ ๋ถํธ๋ฅผ ์ด์ฉํด class label์ ๋ถ์ฌํ๋ค.
svm()
์ ์ ๋ ฅํ๋ response variable์ด numeric์ด๋ฉด svr, factor๋ฉด svm
svm()
์์๋…
- decision.values = TRUE๋ก ๋๋ฉด, class๊ฐ ์๋ fitted value๋ฅผ ์ป์ ์ ์๋ค
predict()
๊ฒฐ๊ณผ ์ค decision.values ์์ฑ์ fitted value๊ฐ ๋ํ๋ ์๋ค
|
|
๊ฝค ์ ๋ง์ถ๋ ๋ฏํ๋ค. ์ฌ๊ธฐ์ $\lambda$๋ฅผ ๋์ด๋ฉด(more non-linear) training fitness๋ฅผ ๋ ๋์ผ ์ ์๋ค.
|
|
$\lambda$๋ฅผ ๋์์ ๋ ํจ์ฌ ์ ํํ ๊ฒ์ฒ๋ผ ๋ณด์ธ๋ค.
๊ทธ๋ฌ๋ test error๋…
|
|
9.6.4. SVM with Multiple Classes
Class๊ฐ ์ธ ๊ฐ ์ด์์ด๋ฉด svm()
์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก one-versus-one approach๋ฅผ ์ฌ์ฉํ๋ค.
|
|
|
|
9.6.5. Application to Gene Expression Data
|
|
## [1] "xtrain" "xtest" "ytrain" "ytest"
|
|
## List of 4
## $ xtrain: num [1:63, 1:2308] 0.7733 -0.0782 -0.0845 0.9656 0.0757 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : chr [1:63] "V1" "V2" "V3" "V4" ...
## .. ..$ : NULL
## $ xtest : num [1:20, 1:2308] 0.14 1.164 0.841 0.685 -1.956 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : chr [1:20] "V1" "V2" "V4" "V6" ...
## .. ..$ : NULL
## $ ytrain: num [1:63] 2 2 2 2 2 2 2 2 2 2 ...
## $ ytest : num [1:20] 3 2 4 2 1 3 4 2 3 1 ...
|
|
##
## 1 2 3 4
## 8 23 12 20
feature ๊ฐ์(2308)๊ฐ train ๋ฐ์ดํฐ ๊ฐ์(63)์ ๋นํด ํจ์ฌ ๋ง๋ค.
์ด๋ฐ ๊ฒฝ์ฐ ๊ตณ์ด non-linear kernel์ ์ฌ์ฉํ ํ์ ์๋ค.
- ๋ฐ์ดํฐ๊ฐ ์ ๊ณ feature๊ฐ ๋ง์ผ๋ฉด hyperplane์ ์ฐพ๊ธฐ ์ฝ๋ค(๊ณ ํ๋ค…).
|
|
##
## Call:
## svm(formula = y ~ ., data = dat, kernel = "linear", cost = 10)
##
##
## Parameters:
## SVM-Type: C-classification
## SVM-Kernel: linear
## cost: 10
##
## Number of Support Vectors: 58
##
## ( 20 20 11 7 )
##
##
## Number of Classes: 4
##
## Levels:
## 1 2 3 4
|
|
##
## 1 2 3 4
## 1 8 0 0 0
## 2 0 23 0 0
## 3 0 0 12 0
## 4 0 0 0 20
|
|
##
## pred.te 1 2 3 4
## 1 3 0 0 0
## 2 0 6 2 0
## 3 0 0 4 0
## 4 0 0 0 5