2.2.6
Naive Bayes
สรุป
- Naive Bayes สมมติว่าฟีเจอร์เป็นอิสระต่อกันภายใต้คลาสเดียวกัน แล้วใช้ทฤษฎีเบย์ผสานความน่าจะเป็นล่วงหน้ากับความน่าจะเป็นตามเงื่อนไข
- ฝึกและทำนายรวดเร็ว เหมาะกับงานข้อความหรือข้อมูลมิติสูงที่เบาบาง ใช้เป็น baseline ที่แข็งแรงได้
- การใช้ Laplace smoothing หรือ TF-IDF ช่วยรับมือคำที่ไม่เคยเห็นและความแตกต่างด้านความถี่
- หากสมมติฐานอิสระแรงเกินไป สามารถเลือกฟีเจอร์หรือผสมกับโมเดลอื่นในลักษณะ ensemble
สัญชาตญาณ #
การเข้าใจวิธีนี้ควรดูสมมติฐานของโมเดล ลักษณะข้อมูล และผลของการตั้งค่าพารามิเตอร์ต่อการทั่วไปของโมเดล
คำอธิบายโดยละเอียด #
สูตรสำคัญ #
สำหรับคลาส \(y\) และเวกเตอร์คุณลักษณะ \(\mathbf{x}=(x_1,\ldots,x_d)\)
$$ P(y \mid \mathbf{x}) \propto P(y) \prod_{j=1}^{d} P(x_j \mid y). $$งานข้อความนิยมใช้ Multinomial Naive Bayes (นับจำนวนคำ), Bernoulli Naive Bayes (มี/ไม่มีคำ) หรือ Gaussian Naive Bayes สำหรับข้อมูลต่อเนื่อง
ทดลองด้วย Python #
ตัวอย่างต่อไปนี้ใช้ Gaussian Naive Bayes กับข้อมูลสังเคราะห์ 3 คลาส แล้ววาดบริเวณการจำแนก
| |

เอกสารอ้างอิง #
- Manning, C. D., Raghavan, P., & Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press.
- Murphy, K. P. (2012). Machine Learning: A Probabilistic Perspective. MIT Press.