๐ป ๋ฅ๋ฌ๋์ ๊น์ด ์๋ ์ดํด๋ฅผ ์ํ ๋จธ์ ๋ฌ๋ ๊ฐ์ 2-1
๐ Decision Tree Concept of Purity
๐ What is a Decision Tree?
์ ๋ ํด๋น ๊ฐ์๋ฅผ ๋ฃ๊ณ greedy recursive splitting ์ ๋ต์ ์ฌ์ฉํ๋ค๋ ๋ถ๋ถ์์ ์ดํด๊ฐ ๋ช ํํ ๋์ง ์์,
๋จธ์ ๋ฌ๋ ์ง๋ํ์ต์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ธ Decision tree๋ฅผ ๋ค์ ํ ๋ฒ ์ ๋ฆฌํ๋ ค๊ณ ํฉ๋๋ค.
ํด๋น ํฌ์คํ ์ ๋ด์ฉ๊ณผ ์ด๋ฏธ์ง๋ ์์ ๊ฐ์์ ์๋ ํฌ์คํ ์ ์ฐธ๊ณ ํ์์ ๋ฐํ๋๋ค.
์ ์ด๋ฏธ์ง๋ฅผ ์ดํด๋ด ์๋ค.
์ํ์์ ๋์ถ์ ๋ฐ์ผ๋ ค๋ฉด ๊ณ ๋ คํด์ผ ํ ์ ๋ค์ด ์์ต๋๋ค.
์์ ์ด ์ด๋ ์ ๋์ธ์ง, ์ง์ฅ์ ์ผ๋ง๋ ์ค๋ ๋ค๋ ๋์ง, ์ ์ฉ์นด๋๋ก ๊ฒฐ์ ๋ฅผ ํ๋์ง ๋ฑ์ ์ฌ๋ถ๋ฅผ ๋ง์ด์ฃ .
์ด๊ฑด ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํํ์ decision tree์ ๋๋ค.
decision tree๋ regression ๋ฐ classification ๋ฌธ์ ์ ์ฃผ๋ก ์ฌ์ฉ๋๋ non-parametric ๊ธฐ๊ณํ์ต ๋ชจ๋ธ์ ๋๋ค.
decision tree๋ ์์ธกํ ๋ณ์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฒฐ๊ณผ ๋ณ์์ ๋ํด ์์ฐจ์ ์ด๊ณ ๊ณ์ธต์ ์ธ ๊ฒฐ์ ์ ๋ด๋ฆฝ๋๋ค.
๊ทธ๋์ ์ข ๋ฅ๊ฐ ๋งค์ฐ ๋ค์ํ๋ฉฐ, ์ ์ฉ๋๋ ์์ฉ ๋ถ์ผ์ ๋ฐ๋ผ ์ฌ์ฉ์๊ฐ ๋ง์๋๋ก ๋ณํํด์ ์ฌ์ฉํ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ด๊ธฐ๋ ํฉ๋๋ค.
non-parametric์ error ๋๋ data distribution์ ๋ํ ๊ธฐ๋ณธ ๊ฐ์ ์ด ์์์ ์๋ฏธํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ๊ด์ฐฐ๋ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก model์ ๊ตฌ์ฑํฉ๋๋ค.
๊ทธ๋์ decision tree์ ํน์ง์ผ๋ก
์ด ์์ต๋๋ค.
๊ฒฐ๊ตญ์ ํ์ต ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฅ ์ ํํํ๋ decison tree๋ฅผ ์ฐพ์๋ด๋ ๊ณผ์ ์ ๋๋ค.
ํ์ตํ๋ ๋ฐฉ๋ฒ์ผ๋ก
๋ฑ์ด ์์ต๋๋ค.
3๋ฒ์งธ ๋ฐฉ๋ฒ์ tree์ ๋์ด๊ฐ ๊ธธ์ด์ง๊ณ , ํ์ชฝ์ผ๋ก ์ ๋ฆฌ๊ณ , split์ ๋ง์ด ํด์ผํ๋ค๋ ๋จ์ ์ด ์๋๋ฐ์.
์ด๋ sample์ ๊ฐ์ n๊ฐ, feature type d๊ฐ, k๊ฐ์ threshold์ ๋ฐ๋ผ ๊ฐ์ ๊ณ์ฐ์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค.
sample์ด ๋ง์ผ๋ฉด ์์ฐ์ค๋ฝ๊ฒ ํ์ต ์๊ฐ์ด ๊ธธ์ด์ง๋ฉฐ, feature type์ด ๋ง๊ฑฐ๋ threshold๋ฅผ ๋๋ฌด ์ธ์ธํ๊ฒ ๋๋๋ฉด ๊ณ์ฐ๋์ด ๋์ด๋ฉ๋๋ค.
๊ทธ๋์ ๊ฐ๊ฐ์ ๋ ธ๋๋ฅผ ๊ณ์ฐํ ๋ feature type์ ๊ฒฝ์ฐ๋ฅผ randomํ๊ฒ ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ๊ณผ threshold๋ฅผ ๋๋๋ ๊ธฐ์ค์ 2~3๊ฐ ์ ๋๋ก ์ ๊ฒ ํด์ ๊ณ์ฐ๋์ ์ค์ด๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค.
split node๋ ๋ง์ ์กฐํฉ์ด ๋์ฌ ๊ฐ๋ฅ์ฑ์ด ์๊ณ , ์๋ฒฝํ decision tree๋ฅผ ํ์ตํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๊ทธ๋ฐ ์๋ฏธ์์ decision tree๋ ์ผ๋ฐ์ ์ผ๋ก greedy recursive splitting ์ ๋ต์ ์ฌ์ฉํฉ๋๋ค.
decision tree์ ๋ชฉํ๋ ๊ฐ ๋ ธ๋์ ๋์์ ์ต์ ์ ์ ํ์ ํ๋ ๊ฒ์ ๋๋ค.
์ด ๊ด์ ์์ ์ด๋ฅผ ์ํํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ํ์์ (greedy)์ด๋ฉฐ ์ฌ๊ท์ (recursive)ํ๋ค๊ณ ๋ณผ ์ ์๋ ๊ฒ์ ๋๋ค.
Greedy๋ ๊ฐ์ฅ ์ต์ ์ ๊ฒฐ์ ์ ๋ด๋ฆฌ๋ ๊ฒ์ ์๋ฏธํ๊ณ ์ฌ๊ท์ ์๋ฏธ๋ ๋ ํฐ ์ง๋ฌธ์ ๋ ์์ ์ง๋ฌธ์ผ๋ก ๋๋๊ณ ๊ฐ์ ๋ฐฉ์์ผ๋ก ํด๊ฒฐํ๋ค๋ ์๋ฏธ์ ๋๋ค.
๊ฐ ๋ ธ๋์์ splitting ํ๋ decision์ purity์ด๋ผ๋ metric์ ์ด๋ฃจ์ด์ง๋๋ค.
๋ง์ฝ ๋ ธ๋๊ฐ 50:50 ๋น์จ๋ก ๊ท ๋ฑํ๊ฒ ๋ถํ ๋๋ฉด ๋ ธ๋๋ 100% ์์ํ์ง ์๊ณ , ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ๋จ์ผ ํด๋์ค์ ์ํ ๋ 100% ์์ํ๋ค๊ณ ํํํฉ๋๋ค.
๋ชจ๋ธ์ ์ต์ ํํ๊ธฐ ์ํด ์ต๋ purity์ ๋๋ฌํด์ผ ํฉ๋๋ค.
decision tree์์ purity ๊ฐ๋ ์ ํ์ ์ง๋จ์ ์ํ๋ ๊ทธ๋ฃน์ ๋ฐ์ดํฐ ์์ ๋น์จ์ ๊ธฐ๋ฐ์ผ๋ก ๊ฒฐ์ ํ๋๋ฐ์.
์๋ฅผ ๋ค์ด ์ธํธ๊ฐ ํด๋์ค A์ ํญ๋ชฉ 60%, ํด๋์ค B์ 30%, ํด๋์ค C์ 10%๋ก ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ purity๋ 60%์ ๋๋ค.
decision tree๋ ํ์ ์์ ๋ ธ๋๋ก ๋๋๋ ๋ถํ ๋ก ๊ตฌ์ฑ๋๊ธฐ ๋๋ฌธ์, tree๊ฐ binary๋ก ๊ฐ์ฃผ๋๋ ๊ฒฝ์ฐ ํด๋น ๋ ธ๋์๋ ๋ ๊ฐ์ ์์์ด ์๊ฒ ๋ฉ๋๋ค.
์ด๋ฐ ๋์ผํ ์ ์ฐจ๋ก ํ์ ๊ทธ๋ฃน์ ๋ถํ ํ๋ฉฐ, ์ด ๊ณผ์ ์ ์์ ๋์๋ recursiveํ๋ค๊ณ ๋ณผ ์ ์๋ ๊ฒ์ ๋๋ค.
spliting์ ๋์ ๋ณ์์ ๊ฐ์ ์์ธกํ๋๋ฐ ์ฌ์ฉํ ์ ์๋ tree๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํด ์ ํ๋๋ฉฐ,
training set์์ decision tree๋ฅผ ์ ๋ํ๊ธฐ ์ํ ๊ธฐ๋ณธ ์๊ณ ๋ฆฌ์ฆ์ด greedy์ธ ๊ฒ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด ํ์ ์ง๋จ์ ๊ฐ์ฅ purityํจ, ์ฆ ๋ถ๊ธฐ ๋ ธ๋์ ๊ฐ์ฅ ๋ช ํํ ๋ถํ ์ ๋ชฉํ๋ก ํ์ต์ด ์งํ๋ฉ๋๋ค.
purity์ gni ๊ณ์ ๋ฑ์ ๋ํ ๊ฐ๋ ์ค๋ช ์ ์ํค๋ฐฑ๊ณผ์์ ๋ ์์ธํ ๋ณผ ์ ์์ต๋๋ค.