Decision Tree
2021-1ํ๊ธฐ, ๋ํ์์ โํต๊ณ์ ๋ฐ์ดํฐ๋ง์ด๋โ ์์ ์ ๋ฃ๊ณ ๊ณต๋ถํ ๋ฐ๋ฅผ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ์ง์ ์ ์ธ์ ๋ ํ์์ ๋๋ค :)
๐ฅ ์ด๋ฒ ํฌ์คํธ๋ <Decision Tree>๋ฅผ ์ํ์ ์ผ๋ก ์ ์ํ๋ ๋ด์ฉ์ ๋ค๋ฃน๋๋ค. DT์ ๋ํ ์ ์์ ๊ฐ๋ ์ ๋ค๋ฅธ ํฌ์คํธ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์ ๐
DT Estimation
DT๋ฅผ ์ด๋ฃจ๋ ๊ฐ terminal node ๋๋ leaf node๋ DT๊ฐ ๋ถํ ํ๋ region $R_i$์ ๋์๋๋ค.
DT๋ regression๊ณผ classification ๋ ๋ฌธ์ ์์๋ ๋ชจ๋ ์ ์ฉํด๋ณผ ์ ์๋๋ฐ, ๊ฐ ๊ฒฝ์ฐ์ ๋ํ DT estimation function $f$๋ ์๋์ ๊ฐ์ด ์ ์๋๋ค.
1. DT estimation in regression problem
\[\hat{f}(x) = \sum^M_{m=1} \hat{c}_m \cdot I(x\in R_m)\]where
\[\hat{c}_m = \frac{1}{n_m} \sum_{x_i \in R_m} y_i\]$n_m$ is the # of training data in $R_m$.
๊ทธ๋ฅ terminal node์ ์ํ๋ training data์ ํ๊ท ์ผ๋ก estimation ํ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
2. DT estimation in classification problem
\[\hat{P}(Y=k \mid X=x) = \hat{p}_{mk} = \frac{1}{n_m} \sum_{x_i \in R_m} I(y_i = k) \quad \text{for} \quad x \in R_m\]Then, for given $X = x$, estiation $\hat{Y}$ is
\[\hat{Y} = \underset{k}{\text{argmax}} \; \hat{P}(Y=k \mid X=x)\]๊ทธ๋ฅ ๋ค์๊ฒฐ์ ์ํด estimation ํ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
DT์ ์ฅ์ ์ ์ข์ interpretation power๋ฅผ ์ ๊ณตํ๋ค๋ ๊ฒ์ด๋ค! ๋๋ก๋ ๊ฒฐ์ ์ ๋ํ ์ด์ ๋ฅผ ์ค๋ช ํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ, DT๋ ์ด๋ฐ ์ํฉ์์ ์ข์ interpretation insight๋ฅผ ์ ๊ณตํ๋ค.
ex: a bank must explain reasons for rejection to a loan applicant.
DT Construction
DT๋ ์๋ 4๊ฐ์ง ๊ณผ์ ์ ํตํด ๋ง๋ค์ด์ง๋ค.
1. Growing
- Find an optimal splitting rule for each node and grow the tree.
- Stop growing if stopping rule is satisfied.
2. Prunning
- Remove nodes which increase prediction error or which have inappropriate inference rules.
(Complexity ๊ฐ์! ๐)
โป # of terminal nodes๋ DT model์ complexity์ ์ํฅ์ ์ค๋ค.
3. Validation
- Validate to decide how much we prune the tree. (Overfitting๊ณผ ๊ด๋ จ)
4. Interpretation & Prediction
- Interpret the constructed tree & Predict!
Splitting Rule
DT๋ฅผ ๋ง๋๋ ๊ฐ ๊ณผ์ ์์, ์๋ ๋ ๊ฐ์ง๋ฅผ ๊ฒฐ์ ํด์ค์ผ ํ๋ค.
- splitting variable $X_j$
- splitting criterion
์ด๋, $X_j$๊ฐ continuous์ธ์ง categorical์ธ์ง์ ๋ฐ๋ผ criterion์ ๋ง๋๋ ์ํฉ์ด ๋ฌ๋ผ์ง๋ค.
Splitting Rule: Regression
Assume that all input variables are continuous and
\[R_1 (j, s) = \left\{ X : X_j \le s \right\} \quad \text{and} \quad R_2(j, s) = \left\{ X : X_j > s \right\}\]splitting crieterion์ ์ป๊ธฐ ์ํด splitting variable $X_j$์ split point $s$๋ฅผ ๊ฒฐ์ ํ๋ ๋ฌธ์ ๋ ์๋์ ์์ ํธ๋ ๊ฒ๊ณผ ๋์น๋ค.
\[\min_{j, s} \left[ \min_{c_1} \left( \sum_{x_i \in R_1(j, s)} (y_i - c_1)^2\right) + \min_{c_2} \left( \sum_{x_i \in R_2 (j, s)} (y_i - c_2)^2 \right) \right]\]์ด๋, $c_1$๊ณผ $c_2$๋ $R_1(j, s)$์ $R_2(j, 2)$์ ์ํ๋ data์ ๋ํ ํ๊ท ๊ฐ์ด๋ค.
์์ ์์ ์ ์ดํด๋ณด๋ฉด, ๊ฒฐ๊ตญ โtraining errorโ๋ฅผ ์ต์ํํ๋ $X_j$์ $s$๋ฅผ ์ฐพ๋ ๋ฌธ์ ์์ ๋ณผ ์ ์๋ค!
Splitting Rule: Classification
Classification๋ ๋ง์ฐฌ๊ฐ์ง๋ก โtraining errorโ๋ฅผ ์ต์ํํ๋ ์๋์ ์์ ํ์ด splitting criterion์ ๊ตฌํ ์ ์๋ค.
\[\min_{j, s} \left[ \min_{k_1} \left( \sum_{x_i \in R_1(j, s)} I(y_i \ne k_1) \right) + \min_{k_2} \left( \sum_{x_i \in R_2(j, s)} I(y_i \ne k_2) \right) \right]\]๋ง์ฐฌ๊ฐ์ง๋ก ์ด๋, $k_1$๊ณผ $k_2$๋ $R_1(j, s)$, $R_2(j, s)$์ ์ํ๋ data์์ ๋ค์๊ฒฐ์ ์ํด ๊ตฌํ label์ด๋ค.
Classification DT์์๋ Splitting์ด ์ข์์ง ์ ์ข์์ง <Impurity>๋ฅผ ํตํด ์ธก์ ํด๋ณผ ์ ์๋ค. ๊ทธ๋์ ์์ ๊ฒฝ์ฐ๋ zero-one loss๋ฅผ ํตํด criterion์ ๊ฒฐ์ ํ๋๋ฐ, ์ด ๋ฐฉ์์ ๊ณง <misclassification error>๋ผ๋ impurtiy measure๋ฅผ ์ฌ์ฉํ ๊ฒ๊ณผ ๊ฐ๋ค. ๋ค๋ฅธ impurity measure๋ฅผ ์ฃผ์ด ๋์ผํ training data๋ผ๋ ๋ค๋ฅธ DT๋ฅผ ์ป์ ์ ์๋ค!
Impurity Measures
1. Misclassification Error
\[\frac{1}{n_m} \sum_{i \in R_m} I(y_i \ne k_m) = 1 - \hat{p}_{mk_m}\]2. Gini Index
\[\sum^K_{k = 1} \hat{p}_{mk} (1 - \hat{p}_{mk})\]3. Cross-Entropy or Deviance
\[- \sum^K_{k=1} \hat{p}_{mk} \log \hat{p}_{mk}\]Pruning
DT๋ splitting์ ๊ณ์ํ๋ค๋ฉด, tratining error๋ 0์ผ๋ก ์๋ ดํ๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ overfitting์ ์ผ๊ธฐํ๊ณ , model์ generalization์ ๋จ์ด๋จ๋ฆฐ๋ค. ๊ทธ๋์ node์ด ๊ฐฏ์๋ฅผ ์ค์ด๋ pruning ๊ณผ์ ์ด ํ์ํ๋ค.
Let $T_0$ be a large tree obtatined by splitting.
A subtree $T \subset T_0$ is any tree that can be obtained by pruning.
let $n_m = \left| \{ i : x_i \in R_m \} \right|$ and \(\displaystyle\hat{c}_m = \frac{1}{n_m} \sum_{x_i \in R_m} y_i\).
1. In a regression,
\[Q_m (T) = \frac{1}{n_m} \sum_{x_i \in R_m} (y_i - \hat{c}_m)^2\]2. In a classication (ver. Gini Index)
\[Q_m(T) = \sum^K_{k=1} \hat{p}_{mk} (1-\hat{p}_{mk})\]Then, cost complexity pruning is defined by
\[C_{\alpha}(T) = \left(\sum^{|T|}_{m=1} n_m Q_m(T)\right) + \alpha |T|\]where $\alpha > 0$ is a tuning parameter.
$C_\alpha(T)$์ ๋ํ ์์ ์ ์ดํด๋ณด๋ฉด, โtraining errโ์ โcomplexity paneltyโ์ ๋ํ ํ ์ด ์์์ ํ์ธํ ์ ์๋ค.
์ด์ , ์์ $C_\alpha(T)$๋ฅผ ๊ธฐ์ค์ผ๋ก Best Pruning Subtree $T_\alpha$๋ฅผ ๊ฒฐ์ ํ ์ ์๋ค.
\[T_\alpha = \underset{T}{\text{argmin}} \; C_{\alpha} (T) \quad \text{where} \quad T \subset T_0\]์์ ๊ฐ์ ์ ๊ทผ๋ฒ์ <weakest link pruning>๋ผ๊ณ ๋ ํ๋ค.
tuning parameter $\alpha$๋ generalization error๋ฅผ ์ต์ํํ๋ ๊ฒ์ ๊ณจ๋ผ์ ์ฌ์ฉํ๋ฉด ๋๋ค๊ณ ํ๋ค. (Cross Validation์ ํ์ฉํ๋ ๊ฒ ๊ฐ๋ค.)
Sensitivity & Specificity
Medical Classification Problem์ ๋ค๋ฃจ๋ ์ํฉ์์ $Y=1$์ด disease state๋ผ๊ณ ๊ฐ์ ํ์. ์ด๋, <sensitivity>์ <specificity>๋ ์๋์ ๊ฐ์ด ์ ์๋๋ค.
Definition. Sensitivity
โProbability of predicting disease given true disease.โ
True Positive Rate๋ฅผ ์๋ฏธํ๋ค. ๋๋ <Recall>์ด๋ผ๊ณ ํ๋ค.
\[P(\hat{Y} = 1 \mid Y = 1)\]Definition. Specificity
โProbability of predicting non-disease given true non-disease.โ
True Negative Rate๋ฅผ ์๋ฏธํ๋ค.
\[P(\hat{Y} = 0 \mid Y = 0)\]ROC curve
์์์ ์ดํด๋ณธ DT๋ ๋ค์๊ฒฐ(majority vote)์ ์ํด prediction์ ๊ฒฐ์ ํ๋ค. ๊ทธ๋ฌ๋ ๋ค์๊ฒฐ ๋ฐฉ์ ์ธ์๋ ์ด๋ค threshold ๊ฐ์ ์ ํด, spam/normal์ ๋ถ๋ฅํด๋ณผ ์๋ ์๋ค.
\[\hat{Y} = I\left( \hat{P}(Y=1 \mid X=x) > c \right)\]for some $c > 0.5$.
์ด๋, ์ฐ๋ฆฌ๋ classiciation rule $c$์ ๊ฐ์ ๋ฐ๊ฟ๊ฐ๋ฉฐ, โsensitivity-specificityโ๋ฅผ ์ธก์ ํ ์ ์๋๋ฐ, ์ด๊ฒ์ pair๋ก ์ผ์ plot์ผ๋ก ๊ทธ๋ฆฐ ๊ฒ์ด ๋ฐ๋ก <ROC curve; Receiver Operating Characteristic curve>๋ค.
ps) ROC curve๋ classification problem์์๋ง ์ ๋ํ ์ ์๋ค!
์ด๋, ROC curve์ <AUC; Area Under the Curve>๋ฅผ ํตํด ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๋น๊ต ํ๊ฐํ ์๋ ์๋ค.
DT: ์ฅ์ & ๋จ์
Advantages.
- Robust to input outliers
- Non-parameteric model
Disadvantages.
- Poor prediction accuracy with continuous output compared to linear regression model.
- When depth is too large, not only accuracy but interpretation are bad ๐ฅ
- Heavy computation cost
- Unstable
- Absence of linearity
- Absence of Main effects: all nodes are high order interactions.
- Discontinuity
์ด์ด์ง๋ ์ฑํฐ์์๋ ํต๊ณ์ ๋ชจ๋ธ์ ๊ฝ๐น์ด๋ผ๊ณ ํ ์ ์๋ <Boosting>์ ๋ํด ๋ค๋ฃฌ๋ค. ๋ด์ฉ์ด ์ฝ์ง ์์ง๋ง, ํ๋ ํต๊ณ์ ํต์ฌ์ด๊ธฐ ๋๋ฌธ์ ์ ์ตํ๋ฌ์ผ ํ๋ ํ ํฌ๋์ด๋ค.