- ๋จธ์ ๋ฌ๋์์ ์๋ง๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ด๊ณ ๋จ์ํ Bayesian network ๋ชจ๋ธ
- Naรฏve Bayes(๋์ด๋ธ ๋ฒ ์ด์ฆ) ๋ชจ๋ธ์ ํด๋์ค ๋ณ์(class variable)๊ฐ ์ฃผ์ด์ก์ ๋, ํน์ ํน์ฑ์ ๊ฐ์ด ๋ค๋ฅธ ํน์ฑ์ ๊ฐ๊ณผ (์กฐ๊ฑด๋ถ์ ์ผ๋ก) independentํ๋ค๊ณ ๊ฐ์ ํจ.
- ์ค์ ๋ก๋ ์กฐ๊ฑด๋ถ ๋
๋ฆฝ ๊ฐ์ ์ด ์๊ฒฉํ๊ฒ ์ฌ์ค์ด ์๋๋๋ผ๋ ์ ์๋ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์.
- ํ
์คํธ ๋ถ๋ฅ ์์
์ Naรฏve Bayes ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- ์์
: ์ฃผ์ด์ง ํ
์คํธ๊ฐ ์ด๋ค ํด๋์ค(class)๋ ์นดํ
๊ณ ๋ฆฌ(\text{category})์ ์ํ๋์ง ๊ฒฐ์
- "์์ธ" = Category ๋ณ์, "๊ฒฐ๊ณผ" ๋ณ์ = ํน์ ํค์๋์ ์กด์ฌ ์ฌ๋ถ (HasWordiโ)
- ์์ ๋ฌธ์ฅ (์ ๋ฌธ ๊ธฐ์ฌ)
- โ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) P(Category)์ ์กฐ๊ฑด๋ถ ํ๋ฅ (conditional probabilities) P(HasWordiโย โฃย Category)๋ก ๊ตฌ์ฑ๋จ.
- ์ฌํ ํ๋ฅ (Posterior probability)์ ์ฌ์ ํ๋ฅ ๊ณผ likelihood(๊ฐ๋ฅ๋) (์กฐ๊ฑด๋ถ ํ๋ฅ )์ ๊ณฑ์ ๋น๋ก
โP(CategoryโฃHasWordw1โ,ย HasWordw2โ,ย โฆ,ย HasWordwnโ)=P(HasWordw1โ,ย HasWordw2โ,ย โฆ,ย HasWordwnโ)P(HasWordw1โ,ย HasWordw2โ,ย โฆ,ย HasWordwnโโฃCategory)P(Category)โโP(HasWordw1โ,ย HasWordw2โ,ย โฆ,ย HasWordwnโโฃCategory)P(Category)=P(HasWordw1โโฃCategory)โฏP(HasWordwnโโฃCategory)P(Category)=iโโP(HasWordwiโโฃCategory)P(Category)โ
- Naรฏve Bayes ๊ฐ์ : ๊ฐ ๋จ์ด์ ์กด์ฌ๋ ์นดํ
๊ณ ๋ฆฌ๊ฐ ์ฃผ์ด์ก์ ๋ ์กฐ๊ฑด๋ถ ๋
๋ฆฝ
- P(Category=c)๋ ์ด์ ์ ๋ณธ ๋ชจ๋ ๋ฌธ์ ์ค ์นดํ
๊ณ ๋ฆฌ c์ ๋น์จ๋ก ์ถ์
- ์: 9%๊ฐ ๋ ์จ ๊ธฐ์ฌ๋ฉด P(Category=weather)=0.09
- P(HasWordiโย โฃย Category)๋ ๊ฐ ์นดํ
๊ณ ๋ฆฌ์ ๋ฌธ์ ์ค ๋จ์ด i๋ฅผ ํฌํจํ๋ ๋น์จ๋ก ์ถ์
- ์: ๋น์ฆ๋์ค ๊ธฐ์ฌ์ 37%๊ฐ "stocks"๋ฅผ ํฌํจํ๋ฉด P(HasWord"stocks"โ=trueย โฃย Category=business)=0.37
- ํค์๋ ํ์ธ ํ, ๊ณต์์ ์ ์ฉํ์ฌ ์นดํ
๊ณ ๋ฆฌ์ ๋ํ ์ฌํ ํ๋ฅ ๋ถํฌ(posterior probability distribution)๋ฅผ ์ป์.
- ํ๋์ ์นดํ
๊ณ ๋ฆฌ๋ง ์์ธกํด์ผ ํ๋ ๊ฒฝ์ฐ, ๊ฐ์ฅ ๋์ ์ฌํ ํ๋ฅ ์ ๊ฐ์ง ๊ฒ์ ์ ํ
- ์ด ๋
๋ฆฝ ๊ฐ์ ์ ์ค์ ๋ก๋ ์๋ฐฐ
- ์: "first quarter" ๊ตฌ๋ฌธ์ "first" ร "quater"๊ฐ ์ ์ํ๋ ๊ฒ๋ณด๋ค ๋น์ฆ๋์ค (or ์คํฌ์ธ ) ๊ธฐ์ฌ์์ ๋ ์์ฃผ ๋ฐ์
- Naรฏve Bayes ๋ชจ๋ธ์ ์ธ์ด ๊ฒฐ์ , ๋ฌธ์ ๊ฒ์, ์คํธ ํํฐ๋ง(spam filtering) ๋ฐ ๊ธฐํ ๋ถ๋ฅ ์์
์ ๋๋ฆฌ ์ฌ์ฉ
- ์ค์ ์ฌํ ํ๋ฅ ๊ฐ์ด ์ค์ํ ์์
(์: ์๋ฃ ์ง๋จ)์ ๊ฒฝ์ฐ, ์ ๊ฒฝ๋ง(neural networks)๊ณผ ๊ฐ์ ๋ ์ ๊ตํ ๋ชจ๋ธ์ ์ ํธ
- Attribute values์ ๋ฒกํฐ๋ฅผ ๋จ์ผ ์ถ๋ ฅ ๊ฐ("decision")์ ๋งคํํ๋ ํจ์์ ํํ
- ๊ฒฐ์ ํธ๋ฆฌ(Decision tree)๋ root์์ ์์ํ์ฌ leaf์ ๋๋ฌํ ๋๊น์ง ์ผ๋ จ์ ํ
์คํธ๋ฅผ ์ํํ์ฌ ๊ฒฐ์ ์ ๋๋ฌ
- ๋ด๋ถ ๋
ธ๋(Internal node): ์
๋ ฅ ์์ฑ ์ค ํ๋์ ๋ํ ํ
์คํธ
- ๊ฐ์ง(Branches): ์์ฑ์ ๊ฐ๋ฅํ ๊ฐ
- ๋ฆฌํ ๋
ธ๋(Leaf nodes): ํจ์๊ฐ ๋ฐํํ ๊ฐ ์ง์
- ์
๋ ฅ ๋ฐ ์ถ๋ ฅ ๊ฐ์ ์ด์ฐํ(discrete) ๋๋ ์ฐ์ํ(continuous)์ผ ์ ์์.
- ํ์ฌ: ์ด์ฐํ ์
๋ ฅ, Boolean (true/false) ์ถ๋ ฅ โ Boolean (=binary) classification(๋ถ๋ฆฌ์ธ (=์ด์ง) ๋ถ๋ฅ)
- ํ๊ธฐ๋ฒ(Notation): j๋ ์์ ์ธ๋ฑ์ค (xj๋ j๋ฒ์งธ ์์ ์ ์
๋ ฅ ๋ฒกํฐ,~yj๋ ์ถ๋ ฅ),~xj,iโ๋ j๋ฒ์งธ ์์ ์ i๋ฒ์งธ ์์ฑ
- ๋ฌธ์ : ์๋น์์ ํ
์ด๋ธ์ ๊ธฐ๋ค๋ฆด์ง ๊ฒฐ์ ํ๋ ๋ฌธ์
- ์ถ๋ ฅ y: Boolean ๋ณ์ WillWait (๊ธฐ๋ค๋ฆด ๊ฒฝ์ฐ true)
- ์
๋ ฅ x: 10๊ฐ ์์ฑ ๊ฐ์ ๋ฒกํฐ (๋ชจ๋ ์ด์ฐํ ๊ฐ)
- Alternate: ๊ทผ์ฒ์ ์ ์ ํ ๋์ ์๋น์ด ์๋์ง
- Bar: ๊ธฐ๋ค๋ฆด ์ ์๋ ํธ์ํ ๋ฐ(bar) ๊ณต๊ฐ์ด ์๋์ง
- Fri/Sat: ๊ธ์์ผ ๋๋ ํ ์์ผ์ธ์ง (true)
- Hungry: ์ง๊ธ ๋ฐฐ๊ฐ ๊ณ ํ์ง
- Patrons: ์๋น ์ ์ฌ๋ ์ (None, Some, Full)
- Price: ์๋น ๊ฐ๊ฒฉ๋ ($$$, $$$$, $$$$$)
- Raining: ๋ฐ์ ๋น๊ฐ ์ค๋์ง
- Reservation: ์์ฝ์ ํ๋์ง
- Type: ์๋น ์ข
๋ฅ (French, Italian, Thai, or burger)
- WaitEstimate: ํธ์คํธ์ ์์ ๋๊ธฐ ์๊ฐ (0โ10, 10โ30, 30โ60, or >60 ๋ถ)
- 12๊ฐ ์์ ์ธํธ๊ฐ ๊ทธ๋ฆผ์ ํ์
- ๋ฐ์ดํฐ๊ฐ ๋งค์ฐ ์ ์: 26ร32ร42=9216 ๊ฐ์ง ๊ฐ๋ฅํ ์
๋ ฅ ์กฐํฉ ์ค 12๊ฐ๋ง ์ฃผ์ด์ง
- 12๊ฐ์ ์ฆ๊ฑฐ(evidence)๋ง์ผ๋ก ๋๋ฝ๋ 9,204๊ฐ์ ์ถ๋ ฅ ๊ฐ์ ์ถ์ธกํด์ผ ํจ.
| Example | Alt | Bar | Fri | Hun | Pat | Price | Rain | Res | Type | Est | WillWait |
|---|
| x1โ | Yes | No | No | Yes | Some | $$$ | No | Yes | French | 0โ10 | y1โ=Yes |
| x2โ | Yes | No | No | Yes | Full | $ | No | No | Thai | 30โ60 | y2โ=No |
| x3โ | No | Yes | No | No | Some | $ | No | No | Burger | 0โ10 | y3โ=Yes |
| x4โ | Yes | No | Yes | Yes | Full | $$$ | Yes | No | Thai | 10โ30 | y4โ=Yes |
| x5โ | Yes | No | Yes | No | Full | $$$ | No | Yes | French | >60 | y5โ=No |
| x6โ | No | Yes | No | Yes | Some | $$ | Yes | Yes | Italian | 0โ10 | y6โ=Yes |
| x7โ | No | Yes | No | No | None | $ | Yes | No | Burger | 0โ10 | y7โ=No |
| x8โ | No | No | No | Yes | Some | $$ | Yes | Yes | Thai | 0โ10 | y8โ=Yes |
| x9โ | No | Yes | Yes | No | Full | $ | Yes | No | Burger | >60 | y9โ=No |
| x10โ | Yes | Yes | Yes | Yes | Full | $$$ | No | Yes | Italian | 10โ30 | y10โ=No |
| x11โ | No | No | No | No | None | $ | No | No | Thai | 0โ10 | y11โ=No |
| x12โ | Yes | Yes | Yes | Yes | Full | $ | No | No | Burger | 30โ60 | y12โ=Yes |

- ๋ณด์ฅ๋ ๊ฐ์ฅ ์์ ํธ๋ฆฌ๋ฅผ ์ฐพ๋ ๊ฒ์ ๋ํด(intractable)ํจ.
- ๊ฐ๋จํ ํด๋ฆฌ์คํฑ์ ์ฌ์ฉํ์ฌ ๊ฐ์ฅ ์์ ํธ๋ฆฌ์ ๊ฐ๊น์ด ๊ฒ์ ํจ์จ์ ์ผ๋ก ์ฐพ์ ์ ์์.
LEARN-DECISION-TREE ์๊ณ ๋ฆฌ์ฆ์ ํ์์ ๋ถํ ์ ๋ณต(greedy divide-and-conquer) ์ ๋ต์ ์ฑํ- ํญ์ ๊ฐ์ฅ ์ค์ํ(most important) ์์ฑ์ ๋จผ์ ํ
์คํธํ ๋ค์, ํ
์คํธ ๊ฒฐ๊ณผ๋ก ์ ์๋๋ ๋ ์์ ํ์ ๋ฌธ์ (subproblems)๋ฅผ ์ฌ๊ท์ ์ผ๋ก ํด๊ฒฐ
- "๊ฐ์ฅ ์ค์ํ ์์ฑ": ์์ ์ ๋ถ๋ฅ์ ๊ฐ์ฅ ํฐ ์ฐจ์ด๋ฅผ ๋ง๋๋ ์์ฑ
- ๊ทธ๋ฆผ (a)๋ Type์ด ์ข์ง ์์ ์์ฑ์์ ๋ณด์ฌ์ค (4๊ฐ์ ๊ฒฐ๊ณผ ๋ชจ๋ ์์ฑ/์์ฑ ์์ ๊ฐ ๋์ผ)
- ๊ทธ๋ฆผ (b)๋ Patrons๊ฐ ์๋นํ ์ค์ํ ์์ฑ์์ ๋ณด์ฌ์ค (None ๋๋ Some์ธ ๊ฒฝ์ฐ, ๋ช
ํํ ๋ต(No ๋๋ Yes)์ ์ป์)

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

- ์ํ training set์ ๋ํ ํ์ต ์๊ณ ๋ฆฌ์ฆ์ ์ถ๋ ฅ
- ํธ๋ฆฌ๋ ๋ด๋ถ ๋
ธ๋์ ํ
์คํธ, ๊ฐ์ง์ ์์ฑ ๊ฐ, ๋ฆฌํ ๋
ธ๋์ ์ถ๋ ฅ ๊ฐ์ผ๋ก ๊ตฌ์ฑ
- ํ์ต ์๊ณ ๋ฆฌ์ฆ์ Raining๊ณผ Reservation์ ๋ํ ํ
์คํธ๋ฅผ ํฌํจํ์ง ์์ (๋ชจ๋ ์์ ๋ฅผ ๋ถ๋ฅํ๋ ๋ฐ ํ์ํ์ง ์๊ธฐ ๋๋ฌธ)
- Decision tree learning algorithm์ ๊ฐ์ฅ ๋์
IMPORTANCE๋ฅผ ๊ฐ์ง ์์ฑ์ ์ ํ - Entropy ๊ฐ๋
์ ์ฌ์ฉํ์ฌ ์ ์๋๋ information gain์ ์ฌ์ฉํ์ฌ
IMPORTANCE๋ฅผ ์ธก์
- Random variable์ ๋ถํ์ค์ฑ ์ฒ๋
- ๊ฐ x๊ฐ ํ๋ฅ P(x)๋ฅผ ๊ฐ๋ ํ๋ฅ ๋ณ์ X์ ์ํธ๋กํผ
- H(X)=โโxโP(x)log2โP(x)
- ๊ณต์ ํ ๋์ ๋์ง๊ธฐ ์ํธ๋กํผ = 1 bit
- ํ๋ฅ q๋ก true์ธ boolean ํ๋ฅ ๋ณ์์ ์ํธ๋กํผ B(q): B(q)=โ(qlog2โq+(1โq)log2โ(1โq))
- p๊ฐ์ positive example๊ณผ n๊ฐ์ negative example์ ํฌํจํ๋ training set์์, ์ ์ฒด ์ธํธ์ ๋ํ ์ถ๋ ฅ ๋ณ์์ ์ํธ๋กํผ๋ H(Output)=B(p+npโ)
- ์๋น training set: p=n=6์ด๋ฏ๋ก, ํด๋น ์ํธ๋กํผ๋ B(0.5) ์ฆ 1 bit
- ์์ฑ A์ ๋ํ ํ
์คํธ ๊ฒฐ๊ณผ๋ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ฌ ์ ์ฒด ์ํธ๋กํผ๋ฅผ ๊ฐ์์ํด
- d๊ฐ์ ๊ณ ์ ํ ๊ฐ์ ๊ฐ์ง ์์ฑ A๋ training set E๋ฅผ E1โ,ย โฆ,ย Edโ ๋ถ๋ถ์งํฉ(subsets)์ผ๋ก ๋๋
- ๊ฐ ๋ถ๋ถ์งํฉ Ekโ๋ pkโ๊ฐ์ positive example๊ณผ nkโ๊ฐ์ negative example์ ๊ฐ์ง๋ฉฐ, ํด๋น ๊ฐ์ง๋ฅผ ๋ฐ๋ฅด๋ฉด B(pkโ+nkโpkโโ) ๋นํธ์ ์ถ๊ฐ ์ ๋ณด๊ฐ ํ์
- ์์ฑ A๋ฅผ ํ
์คํธํ ํ ๋จ์ expected entropy
- Remainder(A)=โk=1dโp+npkโ+nkโโB(pkโ+nkโpkโโ)
- Gain(A)=B(p+npโ)โRemainder(A)
- Gain(A)๊ฐ
IMPORTANCE ํจ์๋ฅผ ๊ตฌํํจ - Gain(Patrons)=1โ[122โB(20โ)+124โB(44โ)+126โB(62โ)]โ0.541 bits
- Gain(Type)=1โ[122โB(21โ)+122โB(21โ)+124โB(42โ)+124โB(42โ)]=0 bits
- Patrons๊ฐ ๋ถํ ํ๊ธฐ ๋ ์ข์ ์์ฑ์ด๋ผ๋ ์ง๊ด์ ํ์ธ์์ผ ์ค
- Patrons๋ ๋ชจ๋ ์์ฑ ์ค ์ต๋ information gain์ ๊ฐ์ง๋ฏ๋ก decision tree learning ์๊ณ ๋ฆฌ์ฆ์ ์ํด root๋ก ์ ํ๋จ.