์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- dropout
- ๋ฌธ์์ด
- lazy propagation
- dfs
- ๊ฐ๋์ ๋ง๋ก
- ๋ฏธ๋๋_ํ์ฌ์_๊ณผ๊ฑฐ๋ก
- pytorch
- ์๊ณ ๋ฆฌ์ฆ
- ์๋ฐ์คํฌ๋ฆฝํธ
- ํ๊ณ ๋ก
- back propagation
- ์ด๋ถ ํ์
- ํ๋ก์ด๋ ์์ฌ
- ์ฐ์ ์์ ํ
- ๋ถํ ์ ๋ณต
- ํฌ๋ฃจ์ค์นผ
- object detection
- Overfitting
- ๋๋น ์ฐ์ ํ์
- 2023
- DP
- ๋ค์ต์คํธ๋ผ
- BFS
- c++
- ์กฐํฉ๋ก
- NEXT
- ๊ฐ๋์_๋ง๋ก
- tensorflow
- ์ธ๊ทธ๋จผํธ ํธ๋ฆฌ
- ๋ฐฑํธ๋ํน
- Today
- Total
Doby's Lab
Entropy์ Gini Impurity์ ๋ํ์ฌ: Decision Tree๋ ์ด๋ป๊ฒ ๋ง๋ค์ด์ง๊น, Classification ๋ณธ๋ฌธ
Entropy์ Gini Impurity์ ๋ํ์ฌ: Decision Tree๋ ์ด๋ป๊ฒ ๋ง๋ค์ด์ง๊น, Classification
๋๋น(Doby) 2023. 7. 27. 23:13๐ Intro
Decision Tree (CART)๋ผ๋ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ๋ฐ์ดํฐ๋ฅผ Root Node์ ์ ๋ฌํ๋ฉด์ ์๋ง์ Node๋ฅผ ๊ฑฐ์น๋ฉฐ ์ฌ๋ฌ ์กฐ๊ฑด๋ค๋ก ํํฐ๋งํ์ฌ Terminal Node(Leaf Node)์ ๋์ฐฉํ๊ณ , '์ด๋ค Class์ธ์ง (Classification)', '์ด๋ค ๊ฐ์ธ์ง (Regression)'์ ํ๋ณํฉ๋๋ค. ์ ํ๋๋ฅผ ๋์ด๊ธฐ ์ํด์๋ ์กฐ๊ฑด๋ค์ด ๋ง๊ธฐ๋ ํด์ผ๊ฒ ์ง๋ง ํ๋ณํ๋ ๊ธฐ์ค(Criterion)์ด ๋ช ํํด์ผ ํฉ๋๋ค.
์๋ Decision Tree Visualization์์ ๊ทธ ๊ธฐ์ค์ Root Node์ ์๋ petal width <= 0.75
๋ Right-Child Node์ ์๋ petal length <= 4.75
์ ๊ฐ์ ํ
์คํธ๋ค์ ๋งํฉ๋๋ค.
๊ทธ๋์ ์ด๋ฒ ํฌ์คํธ์์ ์์๋ณผ ๊ฒ์ 'Decision Tree Node์ ์๋ ์กฐ๊ฑด๋ค์ ๋ฌด์จ ๊ธฐ์ค์ผ๋ก ๋ง๋ค์ด์ง๋๊ฐ?'์ ๋ํด ์์๋ด ๋๋ค.
๐ ๋ถ์๋, ๋ถํ์ค์ฑ
์ข์ ๊ธฐ์ค์ผ๋ก ํ๋ณ๋๊ธฐ ์ํด์๋ ๊ทธ ๊ธฐ์ค์ด '๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ๋๋์๋๊ฐ'์ ๋ํด ์ง์คํด์ผ ํฉ๋๋ค. ํธ๋ฆฌ์ ๊ด์ ์์ ๋งํ์๋ฉด, Parent Node๋ก๋ถํฐ ๋ถํ ๋ Child Node์์ ๋ฐ์ดํฐ๋ ๋ ๋ช ํํด์ก๋๊ฐ?๋ฅผ ์์๋ณด๋ฉด ๋ฉ๋๋ค.
'๋ ๋ช ํํด์ก๋๊ฐ'์ ๋ํ ์๋ฏธ๋ ์๋ฅผ ๋ค์ด ์ค๋ช ํ๊ฒ ์ต๋๋ค.
Class๊ฐ A, B๊ฐ ์๊ณ , ๊ทธ์ ๋ํ ๊ฐ ๋ฐ์ดํฐ๊ฐ 10๊ฐ์ฉ ์กด์ฌํ๊ณ , Decision Tree๋ฅผ ํตํด ํ์ต์ ํ๋ค๊ณ ๊ฐ์ ํ๊ฒ ์ต๋๋ค.
Parent Node: {A = 10, B = 10}
๊ทธ๋ฆฌ๊ณ , ํน์ ํ Criterion์ ์ํด ์๋์ ๊ฐ์ด Split ๋์๋ค๊ณ ํฉ์๋ค.
Left Child Node: {A = 5, B = 5}, Right Child Node: {A = 5, B = 5}
์ ๋๋์ด์ง ๊ฒ ๋ง๋์? ์๋๋๋ค. ์ ๋๋์ด์ก๋ค๋ฉด Child Node์์ ์ด Node๋ ์ด๋ ํ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋์ง์ ๋ํ ์ ๋ช ๋๊ฐ ๋๋ ทํ์ด์ผ ํฉ๋๋ค. ์๋์ ๊ฐ์ ๊ฒฝ์ฐ์ Node๊ฐ ์ด๋ค ์ ๋ณด์ฑ์ ๊ฐ์ง๊ณ ์๋์ง ๋ช ํํด ๋ณด์ด์ฃ .
Left Child Node: {A = 8, B = 2}, Right Child Node: {A = 2, B = 8}
- ์ด์ฒ๋ผ Node๊ฐ ์ด๋ค ์ ๋ณด์ฑ์ ๊ฐ์ก๋์ง ๋ชจ๋ฅด๊ฒ ๊ฑฐ๋, Node๊ฐ ๊ฐ์ง Class ๋น์จ์ด ๊ท ๋ฑํด ๋ณด์ผ ๋ ํด๋น Node์ ๋ถ์๋๊ฐ ๋๋ค๊ณ ํ๊ณ ,
- ํน์ ํ๊ฒ ์ด๋ค Class์ ๋น์จ์ด ๋์ ๋ณด์ธ๋ค, ์ด Node๋ ์ด ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ค๊ณ ํ ์ ์์ ๋ ํด๋น Node์ ๋ถ์๋๊ฐ ๋ฎ๋ค๊ณ ํฉ๋๋ค.
๊ทธ๋์, Decision Tree๋ Node๋ฅผ Split ํ์ฌ ํ์ Node๋ค์ ๋ํ ๋ถ์๋๋ฅผ ์ค์ฌ๊ฐ๋ฉด์ ํ์ Node๋ค์ ์ ๋ณด์ ๋ถํ์ค์ฑ์ ์ค์ด๋ ๊ฒ์ด ๋ชฉํ์ ๋๋ค. ์๋์์๋ ์ ๋ณด์ ๋ถํ์ค์ฑ์ ๋ํ๋ผ ์ ์๋ 2๊ฐ์ง ์ฒ๋ Entropy์ Gini Impurity์ ๋ํด ์์๋ด ์๋ค.
๐ Entropy
์์์ ๋งํ๋ฏ์ด ์ ๋ณด์ ๋ถํ์ค์ฑ์ด ๋์ ๊ฒฝ์ฐ๋ ๋ ธ๋๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ฐ์ดํฐ๊ฐ ๊ฑฐ์ ๊ท ๋ฑํ ๊ฒฝ์ฐ์ ๋๋ค. ์ฆ, ๋ฐ๋๋ก ๋ฎ์ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํ๋ฉด ๊ทน๊ณผ ๊ทน์ผ๋ก ๊ฑฐ์ Proportion์ ์ฐจ์งํ์ง ์๊ฑฐ๋, ๋๋ถ๋ถ์ Proportion์ ์ฐจ์งํ๋ Distribution์ด ๋ถํ์ค์ฑ(= ๋ถ์๋)์ด ๋ฎ์ ๊ฒฝ์ฐ๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
๊ทธ๋ฌํ ๋ถํ์ค์ฑ์ ์ ๋ํ๋ผ ์ ์๋ Criterion ์ค ํ๋๋ Entropy์ ๋๋ค. ํจ์์ ๋ํด์ ๋ฐ๋ก ์์๋ณด๋ฉด ์๋์ ๊ฐ์ด ์๊ฒผ์ต๋๋ค.
$$ Entropy = -\sum_{i=1}^{n}p_{i}\log_{2}p_{i} $$
- \(p_{i}\) = ํ์ฌ Node์์ ๊ฐ์ง๊ณ ์๋ ๋ฐ์ดํฐ ์งํฉ์ ๋ํด i-th class์ ๋น์จ์ ๋ํ๋ ๋๋ค.
- \(n\) = class์ ๊ฐ์
์ 2๊ฐ์ง ์ผ์ด์ค๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํด ๋ด ์๋ค.
- {A = 5, B = 5}
$$ -(\frac{5}{10}\log_{2}(\frac{5}{10}) + \frac{5}{10}\log_{2}(\frac{5}{10})) = -(-0.5 -0.5) = 1 $$
- {A = 8, B = 2}
$$ -(\frac{8}{10}\log_{2}(\frac{8}{10}) + \frac{2}{10}\log_{2}(\frac{2}{10})) = -(-0.2568 - 0.4642) = 0.721 $$
ํด๋์ค์ ๋น์จ์ด ๊ทน์ ์ผ์๋ก ์ํธ๋กํผ๊ฐ ๋ฎ๊ฒ ๋์ต๋๋ค. ์ด๊ฒ ๊ฐ๋ฅํ ์ด์ ๋ Geogebra๋ฅผ ํตํด \(-x\log_{2}{x} (0 \leq x \leq 1)\)์ ๊ตฌํํด ๋ดค์ต๋๋ค.
0๊ณผ 1์ ๊ทผ์ ํ ์๋ก 0์ ๊ฐ๊น์์ง๋ ๊ฒ์ ๋ณด์ ๋ฐ์ดํฐ์์ ํด๋์ค์ ๋น์จ์ด ๊ทน๋ช ํ ์๋ก ๋ถํ์ค์ฑ์ด ์ค์ด๋ ๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
๐ Gini Impurity
๊ทธ๋ค์์ Gini Impurity๋ผ๋ Criterion์ ๋๋ค. Entropy์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฎ์์๋ก ์ ๋ณด์ ๋ถ์๋๊ฐ ๋ฎ๊ณ , Node์ ์์์ฑ์ด ๋์ ๋ป์ ๊ฐ์ง๋๋ค.
$$ \sum_{i=1}^{n}p_{i}(1-p_{i}) $$
- ๋ณ์์ ๋ํ ์ค๋ช ๋ ์ํธ๋กํผ์ ๊ฐ์ต๋๋ค.
- \(p_{i}\) = ํ์ฌ Node์์ ๊ฐ์ง๊ณ ์๋ ๋ฐ์ดํฐ ์งํฉ์ ๋ํด i-th class์ ๋น์จ์ ๋ํ๋ ๋๋ค.
- \(n\) = class์ ๊ฐ์
ํจ์๋ Entropy์ ๋น์ทํ๊ฒ ์๊ฒผ๋๋ฐ Geogebra๋ก ๊ทธ๋ ค๋ณด์์ต๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก 0๊ณผ 1์ ๊ทผ์ ํ ์๋ก Impurity๊ฐ ๋ฎ์์ง์ ๋ฐ๋ผ ๋ถํ์ค์ฑ์ด ์ค์ด๋ ๋ค๋ ํน์ง์ด ์์ต๋๋ค.
๐ Information Gain
์ด๋ฌํ ์ฒ๋๋ฅผ ํตํด ๊ฐ ๋ ธ๋์ ๋ฐ์ดํฐ ์งํฉ์ ๋ํ ํด๋์ค์ ๋น์จ์ ํตํด Entropy์ Gini Impurity๋ฅผ ๊ตฌํ ์ ์์์ต๋๋ค.
๊ทธ๋ผ Criterion์ ๊ฐ์ง๊ณ ์ ๋ฌด์์ ํตํด Node๋ฅผ Split ํ๋๋ฉด, Parent Node์ ๋ถ์๋์ Child Node(Left and Right)์ ๋ถ์๋ ์ฐจ์ด๋ฅผ ๊ตฌํฉ๋๋ค. ์ด ์ฐจ์ด ๊ฐ์ Information Gain(์ ๋ณด ์ด๋)์ด๋ผ๊ณ ํฉ๋๋ค. ์ฐ๋ฆฌ์ ๋ชฉํ๋ ์ด Information Gain์ด ์ต๋๊ฐ์ ๊ฐ๋๋ก ํ๋ ๊ฒ์ธ๋ฐ ์ด๋ ์์ Node์์ ํ์ Node๋ก Split ๋ ๋, ํ์ ๋ ธ๋์ ๋ถ์๋๋ฅผ ๋ง์ด ์ค์๋ค๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. (= ํ์ ๋ ธ๋์ ํด๋์ค ๋น์จ์ด ์กฐ๊ธ ๋ ๊ทน์ ์ผ๋ก ๋๋์๋ค.)
$$ Information\,Gain =
(Parent's\,\,Impurity)
-
(\frac{N_{left}}{N_{parent}}\times(Left\,\,child's\,\,Impurity)+\frac{N_{right}}{N_{parent}}\times(Right\,\,child's\,\,Impurity)
) $$
ํ์ง๋ง, ์์ง ํ๋ฆฌ์ง ์์ ๊ถ๊ธ์ ์ด ๋จ์ต๋๋ค.
Parent Node์ Child Node์ ๋ถ์๋๋ฅผ ๊ณ์ฐํ๊ธฐ ์ ์ Split์ ๋ฌด์จ ๊ธฐ์ค์ผ๋ก ํ ๊ฒ์ธ๊ฐ?
-> Data์ Feature๋ฅผ ์ด์ฉํฉ๋๋ค.
์ฌ๊ธฐ์ ์ธ์งํ๊ณ ์์ด์ผ ํ ์ ์ ๋ฐ์ดํฐ๋ ์ฌ๋ฌ Feature๋ฅผ ๊ฐ์ง๋ค๋ ๊ฒ์ ๋๋ค. ์์๋ฅผ ๊ฐ๋จํ๊ฒ ๋ค๊ธฐ ์ํด Feature์ ์ธ๊ธ์ ์์์ง๋ง, ๋ชจ๋ Feature๋ฅผ ๊ธฐ์ค์ผ๋ก Split ๋์ด ๋ถ์๋๋ฅผ ์ธก์ ํ ๊ฒ์ ๊ธฐ๋ฐ์ผ๋ก Information Gain์ด ๊ฐ์ฅ ํฐ ๊ฐ์ ๊ฐ์ง๋ Feature์ ํด๋น Feature์ ๊ธฐ์ค ๊ฐ์ Node๋ฅผ Split ํ๋ Criterion์ผ๋ก ์ฑํํฉ๋๋ค.
(์๋ ์์์์๋ petal width๋ผ๋ feature์ ๊ธฐ์ค ๊ฐ์ด 0.75๋ก ์ฑํ๋์์ต๋๋ค.)
์ฆ, Information Gain์ ๊ตฌํ๊ธฐ ์ํด์๋ ํ Feature๋ง๋ค Information Gain์ ์ต๋๊ฐ์ ๊ฐ์ง๋๋ก ํ๋ ๊ธฐ์ค ๊ฐ์ ์ฐพ๊ณ , ๋ชจ๋ ๊ธฐ์ค ๊ฐ๋ค๋ก๋ถํฐ Information Gain์ ์ต๋๊ฐ ์ค์ ์ต๋๊ฐ์ ๊ตฌํ๋ ๊ฒ Information Gain์ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
+ ์ฌ๋ฌ ์น์์ Information Gain์ ๋ํ Formula๋ฅผ ์ธ๊ธํ ๋, Child Node์ ๋ถ์๋ ํ๊ท ์ ๊ตฌํ๋๋ฐ ํ๊ท ์ด ์๋ Split ๋ ํ์ (Child Node Sample ๊ฐ์)/(Parent Node Sample ๊ฐ์)์ Proportion์ ๊ฐ Child Node์ ๊ณฑํ์ฌ Child Node์ ์ ์ฒด์ ์ธ ๋ถ์๋๋ก ์ฌ์ฉ๋ฉ๋๋ค.
์ด์ ์์ Decision Tree๋ฅผ ๋ค์ ๋ณด๋ฉด ์ด๋ฐ ํด์์ด ๊ฐ๋ฅํฉ๋๋ค.
- Gini Impurity๋ฅผ ํตํด Root Node์ ๋ถ์๋๋ฅผ ํ์ธํ์๋ค. -> 0.687
- ์ด Gini Impurity๋ (35/105)(1 - 35/105) * 3 = 0.667์ด ๋ง๋ค.
- ํ์ฌ ์ฌ๊ธฐ์ ๋ฐ์ํ๋ Information Gain์ 0.667 - ((35/105)*0.0 + (70/105)*0.5) = 0.334์ด๋ค.
- 0.334๋ผ๋ ๊ฐ์ฅ ํฐ Information Gain์ด ๋ง๋ค์ด์ง๊ฒ ๋ Feature๋ 'petal width'์ ๊ธฐ์ค ๊ฐ์ 0.75์ด๋ค.
๐ Entropy์ Gini Impurity์ ์ฐจ์ด
๊ทธ๋ ๋ค๋ฉด, Entropy์ Gini Impurity๋ ๋ ๋ค ๋ ธ๋์ ๋ถ์๋๋ฅผ ์ธก์ ํ๋ ๊ณตํต์ ์ด ์๋๋ฐ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ด ๋ค๋ฅธ ๊ฑฐ ์ธ์๋ ์ฐจ์ด์ ์ด ๋ณด์ด์ง ์์ต๋๋ค. ํ์ง๋ง, Entropy๊ฐ log๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ์๊ธฐ๋ ๋ฏธ๋ฌํ ์ฐจ์ด๊ฐ ์์ต๋๋ค.
- Entropy๋ ์กฐ๊ธ ๋ ๋ฏธ์ธํ ์ฐจ์ด๋ฅผ ๊ฐ์งํ๋ค. -> ๋ก๊ทธ ํจ์๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ Gini Impurity๋ณด๋ค ๋ฏธ์ธํ ์ฐจ์ด๋ฅผ ๊ฐ์งํ์ฌ ๋ ธ๋์ ์์์ฑ์ ์ ํํ๊ฒ ํ๊ฐํ ์ ์๋ค. ๋ํ, ๋ถ๊ท ํํ ๋ฐ์ดํฐ์ ์๋ Gini๋ณด๋ค๋ Entropy๊ฐ ๋ ์ข์ ํจ๊ณผ๋ฅผ ๋ณด์ธ๋ค.
- Gini Impurity๋ Entropy์ ๋นํด ์๋์ ์ผ๋ก ๊ฐ๊ฒฐํ๋ค. -> Entropy๋ณด๋ค ๊ฐ๊ฒฐํ๋ค๋ ๊ฒ์ Entropy๊ฐ ์ ์ฉ๋์ด๋ ๋ ๋ฌธ์ ์ Gini Impurity๋ฅผ ์ ์ฉํจ์ผ๋ก์จ ๊ฐ๊ฒฐํ๊ณ ๋ ๋น ๋ฅด๊ณ , ์ง๊ด์ ์ผ๋ก ๋ถ์๋๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค. ๊ทธ๋์ ์ผ๋ฐ์ ์ผ๋ก Gini Impurity๋ฅผ Binary Classification ๋ฌธ์ , Entropy๋ฅผ Mulit Classification ๋ฌธ์ ์ ์ ์ฉ์ด ๋๋ ๊ฒ ์ผ๋ฐํ๋์ด๊ฐ๊ณ ์๋ค.
'AI > Concepts' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
RMS Normalization, ICS์ ํด๊ฒฐ์ฑ ์ re-scaling์ ์๋ค. (0) | 2024.03.13 |
---|---|
Attention์ ๋ํด Attention! (5) | 2023.12.26 |
Label Encoding์ ๋ฌธ์ ์ (with Chat GPT) (0) | 2023.07.20 |
Precision๊ณผ Recall์ด ๋ฐ๋น๋ก ๊ด๊ณ์ธ ์ด์ ์ ๋ํ ๊ณ ์ฐฐ (0) | 2023.06.17 |
Transfer Learning(pre-training, fine-tuning)์ ๊ฐ๋ ์ ๋ํ์ฌ (Prologue) (0) | 2023.02.04 |