Naive Bayes Classifier
๊ฐ์
-
๋จ์๊ท์น๋ชจํ: ์์ธก๋ณ์๊ฐ ํ์ ์๋ ๋ชจํ, ์ฃผ๋ก ๊ณ ๊ธ ๋ชจํ๋ค๊ณผ ๋น๊ตํ๊ธฐ ์ํ baseline
-
๋จ์ ๋ฒ ์ด์ฆ ๋ถ๋ฅ๋ชจํ
=> ์ด ๊ธฐ๋ฒ๋ค์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ํ ๊ฐ์ ์ ๊ฑฐ์ ํ์ง ์๋๋ค๋ ๊ณตํต์ ! (data-driven)
(makes no assumption about the data)
๋จ์๊ท์น
-
๋ชจ๋ ์์ธก๋ณ์๋ฅผ ๋ถ๋ฅํ ์์ฑ์์ ์ด๋ ํ record๋ฅผ m๊ฐ์ ์ง๋จ ์ค์ ์ ์ผ ๋ง์ ํ๋(prevalent class)๋ก ๋ถ๋ฅํ๋ ๋จ์ํ ๊ท์น
๋จ์ ๋ฒ ์ด์ฆ ๋ถ๋ฅ๋ชจํ
-
๋จ์๊ท์น๋ณด๋ค ์ ๊ตํ ๋ฐฉ๋ฒ : ๋จ์๊ท์น + ์์ธก๋ณ์ ์ ๋ณด
-
๋ค๋ฅธ ๋ถ๋ฅ๋ชจํ๊ณผ ๋ฌ๋ฆฌ naive bayes classifier๋ ์์ธก๋ณ์๊ฐ ๋ฒ์ฃผํ์ธ ๊ฒฝ์ฐ์๋ง ์ ์ฉ๋จ
-
๋ฐ๋ผ์ ์์นํ ์์ธก๋ณ์๋ ๋ฒ์ฃผํ ์์ธก๋ณ์๋ก ๋ณํํ์ฌ์ผ ํจ
-
๋จ์ ๋ฒ ์ด์ฆ ๊ธฐ๋ฒ์ ๋ฐ์ดํฐ ์งํฉ์ด ๋งค์ฐ ํด ๊ฒฝ์ฐ ์ ์ฉ
-
์) google๊ณผ ๊ฐ์ ์น ๊ฒ์ ์์ง ํ์ฌ๋ค์์ ์ฌ์ฉ์๊ฐ ์ฒ ์๋ฅผ ์๋ชป ์ ๋ ฅํ ๋ ์ด๋ฅผ ์์ ํ๊ธฐ ์ํด ๋จ์ ๋ฒ ์ด์ฆ ๋ชจ๋ธ์ ์ฌ์ฉ
-
์กฐ๊ฑด๋ถ ํ๋ฅ exact bayes classifier
-
๋ถ๋ฅ๋ฌธ์ ์ ๋ชฉ์ : ์์ธก๋ณ์๊ตฐ์ด ์ฃผ์ด์ง ๋, ๊ฐ ์ง๋จ์ ์ํ ํ๋ฅ ์ถ์ => ์กฐ๊ฑด๋ถ ํ๋ฅ
-
์ฌ๊ฑด B๊ฐ ์ฃผ์ด์ง ๋, ์ฌ๊ฑด A๊ฐ ์ผ์ด๋ ํ๋ฅ P(A|B)
-
์ผ๋ฐ์ ์ผ๋ก m๊ฐ์ ์ง๋จ C1,C2,...Cm ์ ๋ฐ์๋ณ์(Y)์ X1,X2,...,Xp์ธ ์์ธก๋ณ์(X)์ ๋ํด P(Ci|X1,X2,...,Xp) i=1,2,...,m ์ ์ธก์
-
ํ๋์ record๋ฅผ ๋ถ๋ฅํ๊ธฐ ์ํด, ๊ฐ ์ง๋จ i์ ๋ํ P(Ci|X1,X2,...,Xp)๋ฅผ ๊ณ์ฐ -> ๊ฐ ์ง๋จ์ ์ํ ๊ธฐํ๋ฅผ ์ธก์ -> ๊ทธ ํ ๊ฐ์ฅ ๋์ ํ๋ฅ ๊ฐ์ ๊ฐ์ง๋ ์ง๋จ์ผ๋ก ๋ถ๋ฅ
-
-
์ค์ ์ ์ฉ์์ ์ด๋ ค์
-
์์ ๊ฐ์ด ์กฐ๊ฑด๋ถ ํ๋ฅ ์ ์ถ์ ํ ๊ฒฝ์ฐ, ์์ธก๋ณ์ ์ p๊ฐ 20์ ๋๋ก ๋งค์ฐ ํฌ๊ณ , ์ง๋จ ์ m์ด 2๋ผ๋ฉด, record๊ฐ ๋ง์ ๊ฒฝ์ฐ์๋ ์์ ๋ค๊ณผ ์ ํํ ์ผ์นํ๋ ๊ท์น๋ค์ ์ฐพ์ ์ ์๋ ๋ฌธ์ ๋ฐ์
-
relies on finding other records that share same predictor values as record-to-be-classified
-
want to find ‘probability of belonging to class C, given specified values of predictors’
-
์: ํฌํ ์์ธก
-
์๋ฌด๋ฆฌ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ํฌ๋๋ผ๋, 4๋ช ์ ์๋ ๊ฐ ์๊ณ , ์ดํผํ์ผ๋ฉฐ, ์ค์๋ถ ์ง์ญ์ ์ด๊ณ , ๊ณ ์๋์ธต์ด๋ฉฐ, hispanic์ ๋จ์ฑ์ ์ํ๋ ์ฌ๋๋ค์ ๊ทธ๋ค์ง ๋ง์ง ์๋ค
-
-
ํด๊ฒฐ๋ฐฉ์: naive bayes
-
-
naive bayes
-
๊ฐ ์ง๋จ ๋ด์ ์์ธก๋ณ์์ ๋ํ ๋ ๋ฆฝ์ฑ(independence)์ ๊ฐ์ ์ ๋จ์ํ์ํค๊ธฐ (use multiplication rule)
-
๋ชจ๋ ์์ธก๋ณ์๋ค์ด ์ํธ ๋ ๋ฆฝ์ ์ด๋ค -> ๊ณ์ฐ๊ณผ์ ๋จ์ํ ๊ฐ๋ฅ -> ๋์๋ฐ์์ ํ๋ฅ = ๋ชจ๋ ๊ด๋ จ ์์ธก๋ณ์์ ํ๊ณ๋ณ๋๋ถ์ ์๋ก ๊ณฑํ ๊ฐ
-
-
bayes theorem ๋ฒ ์ด์ฆ ์ด๋ก
-
๋ฒ ์ด์ฆ ์ด๋ก : ์ด๋ค ํน์ ํ์์ฌ๊ฑด์ด ๋ฐ์ํ๋ค๊ณ ํ ๋, ์ด์ ์ฌ๊ฑด์ ํ๋ฅ ์ ์๋ ค์ค
-
์) ๋ง์ฝ ๋ถ์๋ณด๊ณ ์ ๋ํด ์์ก์ด ์ ๊ธฐ๋ ๊ฒ์ ์๊ณ ์๋ค๋ฉด ํ์ฌ๊ฐ ๋ถ์ ์ฌ๋ฌด์ ํ๋ฅผ ์ ์ถํ ํ๋ฅ ์ด ์ผ๋ง์ธ์ง ์ ์ ์์
-
๋ฒ ์ด์ฆ ์ด๋ก ์ record๊ฐ ์ง๋จ Ci์ ์ํ๋ ํ๋ฅ ์ ๊ณ์ฐํ๊ธฐ ์ํด ๋ค์ ๊ณต์ ์ฌ์ฉ
-
- ์ด ๊ณต์์ ์์ธก๋ณ์์ ๋ํ ์ ๋ณด๋ฅผ ํฌํจํ๋ ์ง๋จ Ci์ ์ํ ์ฌํํ๋ฅ (posterior probability)๋ก ์๋ ค์ ธ ์๋ค
- P(Ci|X1,X2,...,Xp) = ์ฌํํ๋ฅ (posterior probability)
- P(Ci) = ์ฌ์ ํ๋ฅ (prior probability)
-
๋ฐ๋ผ์ bayes theorem์ record์ ์์ฑ์ด ์ฃผ์ด์ง ๋ ํด๋น record๊ฐ ์ด๋ ํ ์ง๋จ์ ์ํ๋ ํ๋ฅ ์ ๊ณ์ฐํด ๋ด๋ ๊ณต์์ ์ ๊ณต
-
๋ค์ ๋จ๊ณ:
-
์) Financial Fraud
-
target variable: fraud / no fraud
-
predictors: prior pending legal charges (yes/no), size of firm (small/large)
-
๊ฐ ํ์ฌ์ ๋ํด์ ๋ฒ์ ์ฑ ์์ด ์ ์๋์๋์ง ์ฌ๋ถ, ๊ธฐ์ ์ ๊ท๋ชจ๊ฐ ํฐ์ง/์์์ง ์ฌ๋ถ, ์กฐ์ฌ ํ์ ์ฌ๋ฌด๋ณด๊ณ ๊ฐ ๋ถ์ ๋๋ ์ ์์ผ๋ก ํ๋ช ๋์๋์ง์ ๋ํ ์ ๋ณด
-
-
๋ชฉํ: classify a small firm with charges field : (size=small, charges=yes)์ ๋ถ๋ฅ
1. exact bayes calculation
- P(fraud|yes,small) = P(yes,small|fraud)P(fraud)P(yes,small|fraud)P(fraud) + P(yes,small|truthful)P(truthful)
- P(fraud | charges=yes, size=small) = ½ = 0.50
2. naive bayes calculation
-
P(fraud|yes,small) = P(yes|fraud)P(small|fraud)P(fraud)P(yes|fraud)P(small|fraud)P(fraud) + P(yes|truthful)P(small|truthful)P(truthful)
-
์๋ multiplication rule์ ์ ์ฉ..(๋ ํผ์ ..)
-
P(fraud | charges=yes, size=small) = 0.075/(0.075+0.067) = 0.53
-
exact bayes๋ก ๊ณ์ฐํ ๊ฒฐ๊ณผ์ ๊ฐ์ด ํฌ๊ฒ ์ฐจ์ด๊ฐ ๋์ง ์๋๋ค๋ ๊ฒ์ ์ ์ ์๋ค
-
all records are used in calculations, not just those matching predictor values
-
relies on assumption of independence between predictor variables within each class
๋จ์ ๋ฒ ์ด์ง ๋ถ๋ฅ๋ชจํ์ ์ฅ๋จ์
์ฅ์
-
handles purley categorical data well
-
๋ถ์์ ๋ชฉ์ ์ด ์ง๋จ์ ๋ถ๋ฅํ๋ ๊ฒ์ด๊ฑฐ๋ ์ด๋ ํน์ ์ง๋จ์ ์ํ ํ๋ฅ ์ ๊ธฐ์ดํด์ ๋ ์ฝ๋์ ์์๋ฅผ ์ ํ๋ ๊ฒ์ด๋ผ๋ฉด naive bayes๋ ์์ฃผ ์ข์
-
๋ง์ฝ ๋ชฉ์ ์ด ์ง๋จ์ ์ํ ํ๋ฅ ์ ์ถ์ ํ๋ ๊ฒ์ผ ๋๋ ํธํฅ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณ์
-
good for applications using lift(ex. response to mailing), less so for applications requiring probabilities(ex. credit scoring)
-
works well with very large data sets
-
simple & computationally efficient ๋ชจํ์ด ๋จ์ํ๊ณ ๊ณ์ฐ์ด ํจ์จ์
๋จ์
-
requires large number of records
-
problematic when a predictor category is not present in training data
-
๋ง์ฝ ํ์ต์ฉ ๋ฐ์ดํฐ๊ฐ ‘์ํธ ์์ ’=1์ธ record๋ฅผ ๊ฐ์ง๊ณ ์์ง ์๋ค๋ฉด, ‘์ํธ ์์ ’=1์ธ ์๋ก์ด record์ ๋ํด์ naive bayes๋ ๋ชฉํ๋ณ์ ‘๋ณดํ ๊ตฌ๋งค’์ 0์ ํ๋ฅ ๊ฐ์ ๋ถ์ฌ
-
-
์์ธก๋ณ์์ ๋ฒ์ฃผ๊ฐ ํ์ต์ฉ ๋ฐ์ดํฐ์์ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ ๋จ์ ๋ฒ ์ด์ง๋ ์ด๋ฌํ ์์ธก๋ณ์์ ๋ฒ์ฃผ๋ฅผ ๊ฐ๋ ์๋ก์ด record๊ฐ 0์ ํ๋ฅ ๊ฐ์ ๊ฐ๋๋ค๊ณ ๊ฐ์ ํ๋ค
-
assigns 0 probability of response, ignoring information in other variables๋จ
-
์) ๋ชฉํ๋ณ์๊ฐ ‘๋ณดํ ๊ตฌ๋งค’์ด๊ณ ์์ธก๋ณ์๊ฐ ‘์ํธ ์์ ’๋ผ๊ณ ๊ฐ์