12. Probability
Joint Probability คือ ความน่าจะเป็นของ 2 เหตุการณ์
ที่เกิดขึ้นร่วมกัน
ตัวอย่าง: ความน่าจะเป็นที่มีคาว่า Free อยู่ใน spam
mail
สัญลักษณ์ P(Free=Y ∩ spam)
ความน่าจะเป็นที่
มีคาว่า Free ใน
normal mail
ความน่าจะ
เป็นที่เป็น
spam mail
ความน่าจะเป็นที่
มีคาว่า Free ใน
spam mail
13. Naive Bayes
ใช ้หลักการความน่าจะเป็น (probability)
•P(A|B) คือ ค่า conditional probability หรือค่าความน่าจะเป็นที่เกิดเหตุการณ์ B ขึ้น
ก่อนและจะมีเหตุการณ์ A ตามมา
•P(A ∩ B) คือ ค่า joint probability หรือค่าความน่าจะเป็นที่เหตุการณ์ A และ
เหตุการณ์ B เกิดขึ้นร่วมกัน
•P(B) คือ ค่าความน่าจะเป็นที่เหตุการณ์ B เกิดขึ้น
15. Naive Bayes
จากทั้ง 2 แบบจะเห็นว่ามีค่า P(A ∩ B) ที่เหมือนกันอยู่
ดังนั้นเราสามารถเขียนสมการของ P(A ∩ B) ได ้เป็นดังนี้
และนี่คือสมการที่เรียกว่า Bayes theorem หรือทฤษฎีของ
เบย์ ในการนาไปใช ้งานทางด ้าน data mining ในที่นี้จะขอ
เปลี่ยนสัญลักษณ์ A และ B เสียใหม่ให ้เป็น A และ C โดย
ที่ A คือ แอตทริบิวต์ (attribute) และ C คือ ค่าคลาส
(class) ดังสมการด ้านล่าง
16. Naive Bayes
จากสมการของ Bayes จะมี 3 ส่วนที่สาคัญ คือ
•Posterior probability หรือ P(C|A) คือ ค่าความน่าจะเป็นที่ข ้อมูล
ที่มีแอตทริบิวต์เป็น A จะมีคลาส C
•Likelihood หรือ P(A|C) คือ ค่าความน่าจะเป็นที่ข ้อมูล training
data ที่มีคลาส C และมีแอตทริบิวต์ A โดยที่ A = a1 ∩ a2 … ∩ aM
โดยที่ M คือจานวนแอตทริบิวต์ใน training data
•Prior probability หรือ P(C) คือ ค่าความน่าจะเป็นของคลาส C
17. Naive Bayes
แต่การที่แอตทริบิวต์ A = a1 ∩ a2 … ∩ aM ที่เกิดขึ้นใน
training data อาจจะมีจานวนน้อยมากหรือไม่มี
รูปแบบของแอตทริบิวต์แบบนี้เกิดขึ้นเลย ดังนั้นจึงได ้
ใช ้หลักการที่ว่าแต่ละแอตทริบิวต์เป็น independent
ต่อกันทาให ้สามารถเปลี่ยนสมการ P(A|C) ได ้เป็น
ต่อไปจะแสดงวิธีการคานวณค่าต่างๆ จากไฟล์
training data เพื่อสร ้างเป็นโมเดล Naive Bayes ใน
บทความนี้จะใช ้ข ้อมูลเดียวกันกับบทความที่ผ่านมา
นั่นคือข ้อมูล weather ดังในตารางที่ 1 (ผู้อ่านสามารถ
24. ฟังก์ชั่นการดาเนินการใน
อัลกอริทึม k-NN
นิยามตัวอย่าง x ด ้วยเวกเตอร์คุณลักษณะ x=<a1(x),
a2(x),…, an(x)>
นิยามระยะห่างระหว่างตัวแปรตัวอย่าง xi และ xj ดัง
สมการ
2
4
n
r
j
r
i
r
j
i x
a
x
a
x
x
d
1
2
))
(
)
(
(
)
,
(
26. การเรียนรู ้ของอัลกอริทึม k-NN
ประมาณค่าฟังก์ชั่นเป้าหมายของตัวอย่างค ้นถาม Xq
◦ ค่าฟังก์ชั่นเป้าหมายเป็นค่าไม่ต่อเนื่อง เลือกค่าส่วนมาก
ของค่าฟังก์ชั่นเป้าหมายของตัวอย่าง Xi จานวน k ตัวที่อยู่
ใกล ้Xq มากที่สุด
2
6
0
1
)
,
(
))
(
,
(
max
arg
)
(
ˆ
1
otherwise
b
a
b
a
x
f
v
x
f
k
i
i
V
v
q
27. การเรียนรู ้ของอัลกอริทึม k-NN
ค่าฟังก์ชั่นเป้าหมายเป็นค่าจานวนจริง ค่าเฉลี่ยของ
ค่าฟังก์ชั่นเป้าหมายของตัวอย่าง Xi จานวน k ตัวที่อยู่
ใกล ้Xq มากที่สุด
2
7
k
x
f
x
f
k
i i
q
1 )
(
)
(
ˆ
29. k-NN แบบถ่วงน้าหนักด้วยระยะทาง
(Distance-Weighted k-NN)
เราสามารถปรับปรุงการเรียนรู้ด ้วยวิธี k-NN ให ้ละเอียด
ขึ้น โดยการให ้น้าหนักที่มากกว่ากับตัวอย่างที่ใกล ้
ตัวอย่างค ้นถามมากกว่า
ผลเสียคือการทางานของจาแนกประเภทจะช ้าลง
ในการปรับ kNN ให ้ละเอียดขึ้น โดยการให ้น้าหนักที่
มากกว่ากับตัวอย่างที่ใกล ้กับตัวอย่างค ้นถามมากกว่า
การคานวณค่าน้าหนัก ใช ้สมการ
2
9
2
)
,
(
1
i
q
i
x
x
d
w
30. k-NN แบบถ่วงน้าหนักด้วยระยะทาง (Distance-
Weighted k-NN)
โดยใช ้สมการที่ (9.5) สาหรับฟังก์ชั่นเป้าหมายที่เป็น
ค่าไม่ต่อเนื่อง (Discrete-Valued Target Functions)
และใช ้สมการที่ (9.6) สาหรับฟังก์ชั่นเป้าหมายที่เป็น
ค่าต่อเนื่อง (Real-Valued Target Functions)
3
0
k
i
i
i
V
v
q x
f
v
w
x
f
1
))
(
,
(
max
arg
)
(
ˆ
k
i i
k
i i
i
q
w
x
f
w
x
f
1
1
)
(
)
(
ˆ
34. ความถดถอยแบบถ่วงน้าหนักท้องถิ่น (Locally
Weighted Regression)
ในสมการที่ (9.8) ใช ้หลักการปรับน้าหนัก (Weight)
แบบเดียวกับ Neural Network โดยใช ้หลักการของ
Gradient Descent หาค่าความผิดพลาด (Error) น้อย
ที่สุดของการคานวณค่า weight
3
4
D
x
j
j
D
x
x
a
x
f
x
f
w
x
f
x
f
E
)
(
))
(
ˆ
)
(
(
))
(
ˆ
)
(
( 2
2
1
35. ทางเลือกค่าความผิดพลาด
ทางเลือกนิยามค่าความผิดพลาดที่เป็นไปได ้3 แบบคือ
◦ Squared error over k Nearest Neighbors
◦ Distance-weighted squared error over the entire set D of
training data
◦ Combine 1 and 2
◦ หมายเหตุ K คือ เคอร์เนลฟังก์ชั่น หรือ ฟังก์ชั่นผกผัน (inverse function)
กับระยะห่าง ใช ้เพื่อกาหนดน้าหนักสาหรับตัวอย่างสอนแต่ละตัว 3
5