Machine Learning(EP.6)-การจัดหมวดหมู่ด้วย Naive Bayes
Naive Bayes Classification เป็นการจัดหมวดหมู่โดยใช้หลักความน่าจะเป็นเข้ามาช่วยคำนวณ
อธิบายสมการ แทนตัวแปร 3 ตัว คือ
c คือ Class
x คือ Attribute
P คือ Probability (ความน่าจะเป็น)
P(c|x) Posterior probability คือ
ความน่าจะเป็นที่ข้อมูลที่มีแอตทริบิวต์เป็น x จะมีคลาส C
P(x|c) Likelihood คือ ความน่าจะเป็นที่ข้อมูลที่มีคลาส C และมีแอตทริบิวต์ x
P(c) Prior probability คือ จำนวน Classที่อาจจะเกิดขึ้น/จำนวนClass ทั้งหมด
หรือความน่าจะเป็นของ Class C
P(x) Predictor Prior probability คือ จำนวน Attribute ทั้งหมด
ตัวอย่างที่ 1 :ทำนายข้อมูลบุคคล
จาก Dataset ตัวอย่าง
กำหนดค่าตัวแปรในสมการได้ ดังนี้
c คือ Class (เพศชาย/เพศหญิง)
x คือ Attribute (สีผิว , ส่วนสูง , น้ำหนัก )
P คือ Probability (ความน่าจะเป็น)
จำนวนเพศหญิงใน Dataset = 10
จำนวนเพศชายใน Dataset = 5
P(x|c) Likelihood ความน่าจะเป็นที่ข้อมูลที่มีคลาส C และมีแอตทริบิวต์ x
หมายถึง ความน่าจะเป็นที่ข้อมูลชาย-หญิงจะมีคนที่มีสีผิว น้ำหนัก ส่วนสูง
ตามเกณฑ์ที่กำหนด เช่น
- ในจำนวนผู้หญิง 10 คน มีผิวสีขาว 9 คน ค่า P(x|c=เพศหญิง) = 9/10
- ในจำนวนผู้ชาย 5 คน มีผิวสีขาว 3 คน ค่า P(x|c=เพศชาย) = 3/5
P(c) Prior probability คือ ความน่าจะเป็นของ Class
คือจำนวนของ Class / Class ทั้งหมด
- ถ้าคิดค่า P(c) ของผู้หญิง= 10/15
- ถ้าค่า P(c) ของผู้ชาย= 5/15
P(x) Predictor Prior probability = 12/15
หมายถึงมีคนผิวขาวจำนวน 12 คนจากทั้งหมด 15 คน
ดังนั้นหากแทนค่าในสูตรจะได้
ค่าของ P(c=เพศหญิง|x) = 0.75
ค่าของ P(c=เพศชาย|x) = 0.25
ดังนั้นจากข้อมูลใน Dataset
จะมีคนผิวขาวที่เป็นเพศหญิง 75% และเป็นเพศชาย 25%
ตัวอย่างที่ 2: ทำนายพฤติกรรมการออกไปเล่นเทนนิส
ทำนายการออกไปเล่นเทนนิสจากข้อมูล 14 วัน โดยให้ค่าผลลัพธ์จาก Class 2 ค่าคือ
P (ออกไปเล่น) และ N (ไม่ออกไปเล่น) ซึ่งมีคุณสมบัติ (Attribute) ดังนี้
กำหนดค่าตัวแปรในสมการได้ ดังนี้
c คือ Class (P,N)
x คือ Attribute (Sunny ,Cool , High,True)
สิ่งที่ต้องการคือ อยากทำนายผลว่าหากมี Attribute ดังกล่าวจะส่งผลให้ออกไปเล่นเทนนิสหรือไม่ ?
P(c) Prior probability คือ ความน่าจะเป็นของ Class
- P(P) = 9/14 =(0.64)
- P(N) =5/14 = (0.36)
P(x|c) Likelihood คือ ความน่าจะเป็นของแต่ละคุณสมบัติ
แทนค่าในสมการ
ดังนั้นการออกไปเล่นเทนนิสถ้าหากเจอสภาพอากาศหรือค่า
Outlook = Sunny , Temp = Cool , Hum=High,Wind=True
นักกีฬาจะไม่ออกไปเล่นเทนนิสเนื่องจากค่าความน่าจะเป็นหรือสมมุติฐานที่ตั้งไว้มีค่าสูงกว่า คือ 0.0206 นั่นเอง
บทความที่เกี่ยวข้อง
EP.1 — ชุดข้อมูล (DataSet)
EP.2 — รู้จักกับข้อมูลชุดเรียนรู้และข้อมูลชุดทดสอบ
EP.3 — Linear Regression
EP.4 — Binary Classifier
EP.5 — K-nearest Neighbors
EP.6 — Naive Bayes
EP.7 — การวิเคราะห์องค์ประกอบหลัก (PCA)
EP.8 — การจัดกลุ่มด้วย K-Means(K-Means Clustering)
EP.9 — การจดจำใบหน้า (Face Recognition)
EP.10 — การจดจำตัวอักษร (Character Recognition)