16. Other Classic ML Models (1)
Naรฏve Bayes
Naรฏve Bayes Models
- ๋จธ์ ๋ฌ๋์์ ์๋ง๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ด๊ณ ๋จ์ํ Bayesian network ๋ชจ๋ธ
- Naรฏve Bayes(๋์ด๋ธ ๋ฒ ์ด์ฆ) ๋ชจ๋ธ์ ํด๋์ค ๋ณ์(class variable)๊ฐ ์ฃผ์ด์ก์ ๋, ํน์ ํน์ฑ์ ๊ฐ์ด ๋ค๋ฅธ ํน์ฑ์ ๊ฐ๊ณผ (์กฐ๊ฑด๋ถ์ ์ผ๋ก) independentํ๋ค๊ณ ๊ฐ์ ํจ.
- ์ค์ ๋ก๋ ์กฐ๊ฑด๋ถ ๋ ๋ฆฝ ๊ฐ์ ์ด ์๊ฒฉํ๊ฒ ์ฌ์ค์ด ์๋๋๋ผ๋ ์ ์๋ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์.
Text Classification with Naรฏve Bayes
- ํ ์คํธ ๋ถ๋ฅ ์์ ์ Naรฏve Bayes ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- ์์ : ์ฃผ์ด์ง ํ ์คํธ๊ฐ ์ด๋ค class๋ category์ ์ํ๋์ง ๊ฒฐ์
- "์์ธ" = ๋ณ์, "๊ฒฐ๊ณผ" ๋ณ์ = ํน์ ํค์๋์ ์กด์ฌ ์ฌ๋ถ ()
- ์์ ๋ฌธ์ฅ (์ ๋ฌธ ๊ธฐ์ฌ)
โStocks rallied on Monday, with major indexes gaining 1% as optimism persisted over the first quarter earnings season.โ (business)
โHeavy rain continued to pound much of the east coast on Monday, with flood warnings issued in New York City and other locations.โ (weather) - ์์ : ๊ฐ ๋ฌธ์ฅ์ ์ฃผ์ ์น์ (news, sports, business, weather, or entertainment)์ผ๋ก ๋ถ๋ฅ
- Naรฏve Bayes ๋ชจ๋ธ์ ์ฌ์ ํ๋ฅ (prior probabilities) ์ ์กฐ๊ฑด๋ถ ํ๋ฅ (conditional probabilities) ๋ก ๊ตฌ์ฑ
- ์ฌํ ํ๋ฅ (Posterior probability)์ ์ฌ์ ํ๋ฅ ๊ณผ likelihood (์กฐ๊ฑด๋ถ ํ๋ฅ )์ ๊ณฑ์ ๋น๋ก
- Naรฏve Bayes ๊ฐ์ : ๊ฐ ๋จ์ด์ ์กด์ฌ๋ ์นดํ ๊ณ ๋ฆฌ๊ฐ ์ฃผ์ด์ก์ ๋ ์กฐ๊ฑด๋ถ ๋ ๋ฆฝ
- ๊ฐ ์นดํ
๊ณ ๋ฆฌ ์ ๋ํด
- ๋ ์ด์ ์ ๋ณธ ๋ชจ๋ ๋ฌธ์ ์ค ์นดํ
๊ณ ๋ฆฌ ์ ๋น์จ๋ก ์ถ์
- ์: 9%๊ฐ ๋ ์จ ๊ธฐ์ฌ๋ฉด
- ๋ ๊ฐ ์นดํ
๊ณ ๋ฆฌ์ ๋ฌธ์ ์ค ๋จ์ด ๋ฅผ ํฌํจํ๋ ๋น์จ๋ก ์ถ์
- ์: ๋น์ฆ๋์ค ๊ธฐ์ฌ์ 37%๊ฐ "stocks"๋ฅผ ํฌํจํ๋ฉด
- ๋ ์ด์ ์ ๋ณธ ๋ชจ๋ ๋ฌธ์ ์ค ์นดํ
๊ณ ๋ฆฌ ์ ๋น์จ๋ก ์ถ์
- ์ ๋ฌธ์ ๋ถ๋ฅ
- ํค์๋ ํ์ธ ํ, ๊ณต์์ ์ ์ฉํ์ฌ ์นดํ ๊ณ ๋ฆฌ์ ๋ํ ์ฌํ ํ๋ฅ ๋ถํฌ(posterior probability distribution)๋ฅผ ์ป์.
- ํ๋์ ์นดํ ๊ณ ๋ฆฌ๋ง ์์ธกํด์ผ ํ๋ ๊ฒฝ์ฐ, ๊ฐ์ฅ ๋์ ์ฌํ ํ๋ฅ ์ ๊ฐ์ง ๊ฒ์ ์ ํ
- Naรฏve Bayes ๋ชจ๋ธ์ ๋จ์ด๊ฐ ๋ฌธ์ ๋ฒ์ฃผ์ ๋ฐ๋ผ ๊ฒฐ์ ๋๋ ๋น๋๋ก ๋ฌธ์์์ ๋
๋ฆฝ์ ์ผ๋ก ๋ฐ์ํ๋ค๊ณ ๊ฐ์
- ์ด ๋ ๋ฆฝ ๊ฐ์ ์ ์ค์ ๋ก๋ ์๋ฐฐ
- ์: "first quarter" ๊ตฌ๋ฌธ์ "first" "quater"๊ฐ ์ ์ํ๋ ๊ฒ๋ณด๋ค ๋น์ฆ๋์ค (or ์คํฌ์ธ ) ๊ธฐ์ฌ์์ ๋ ์์ฃผ ๋ฐ์
- ์ด๋ฌํ ์ค๋ฅ์๋ ๋ถ๊ตฌํ๊ณ , ๊ฐ๋ฅํ ์นดํ
๊ณ ๋ฆฌ์ ์์(ranking)๋ ์ข
์ข
๋งค์ฐ ์ ํ
- Naรฏve Bayes ๋ชจ๋ธ์ ์ธ์ด ๊ฒฐ์ , ๋ฌธ์ ๊ฒ์, ์คํธ ํํฐ๋ง(spam filtering) ๋ฐ ๊ธฐํ ๋ถ๋ฅ ์์ ์ ๋๋ฆฌ ์ฌ์ฉ
- ์ค์ ์ฌํ ํ๋ฅ ๊ฐ์ด ์ค์ํ ์์ (์: ์๋ฃ ์ง๋จ)์ ๊ฒฝ์ฐ, ์ ๊ฒฝ๋ง(neural networks)๊ณผ ๊ฐ์ ๋ ์ ๊ตํ ๋ชจ๋ธ์ ์ ํธ
Decision Trees
- Attribute values์ ๋ฒกํฐ๋ฅผ ๋จ์ผ ์ถ๋ ฅ ๊ฐ("decision")์ ๋งคํํ๋ ํจ์์ ํํ
- ๊ฒฐ์ ํธ๋ฆฌ(Decision tree)๋ root์์ ์์ํ์ฌ leaf์ ๋๋ฌํ ๋๊น์ง ์ผ๋ จ์ ํ ์คํธ๋ฅผ ์ํํ์ฌ ๊ฒฐ์ ์ ๋๋ฌ
- ๋ด๋ถ ๋ ธ๋(Internal node): ์ ๋ ฅ ์์ฑ ์ค ํ๋์ ๋ํ ํ ์คํธ
- ๊ฐ์ง(Branches): ์์ฑ์ ๊ฐ๋ฅํ ๊ฐ
- ๋ฆฌํ ๋ ธ๋(Leaf nodes): ํจ์๊ฐ ๋ฐํํ ๊ฐ ์ง์
- ์
๋ ฅ ๋ฐ ์ถ๋ ฅ ๊ฐ์ ์ด์ฐํ(discrete) ๋๋ ์ฐ์ํ(continuous)์ผ ์ ์์.
- ํ์ฌ: ์ด์ฐํ ์
๋ ฅ, Boolean (
true/false) ์ถ๋ ฅ Boolean (=binary) classification(๋ถ๋ฆฌ์ธ (=์ด์ง) ๋ถ๋ฅ)
- ํ์ฌ: ์ด์ฐํ ์
๋ ฅ, Boolean (
- ํ๊ธฐ๋ฒ(Notation)
- ๋ ์์ ์ธ๋ฑ์ค (๋ ๋ฒ์งธ ์์ ์ ์ ๋ ฅ ๋ฒกํฐ, ๋ ์ถ๋ ฅ), ๋ ๋ฒ์งธ ์์ ์ ๋ฒ์งธ ์์ฑ
Example Problem: Restaurant Waiting
- ๋ฌธ์ : ์๋น์์ ํ ์ด๋ธ์ ๊ธฐ๋ค๋ฆด์ง ๊ฒฐ์ ํ๋ ๋ฌธ์
- ์ถ๋ ฅ : Boolean ๋ณ์ (๊ธฐ๋ค๋ฆด ๊ฒฝ์ฐ
true) - ์
๋ ฅ : 10๊ฐ ์์ฑ ๊ฐ์ ๋ฒกํฐ (๋ชจ๋ ์ด์ฐํ ๊ฐ)
- : ๊ทผ์ฒ์ ์ ์ ํ ๋์ ์๋น์ด ์๋์ง
- : ๊ธฐ๋ค๋ฆด ์ ์๋ ํธ์ํ ๋ฐ(bar) ๊ณต๊ฐ์ด ์๋์ง
- : ๊ธ์์ผ ๋๋ ํ ์์ผ์ธ์ง (
true) - : ์ง๊ธ ๋ฐฐ๊ฐ ๊ณ ํ์ง
- : ์๋น ์ ์ฌ๋ ์ (, , )
- : ์๋น ๊ฐ๊ฒฉ๋ ($$$, $$$$, $$$$$)
- : ๋ฐ์ ๋น๊ฐ ์ค๋์ง
- : ์์ฝ์ ํ๋์ง
- : ์๋น ์ข ๋ฅ (French, Italian, Thai, or burger)
- : ํธ์คํธ์ ์์ ๋๊ธฐ ์๊ฐ (0โ10, 10โ30, 30โ60, or >60 ๋ถ)
- 12๊ฐ ์์ ์ธํธ๊ฐ ๊ทธ๋ฆผ์ ํ์
- ๋ฐ์ดํฐ๊ฐ ๋งค์ฐ ์ ์: ๊ฐ์ง ๊ฐ๋ฅํ ์ ๋ ฅ ์กฐํฉ ์ค 12๊ฐ๋ง ์ฃผ์ด์ง
- 12๊ฐ์ ์ฆ๊ฑฐ(evidence)๋ง์ผ๋ก ๋๋ฝ๋ 9,204๊ฐ์ ์ถ๋ ฅ ๊ฐ์ ์ถ์ธกํด์ผ ํจ.

A Decision Tree for Restaurant Waiting

Learning Decision Trees from Examples
- ๋ชฉํ: ํ์ต ๋ฐ์ดํฐ(training data)์ ์ผ์น(consistent)ํ๋ฉด์ ๊ฐ๋ฅํ ๊ฐ์ฅ ์์ Decision tree๋ฅผ ์ฐพ๋ ๊ฒ
- ๋ณด์ฅ๋ ๊ฐ์ฅ ์์ ํธ๋ฆฌ๋ฅผ ์ฐพ๋ ๊ฒ์ ๋ํด(intractable)ํจ.
- ๊ฐ๋จํ ํด๋ฆฌ์คํฑ์ ์ฌ์ฉํ์ฌ ๊ฐ์ฅ ์์ ํธ๋ฆฌ์ ๊ฐ๊น์ด ๊ฒ์ ํจ์จ์ ์ผ๋ก ์ฐพ์ ์ ์์.
LEARN-DECISION-TREE์๊ณ ๋ฆฌ์ฆ์ ํ์์ ๋ถํ ์ ๋ณต(greedy divide-and-conquer) ์ ๋ต์ ์ฑํ- ํญ์ most important attribute๋ฅผ ๋จผ์ ํ ์คํธํ ๋ค์, ํ ์คํธ ๊ฒฐ๊ณผ๋ก ์ ์๋๋ ๋ ์์ ํ์ ๋ฌธ์ (subproblems)๋ฅผ ์ฌ๊ท์ ์ผ๋ก ํด๊ฒฐ
- "Most important attribute": ์์ ์ ๋ถ๋ฅ์ ๊ฐ์ฅ ํฐ ์ฐจ์ด๋ฅผ ๋ง๋๋ ์์ฑ
- ๋ชฉํ: ์ ์ ์์ ํ ์คํธ๋ก ์ฌ๋ฐ๋ฅธ ๋ถ๋ฅ์ ๋๋ฌ (ํธ๋ฆฌ์ ๋ชจ๋ ๊ฒฝ๋ก๊ฐ ์งง๊ณ ํธ๋ฆฌ๊ฐ ์์)
- ๊ทธ๋ฆผ (a)๋ ์ด ์ข์ง ์์ ์์ฑ์์ ๋ณด์ฌ์ค (4๊ฐ์ ๊ฒฐ๊ณผ ๋ชจ๋ ์์ฑ/์์ฑ ์์ ๊ฐ ๋์ผ)
- ๊ทธ๋ฆผ (b)๋ ๊ฐ ์๋นํ ์ค์ํ ์์ฑ์์ ๋ณด์ฌ์ค ( ๋๋ ์ธ ๊ฒฝ์ฐ, ๋ช ํํ ๋ต( ๋๋ )์ ์ป์)

- ๊ฐ์ด ์ด๋ฉด, ํผํฉ๋ ์์ ์ธํธ๊ฐ ๋จ์. ์ด๋ฌํ ์ฌ๊ท์ ํ์ ๋ฌธ์ (recursive subproblems)์ ๋ํ 4๊ฐ์ง ๊ฒฝ์ฐ
- ๋จ์ ์์ ๊ฐ ๋ชจ๋ ์์ฑ (๋๋ ๋ชจ๋ ์์ฑ)์ธ ๊ฒฝ์ฐ: ์๋ฃ ( ๋๋ ๋ก ๋ตํจ). (b)์ ๋ฐ ๊ฐ์ง ์์
- ์ผ๋ถ ์์ฑ ๋ฐ ์ผ๋ถ ์์ฑ ์์ ๊ฐ ์๋ ๊ฒฝ์ฐ: ์ด๋ค์ ๋ถํ ํ ์ต์์ ์์ฑ์ ์ ํํจ. (b)์์ ๋จ์ ์์ ๋ฅผ ๋ถํ ํ๊ธฐ ์ํด ๊ฐ ์ฌ์ฉ
- ๋จ์ ์์ ๊ฐ ์๋ ๊ฒฝ์ฐ: ์ด ์์ฑ ๊ฐ ์กฐํฉ์ ๋ํด ๊ด์ฐฐ๋ ์์ ๊ฐ ์์์ ์๋ฏธ. ๋ถ๋ชจ ๋ ธ๋(parent) ๊ตฌ์ฑ์ ์ฌ์ฉ๋ ์์ ์ธํธ์์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ถ๋ ฅ ๊ฐ์ ๋ฐํ
- ์์ฑ์ ๋จ์ง ์์์ง๋ง ์์ฑ ๋ฐ ์์ฑ ์์ ๊ฐ ๋ชจ๋ ์๋ ๊ฒฝ์ฐ: ๋ฐ์ดํฐ์ ์ค๋ฅ๋ ๋ ธ์ด์ฆ(noise), ๋น๊ฒฐ์ ๋ก ์ (nondeterministic) ๋๋ฉ์ธ, ๋๋ ๊ตฌ๋ณํ ์ ์๋ ์์ฑ์ ๊ด์ฐฐํ ์ ์๊ธฐ ๋๋ฌธ์ผ ์ ์์. ๋จ์ ์์ ์ค ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ถ๋ ฅ ๊ฐ์ ๋ฐํ
LEARN-DECISION-TREE Algorithm

- ์ํ training set์ ๋ํ ํ์ต ์๊ณ ๋ฆฌ์ฆ์ ์ถ๋ ฅ
- ํธ๋ฆฌ๋ ๋ด๋ถ ๋ ธ๋์ ํ ์คํธ, ๊ฐ์ง์ ์์ฑ ๊ฐ, ๋ฆฌํ ๋ ธ๋์ ์ถ๋ ฅ ๊ฐ์ผ๋ก ๊ตฌ์ฑ
- ํ์ต ์๊ณ ๋ฆฌ์ฆ์ ๊ณผ ์ ๋ํ ํ ์คํธ๋ฅผ ํฌํจํ์ง ์์ (๋ชจ๋ ์์ ๋ฅผ ๋ถ๋ฅํ๋ ๋ฐ ํ์ํ์ง ์๊ธฐ ๋๋ฌธ)
Choosing Attribute Tests
- Decision tree learning algorithm์ ๊ฐ์ฅ ๋์
IMPORTANCE๋ฅผ ๊ฐ์ง ์์ฑ์ ์ ํ - Entropy ๊ฐ๋
์ ์ฌ์ฉํ์ฌ ์ ์๋๋ information gain์ ์ฌ์ฉํ์ฌ
IMPORTANCE๋ฅผ ์ธก์
Entropy ๋ณต์ต
- Random variable์ ๋ถํ์ค์ฑ ์ฒ๋
- ๊ฐ ๊ฐ ํ๋ฅ ๋ฅผ ๊ฐ๋ ํ๋ฅ ๋ณ์ ์ ์ํธ๋กํผ
- ๊ณต์ ํ ๋์ ๋์ง๊ธฐ ์ํธ๋กํผ =
1 bit - ํ๋ฅ ๋ก
true์ธ boolean ํ๋ฅ ๋ณ์์ ์ํธ๋กํผ :
- ๊ฐ์ positive example๊ณผ ๊ฐ์ negative example์ ํฌํจํ๋ training set์์, ์ ์ฒด ์ธํธ์ ๋ํ ์ถ๋ ฅ ๋ณ์์ ์ํธ๋กํผ
- ์๋น training set:
- ์ด๋ฏ๋ก, ํด๋น ์ํธ๋กํผ๋ ์ฆ
1 bit
- ์ด๋ฏ๋ก, ํด๋น ์ํธ๋กํผ๋ ์ฆ
- ์์ฑ ์ ๋ํ ํ ์คํธ ๊ฒฐ๊ณผ๋ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ฌ ์ ์ฒด ์ํธ๋กํผ๋ฅผ ๊ฐ์์ํด
- ๊ฐ์ ๊ณ ์ ํ ๊ฐ์ ๊ฐ์ง ์์ฑ ๋ training set ๋ฅผ ๋ถ๋ถ์งํฉ(subsets)์ผ๋ก ๋๋
- ๊ฐ ๋ถ๋ถ์งํฉ ๋ ๊ฐ์ positive example๊ณผ ๊ฐ์ negative example์ ๊ฐ์ง๋ฉฐ, ํด๋น ๊ฐ์ง๋ฅผ ๋ฐ๋ฅด๋ฉด ๋นํธ์ ์ถ๊ฐ ์ ๋ณด๊ฐ ํ์
- ์์ฑ ๋ฅผ ํ ์คํธํ ํ ๋จ์ expected entropy
์์ฑ ํ ์คํธ๋ก ์ธํ information gain
- ๊ฐ
IMPORTANCEํจ์๋ฅผ ๊ตฌํํจ
- ๊ฐ ๋ถํ ํ๊ธฐ ๋ ์ข์ ์์ฑ์ด๋ผ๋ ์ง๊ด์ ํ์ธ์์ผ ์ค
- ๋ ๋ชจ๋ ์์ฑ ์ค ์ต๋ information gain์ ๊ฐ์ง๋ฏ๋ก decision tree learning ์๊ณ ๋ฆฌ์ฆ์ ์ํด root๋ก ์ ํ๋จ.

