Naive Bayes - BD-SEARCH/MLtutorial GitHub Wiki
-
์ฌ์ ํ๋ฅ ๊ณผ ์ฐ๋ํ๋ฅ ์ ์ ๋ ์ฌํํ๋ฅ ์ ๊ณ์ฐํ๋ ๋ฐฉ๋ฒ.
-
P(A|B)๋ฅผ ์๊ณ ์์ ๋, ๊ด๊ณ๊ฐ ์ ๋ฐ๋์ธ P(B|A)๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ
- ๊ฒฐ๊ณผ๋ฅผ ๊ด์ธกํ ๋ค ์์ธ์ ์ถ๋ก ํ ์ ์๋ ๋ฐฉ๋ฒ.
-
Bayes Theorem์ ํต์์ ํด์
- ๋ฐ์ดํฐ D์ ๊ด์ ์์ ๋ณด์์ ๋ ๊ฐ์ค H์ ํ๋ฅ ์ ์์ ํด์ค๋ค. ์๋ก์ด ๋ฐ์ดํฐ๊ฐ ๋ค์ด์ฌ ๋๋ง๊ฐ ๊ฐ์ค์ ๋ํ ํ๋ฅ ์ด ๋ฌ๋ผ์ง๋ค.
- P(A|B): ์ฌํ ํ๋ฅ . ๋ฐ์ดํฐ๋ฅผ ํ์ธํ ์ดํ ๊ฐ์ค์ ํ๋ฅ
- P(A): ์ฌ์ ํ๋ฅ . ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ธฐ ์ ๊ฐ์ค์ ํ๋ฅ
- P(B|A): likelihood. ๋ฐ์ดํฐ๊ฐ ๊ฐ์ค์ ํฌํจ๋ ํ๋ฅ
- P(B): ํ์ ์์. ์ด๋ค ๊ฐ์ค์๋ ํฌํจ๋๋ ๋ฐ์ดํฐ์ ๋น์จ.
-
์: ๊ฒ์ฌ์์ ์์ฑ์ด ๋์์ ๋ X๋ผ๋ ๋ณ์ ๊ฑธ๋ ธ์ ํ๋ฅ
- A = ๋ณ์ ๊ฑธ๋ ธ์ ์ฌ๊ฑด
- B = ๊ฒ์ฌ์์ ์์ฑ์ด ๋์ฌ ์ฌ๊ฑด
- ๊ฐ์
- P(A): 1%. ์ ์ฒด ์ธ๊ตฌ์ 1%๊ฐ X ๋ณ์ ๊ฑธ๋ ธ๋ค.
- P(B): ๊ฒ์ฌ์์ ์์ฑ์ด ๋์ฌ ํ๋ฅ . P(A) X P(B|A) + P(~A) X P(B|~A) --> X๋ผ๋ ๋ณ์ ๊ฑธ๋ ธ์ผ๋ฉด์ ๊ฒ์ฌ์์ ์์ฑ์ด ๋์ฌ ํ๋ฅ + X๋ผ๋ ์ ์ ๊ฑธ๋ ธ์ผ๋ฉด์ ๊ฒ์ฌ์์ ์์ฑ์ด ๋์ฌ ํ๋ฅ .
- P(B|A): 99%. ๊ฒ์ฌ ๊ฒฐ๊ณผ์ ์ ๋ขฐ๋๋ 99%์ด๋ค.
- P(A|B)
= P(B|A)P(A)/P(B)
= 0.99 X 0.01/(0.99 X 0.01 + 0.01 X 0.99)
= 0.5
reference
- https://johngrib.github.io/wiki/Bayes-theorem/
- https://m.blog.naver.com/PostView.nhn?blogId=mykepzzang&logNo=220834940797
- Bayes Theorem์์ ์ฌ๊ฑด A์ B๊ฐ ๋
๋ฆฝ์ด ์๋๋๋ผ๋, ๋
๋ฆฝ์ด๋ผ ๊ฐ์ ํ๊ณ Bayes Theorem์ ์ด์ฉํ์ฌ classification ์ํ
- ์คํธ ๋ฌธ์ ํํฐ๋ง ๋ฑ ๊ฐ๋จํ classification์ ์์ฃผ ์ฌ์ฉ๋๋ค.
- Naive Bayes๋ ๋ ๋ฆฝ๋ n๊ฐ์ feature๊ฐ ์์ ๋, C ์ฌ๊ฑด์ผ ํ๋ฅ ์ ๊ตฌํ๋ ํ๋ฅ ๋ชจ๋ธ๋ก ๋ณผ ์ ์๋ค.
- Bayes Theorem์ ์ด์ฉํ์ฌ ์ ์์ ์๋์ ๊ฐ์ด ์ค์ผ ์ ์๋ค.
- posterior: ํน์ ๊ฐ์ฒด x๊ฐ ํน์ ๊ทธ๋ฃน c์ ์ํ ํ๋ฅ ๊ฐ
- prior: ํน์ ๊ทธ๋ฃน c๊ฐ ๋ฐํํ ํ๋ฅ (Class Prior PRobability)
- likelihood: ํน์ ๊ทธ๋ฃน c์ ๋ํ์ฌ, ํน์ ๊ฐ์ฒด x๊ฐ ๊ฑฐ๊ธฐ์ ์ํ ์กฐ๊ฑด๋ถ ํ๋ฅ ์ด์ likelihood. (์ ์ ์๋ ์ฌ๊ฑด์ ๋ํด์ probability distribution function๊ณผ likelihood๊ฐ ๋์ผ)
- evidence: ํน์ ๊ฐ์ฒด๊ฐ ๋ฐ์ํ ํ๋ฅ , predictor prior probability. ๋ชจ๋ ๊ทธ๋ฃน์ ๋ํด ๋์ผํ๊ธฐ ๋๋ฌธ์ classification ํ ๋๋ ๋ฌด์ํ๊ธฐ๋ ํจ.
- Naive Bayes Classifier์ ํ๊ณ
- ํ๋ฅ ์ ๊ณ์ฐํ ๊ฒฐ๊ณผ๊ฐ 0์ด ๋์ค๋ ๊ฒฝ์ฐ๊ฐ ๋๋ฌด ๋น๋ฒํ๋ค. ๋ชจ๋ ์์ฑ์ ๋ํ class likelihood๋ฅผ ๊ณฑํ๋ค๋ ํน์ฑ ๋๋ฌธ์, ํ ์์ฑ์ด๋ผ๋ class likelihood๊ฐ 0์ด ๋๋ฉด ๊ฒฐ๊ณผ ํ๋ฅ ์ด ๋ฌด์กฐ๊ฑด 0์ด ๋๋ค.
- class likelihood๊ฐ 0์ด ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด, ๋ถ์์ prior probabilty X bias๋ฅผ, ๋ถ๋ชจ์ bias๋ฅผ ๋ํด์ค๋ค. bias๊ฐ ํด์๋ก prior probability๋ฅผ ๋ ์ ๋ขฐํ๋ ํจ๊ณผ๊ฐ ์๋ค.
- ์ข ์์ฑ์ด ๋งค์ฐ ๋์ ๋ฐ์ดํฐ๊ฐ ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ, ๊ฒฐ๊ณผ๊ฐ ๋ฐ๋์งํ๋ค๊ณ ํ์ ํ ์ ์๋ค. Naive Bayes๋ ๋ฐ์ดํฐ ๊ฐ์ ์ข ์์ฑ์ด ์๋ค๊ณ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
- ํ๋ฅ ์ ๊ณ์ฐํ ๊ฒฐ๊ณผ๊ฐ 0์ด ๋์ค๋ ๊ฒฝ์ฐ๊ฐ ๋๋ฌด ๋น๋ฒํ๋ค. ๋ชจ๋ ์์ฑ์ ๋ํ class likelihood๋ฅผ ๊ณฑํ๋ค๋ ํน์ฑ ๋๋ฌธ์, ํ ์์ฑ์ด๋ผ๋ class likelihood๊ฐ 0์ด ๋๋ฉด ๊ฒฐ๊ณผ ํ๋ฅ ์ด ๋ฌด์กฐ๊ฑด 0์ด ๋๋ค.
- Naive Bayes classifier๋ฅผ ์คํธ ํํฐ๋ง์ ์ฌ์ฉํด ๋ณด์.
- ์์ ๋ฌธ์ฅ: "๊ธ์ ๋์ถ ์๋ด"
- P(๊ธ์ |์คํธ) = 0.1, P(๋์ถ|์คํธ) = 0.2, P(์๋ด|์คํธ) = 0.1
- P(๊ธ์ |HAM) = 0.01, P(๋์ถ|ham) = 0.05, P(์๋ด|ham) = 0.2
- P(์คํธ|"๊ธ์ ๋์ถ ์๋ด") = P(์คํธ)P(๊ธ์ |์คํธ)P(๋์ถ|์คํธ)P(์๋ด|์คํธ) = P(์คํธ) * 0.1 * 0.2 * 0.1 = 0.002 P(์คํธ)
- P(ham|"๊ธ์ ๋์ถ ์๋ด") = P(ham) * 0.01 * 0.05 * 0.02 = 0.00001 P(ham)
- P(ham) = P(spam)์ด๋ผ๊ณ ๊ฐ์ ํ๋ฉด, "๊ธ์ ๋์ถ ์๋ด"์ด ์คํธ์ผ ๊ฐ๋ฅ์ฑ์ด ๋ ํฌ๋ค.
- P("๊ธ์ ๋์ถ ์๋ด")์ spam, ham์ธ ๊ฒฝ์ฐ ๋ชจ๋ ๊ฐ์ผ๋ฏ๋ก ์๋ตํ๋ค.