SlideShare a Scribd company logo
1 of 49
Chapter 8
Classification
อาจารย์อนุพงศ ์สุขประเสริฐ
คณะการบัญชีและการจัดการ
มหาวิทยาลัยมหาสารคาม
2
Content
 การจาแนกประเภทข้อมูล (Classification)
 เทคนิคการการจาแนกประเภทข้อมูล (Classification
Techniques)
◦ Decision Tree
◦ Naive Bayes
◦ Linear Regression
◦ Neural Network
◦ K-Nearest Neighbors (kNN)
◦ Support Vector Machines (SVM)
การจาแนกข้อมูล (Classification)
การจาแนกข ้อมูล (Classification) หมายถึง การจาแนก
หรือแบ่งประเภทข ้อมูล โดยหาต ้นแบบหรือสารวจจุดเด่น
จุดด ้อยที่ปรากฎอยู่ภายในชุดข ้อมูล โดยใช ้ข ้อมูลที่มีอยู่
จานวนหนึ่งในการสร ้างต ้นแบบ ซึ่งตัวแบบที่ได ้รับนั้น จะ
สามารถนาไปใช ้ในการกาหนดประเภทของชุดข ้อมูลว่า
สมควรมีกี่ประเภท อะไรบ ้าง อย่างเหมาะสม เพื่อจัดสรร
ข ้อมูลเก่าและใหม่ให ้อยู่ตามประเภทหรือหมวดหมู่ที่
เหมาสม
จุดประสงค์ของการจาแนกประเภท
ข้อมูล
 คือการสร ้างโมเดลการแยกแอทริบิวท์หนึ่งโดยขึ้นกับ
แอทริบิวท์อื่น โมเดลที่ได ้จากการจาแนกประเภท
ข ้อมูลจะทาให ้สามารถพิจารณาคลาสในข ้อมูลที่ยัง
มิได ้แบ่งกลุ่มในอนาคตได ้เทคนิคการจาแนกประเภท
ข ้อมูลนี้ได ้นาไปประยุกต์ใช ้ในหลายด ้าน เช่น การจัด
กลุ่มลูกค ้าทางการตลาด, การตรวจสอบความผิดปกติ
และการวิเคราะห์ทางการแพทย์ เป็นต ้น
เทคนิคการการจาแนก
ข้อมูล (Classification Techniques)
 เทคนิคการจาแนกประเภทข ้อมูลเป็นกระบวนการสร ้าง
โมเดลจัดการข ้อมูลให ้อยู่ในกลุ่มที่กาหนดมาให ้จาก
กลุ่มตัวอย่างข ้อมูลที่เรียกว่าข ้อมูลสอนระบบ (training
data) ที่แต่ละแถวของข ้อมูลประกอบด ้วยฟิลด์หรือ
แอทริบิวท์จานวนมาก แอทริบิวท์นี้อาจเป็นค่าต่อเนื่อง
(continuous) หรือค่ากลุ่ม (categorical) โดยจะมี
แอทริบิวท์แบ่ง (classifying attribute) ซึ่งเป็นตัวบ่งชี้
คลาสของข ้อมูล
เทคนิคการการจาแนก
ข้อมูล (Classification Techniques)
 เทคนิคในการจาแนกกลุ่มข ้อมูลด ้วยคุณลักษณะต่างๆ
ที่ได ้มีการกาหนดไว ้แล ้วสร ้างแบบจาลองเพื่อการ
พยากรณ์ค่าข ้อมูล (Predictive Model) ในอนาคต
เรียกว่า Supervised learning ซึ่งได ้แก่
◦ Decision Tree
◦ Naive Bayes
◦ K-Nearest Neighbors (kNN)
◦ Linear Regression
◦ Neural Network
Decision Tree
 Decision Tree การทางานเป็ นโหนด
 โหนดที่เป็นทั่วๆ ไป X , โหลดที่เป็นลีฟโหลดไม่มีอะไร
มาต่อ Y โหนดบนสุด Root มีเส ้นที่เชื่อมเรียก กิ่ง หรือ
Branch , Internal Node ตัวอธิบายการตัดสินใจไป
เรื่อยๆ
 ข้อดี
◦ สามารถแทนความหมายได ้ง่าย
◦ เป็น white box model
◦ เป็นเทคนิสตที่ให ้ผลเร็วเมื่อเทียบกับเทคนิคอื่น
◦ ผลลัพธ์ที่ได ้สามารถนาไปใช ้งานได ้เลย และสามารถ
แปลงเป็นกฏได ้
◦ ให ้ความแม่นยาสูง
Decision Tree
 Decision Tree เป็นเทคนิคที่จาแนกทาการหาจาก
Training Data ที่เรามี Attribute ทั่วไปที่มีเช่น มี Free,
won ,Cash จาก Label ที่เรามี มันจะต ้องมีการแบ่งแยกคา
ตอบได ้อย่างชัดเจนที่สุด ด ้วยการคานวณค่า Entropy
(เอ็นโทปี้) และ Information Gain (IG)
 สูตร Entropy (c1) = -p(c1) log p(c1)
 IG (parent, child) = Entropy (parent) – [p(c1) x
Entropy(c1) + p(c2) x Entropy(c2)+…]
 ลักษณะของค่า Entropy ถ ้าค่าเหมือนกันหมดจะมีค่าเป็ น
ศูนย์ มาจากสูตร ความน่าจเป็น 1
 แอททริบิวต์ไหนที่จะนามาเป็น Root Node คือเอาแอทริ
บิวต์ที่สามารถแบ่งแยกคาตอบได ้อย่างชัดเจนก่อน
Example: Weather Data
 เก็บสภาพภูมิอากาศจานวน 14 วันเพื่อพิจารณาว่ามี
การแข่งขันกีฬาได ้หรือไม่ (ถามว่ามี Yes กี่ตัว ตอบ =
9 แทนด ้วยรูปสีฟ้า No = 5 แทนด ้วยสีส ้ม) ผลของ
วงกลมยังไม่ได ้แบ่งข ้อมูลออกมานาออกมาพอท
คานวณ เข ้าสูตร Entropy = 0.97 มีค่าใกล ้1 แล ้วทา
การกรองข ้อมูลจาก 14 ตัวที่มีผลเป็น Sunny
 โหนดไหนแบ่งแยกคาตอบได ้อย่างชัดเจนเป็น root
node ก่อน ในตัวอย่างเลือก outlook เพราะมีคาตอบ
outlook = overcast ที่เป็นสีฟ้าล ้วนให ้คาตอบในทาง
เดียวได ้ชัดเจน
 โมเดลเปลี่ยนตามดาต ้าที่มี แต่ถ ้ามีข ้อมูลใหม่มันต ้อง
Workshop : Decision
Tree
Naive Bayes
 ใช ้หลักการความน่าจะเป็น (Probablility) ไม่ต ้องใช ้
Tree
 โอกาสที่เกิดเหตุการณ์จากเหตุการณ์ทั้งหมด ใช ้
สัญลักษณ์ P() หรือ Pr() เช่น
◦ การโยนเหรียญความน่าจะเป็นของการเกิดหัวและก ้อย
 โอกาสที่จะออกหัว มีความน่าจะเป็น ½ = 0.5
 โอกาสที่จะออกก ้อย มีความน่าจะเป็น ½ = 0.5
◦ ความน่าจะเป็นของการพบ spam email
 มี email ทั้งหมด 100 ฉบับ
 มี spam email ทั้งหมด 20 ฉบับ
 มี normal email ทั้งหมด 80 ฉบับ
 โอกาสที่ email จะเป็น spam มีความน่าจะเป็น 20/100 = 0.2
หรือ P(spam) = 0.2
 โอกาสที่ email จะเป็น normal มีความน่าจะเป็น 80/100 = 0.8
Probability
 Joint Probability คือ ความน่าจะเป็นของ 2 เหตุการณ์
ที่เกิดขึ้นร่วมกัน
 ตัวอย่าง: ความน่าจะเป็นที่มีคาว่า Free อยู่ใน spam
mail
 สัญลักษณ์ P(Free=Y ∩ spam)
ความน่าจะเป็นที่
มีคาว่า Free ใน
normal mail
ความน่าจะ
เป็นที่เป็น
spam mail
ความน่าจะเป็นที่
มีคาว่า Free ใน
spam mail
Naive Bayes
 ใช ้หลักการความน่าจะเป็น (probability)
•P(A|B) คือ ค่า conditional probability หรือค่าความน่าจะเป็นที่เกิดเหตุการณ์ B ขึ้น
ก่อนและจะมีเหตุการณ์ A ตามมา
•P(A ∩ B) คือ ค่า joint probability หรือค่าความน่าจะเป็นที่เหตุการณ์ A และ
เหตุการณ์ B เกิดขึ้นร่วมกัน
•P(B) คือ ค่าความน่าจะเป็นที่เหตุการณ์ B เกิดขึ้น
Naive Bayes
 ในลักษณะเดียวกันเราจะเขียน P(B|A) หรือค่าความ
น่าจะเป็นที่เหตุการณ์ A เกิดขึ้นก่อนและเหตุการณ์ B
เกิดขึ้นตามมาทีหลังได ้เป็น
Naive Bayes
 จากทั้ง 2 แบบจะเห็นว่ามีค่า P(A ∩ B) ที่เหมือนกันอยู่
ดังนั้นเราสามารถเขียนสมการของ P(A ∩ B) ได ้เป็นดังนี้
 และนี่คือสมการที่เรียกว่า Bayes theorem หรือทฤษฎีของ
เบย์ ในการนาไปใช ้งานทางด ้าน data mining ในที่นี้จะขอ
เปลี่ยนสัญลักษณ์ A และ B เสียใหม่ให ้เป็น A และ C โดย
ที่ A คือ แอตทริบิวต์ (attribute)​ และ C คือ ค่าคลาส
(class) ดังสมการด ้านล่าง
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
Naive Bayes
 แต่การที่แอตทริบิวต์ A = a1 ∩ a2 … ∩ aM ที่เกิดขึ้นใน
training data อาจจะมีจานวนน้อยมากหรือไม่มี
รูปแบบของแอตทริบิวต์แบบนี้เกิดขึ้นเลย ดังนั้นจึงได ้
ใช ้หลักการที่ว่าแต่ละแอตทริบิวต์เป็น independent
ต่อกันทาให ้สามารถเปลี่ยนสมการ P(A|C) ได ้เป็น
 ต่อไปจะแสดงวิธีการคานวณค่าต่างๆ จากไฟล์
training data เพื่อสร ้างเป็นโมเดล Naive Bayes ใน
บทความนี้จะใช ้ข ้อมูลเดียวกันกับบทความที่ผ่านมา
นั่นคือข ้อมูล weather ดังในตารางที่ 1 (ผู้อ่านสามารถ
Workshop : Naive
Bayes
K-Nearest Neighbors
คือ วิธีการในการจัดแบ่งคลาส เทคนิคนี้จะตัดสินใจ ว่า
คลาสใดที่จะแทนเงื่อนไขหรือกรณีใหม่ๆ ได ้บ ้าง โดย
การตรวจสอบจานวนบางจานวน (“K” ใน K-nearest
neighbor) ของกรณีหรือเงื่อนไขที่เหมือนกันหรือ
ใกล ้เคียงกันมากที่สุด โดยจะหาผลรวม (Count Up)ของ
จานวนเงื่อนไข หรือกรณีต่างๆสาหรับแต่ละคลาส และ
กาหนดเงื่อนไขใหม่ๆ ให ้คลาสที่เหมือนกันกับคลาสที่
ใกล ้เคียงกันมากที่สุด
K-Nearest Neighbors
 จะตัดสินใจ ว่าคลาสใดที่จะแทนเงื่อนไขหรือกรณี
ใหม่ๆ ได ้
 ตรวจสอบจานวนบางจานวน (“k” ใน k-Nearest
Neighbor) ของกรณีหรือเงื่อนไขที่เหมือนกันหรือ
ใกล ้เคียงกันมากที่สุด โดยจะหาผลรวมของจานวน
เงื่อนไข หรือกรณีต่างๆ สาหรับแต่ละคลาส
 กาหนดเงื่อนไขใหม่ๆ ให ้คลาสที่เหมือนกันกับคลาสที่
ใกล ้เคียงกันมากที่สุด
2
0
ฟังก์ชั่นการดาเนินการใน
อัลกอริทึม k-NN
การดาเนินการของอัลกอริทึมแบบ k-NN ประกอบไปการ
ทางานของ 2 ฟังก์ชั่น
 ฟังก์ชั่นระยะทาง (Distance Function)
◦ เป็นการคานวณค่าระยะห่างระหว่างสองเรคคอร์ดข ้อมูล
เพื่อที่จะมาวัดความคล ้ายคลึงกันของข ้อมูล โดยมีเงื่อนไขคือ
◦ ค่าระยะทาง(ความห่าง)ที่คานวณได ้ต ้องไม่ติดลบ
◦ ถ ้าตาแหน่งเดียวกันฟังก์ชันต ้องเป็นศูนย์(ค่าเหมือนกัน)
◦ การคานวณวัดระยะทางไปกลับต ้องเท่ากัน
2
1
ฟังก์ชั่นการดาเนินการใน
อัลกอริทึม k-NN
 การดาเนินการการหาระยะทางระหว่าง จุด A
และ B ใด ๆ ทาได ้โดย
◦ ใส่ค่าสัมบูรณ์ (Absolute) ให ้กับค่าระยะทาง: |A-B|
◦ ยกกาลังสองให ้กับค่าระยะทาง : (A-B)2
2
2
ฟังก์ชั่นการดาเนินการใน
อัลกอริทึม k-NN
ฟังก์ชั่นการรวม (Combination Function)
 เป็นการรวมกันของผลลัพธ์ที่ได ้จากการคานวณค่า
Distance โดยทาการเรียงลาดับค่าDistance จากน้อย
ไปมาก หลังจากนั้นดูจากค่า “k” ว่ากาหนดเป็นเท่าไร
แล ้วนาลาดับที่เรียงได ้มาเทียบกับคลาสข ้อมูลที่เรียง
แล ้วนามาตอบ นิยมใช ้การรวมระยะห่างโดยใช ้วิธี
แบบยูคลิเดียน (Euclidean Distance)
2
3
ฟังก์ชั่นการดาเนินการใน
อัลกอริทึม 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
))
(
)
(
(
)
,
(
การเรียนรู ้ของอัลกอริทึม k-NN
เมื่อมีการกาหนดตัวอย่างค ้นถาม Xq แล ้ว การเรียนรู้
ประกอบด ้วย 2 ขั้นตอน
1. ใช ้มาตรวัดระยะห่างคานวณหาตัวอย่าง k ตัวที่อยู่
ใกล ้ Xq มากที่สุดจากเซตตัวอย่างสอน
2. ประมาณค่าฟังก์ชั่นเป้าหมายของตัวอย่างค ้นถาม
Xq ด ้วยค่าฟังก์ชั่นเป้าหมายของตัวอย่าง Xi จานวน k
ตัวที่อยู่ใกล ้Xq มากที่สุด
2
5
การเรียนรู ้ของอัลกอริทึม 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


การเรียนรู ้ของอัลกอริทึม k-NN
 ค่าฟังก์ชั่นเป้าหมายเป็นค่าจานวนจริง  ค่าเฉลี่ยของ
ค่าฟังก์ชั่นเป้าหมายของตัวอย่าง Xi จานวน k ตัวที่อยู่
ใกล ้Xq มากที่สุด
2
7
k
x
f
x
f
k
i i
q
 
 1 )
(
)
(
ˆ
การเรียนรู ้ของอัลกอริทึม k-NN
 ตัวอย่างของตัวอย่างค ้นถามในปริภูมิข ้อมูล แสดงได ้โดย
แผนภาพโวโรนอย (Voronoi Diagram) ดังรูปแสดงจุดในปริภูมิ
2 มิติ และค่าฟังก์ชั่นเป้าหมายแบบบูลีน (Boolean) จะเห็นว่า
วิธีการแบบ 1-NN จาแนกประเภทตัวอย่างค ้นถาม Xq เป็น
ประเภทบวก(+) ส่วนวิธีการแบบ 5-NN จาแนกประเภทตัวอย่าง
ค ้นถาม Xq เป็นประเภทลบ (-)
2
8
แผนภาพ Voronoi Diagram
k-NN แบบถ่วงน้าหนักด้วยระยะทาง
(Distance-Weighted k-NN)
 เราสามารถปรับปรุงการเรียนรู้ด ้วยวิธี k-NN ให ้ละเอียด
ขึ้น โดยการให ้น้าหนักที่มากกว่ากับตัวอย่างที่ใกล ้
ตัวอย่างค ้นถามมากกว่า
 ผลเสียคือการทางานของจาแนกประเภทจะช ้าลง
 ในการปรับ kNN ให ้ละเอียดขึ้น โดยการให ้น้าหนักที่
มากกว่ากับตัวอย่างที่ใกล ้กับตัวอย่างค ้นถามมากกว่า
การคานวณค่าน้าหนัก ใช ้สมการ
2
9
2
)
,
(
1
i
q
i
x
x
d
w 
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
)
(
)
(
ˆ
ความถดถอยแบบถ่วงน้าหนักท้องถิ่น (Locally
Weighted Regression)
 เนื่องจาก k-NN จะให ้ค่าประมาณฟังก์ชั่นเป้าหมาย
ท ้องถิ่นที่แตกต่างกันไปสาหรับแต่ละตัวอย่างค ้นถาม
Xq จึงเกิดคาถามว่าเราน่าจะสร ้างเป็นฟังก์ชั่นประมาณ
ค่าซึ่งเข ้ากับตัวอย่างสอนละแวกใกล ้เคียงกับตัวอย่าง
ค ้นถาม
 โดยฟังก์ชั่นที่สร ้างนั้น อาจเป็นฟังก์ชั่นเชิงเส ้น (Linear
Function) ฟังก์ชั่นกาลังสอง (Quadratic Function)
ฟังก์ชั่นข่ายงานประสาทเทียมหลายชั้น (Multilayer
Neural Network) หรือฟังก์ชั่นรูปแบบอื่น ๆ
3
1
ความถดถอยแบบถ่วงน้าหนักท้องถิ่น (Locally
Weighted Regression)
 ฟังก์ชั่นที่สร ้างขึ้นเป็นรูปแบบนัยทั่วไป
(Generalization) โดยใช ้หลักของการถดถอยแบบถ่วง
น้าหนักท ้องถิ่น คือ
◦ ท ้องถิ่น (Local) เนื่องจากฟังก์ชั่นเป้าหมายขึ้นอยู่กับตัวอย่าง
ที่อยู่ใกล ้กับตัวอย่างค ้นถาม Xq
◦ ถ่วงน้าหนัก (Weighted) เนื่องจากมีการให ้น้าหนักการมีส่วน
ร่วมของตัวอย่างสอนตามระยะห่างจากตัวอย่างค ้นถาม Xq
◦ ความถดถอย (Regression) เนื่องจากเป็นการประมาณ
ฟังก์ชั่นค่าจริงที่ให ้มีความผิดพลาดน้อยที่สุด
3
2
ความถดถอยแบบถ่วงน้าหนักท้องถิ่น (Locally
Weighted Regression)
ตัวอย่างการใช ้ฟังก์ชั่นเชิงเส ้นเพื่อประมาณฟังก์ชั่น
เป้าหมาย
 ใช ้Linear Function เพื่อประมาณค่าฟังก์ชั่น
เป้าหมายดังนี้ สมการที่ (9.7)
3
3
)
(
...
)
(
)
(
ˆ
1
1
0 x
a
w
x
a
w
w
x
f n
n




ความถดถอยแบบถ่วงน้าหนักท้องถิ่น (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

ทางเลือกค่าความผิดพลาด
 ทางเลือกนิยามค่าความผิดพลาดที่เป็นไปได ้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
ข้อดีและข้อเสียของ k-NN
ข้อดี
 สามารถจาลองฟังก์ชั่นเป้าหมายที่ซับซ ้อนด ้วยชุดของ
ค่าประมาณแบบท ้องถิ่นที่ซับซ ้อนได ้
 สารสนเทศที่ปรากฎอยู่ในชุดข ้อมูลสอนไม่สูญหาย
เนื่องจากถูกจัดเก็บแยกไว ้ต่างหาก
 เวลาที่ใช ้สอนจะรวดเร็ว เนื่องจากการเป็นการเรียนรู้
แบบเกียจคร ้าน
3
6
ข้อดีและข้อเสียของ k-NN
ข้อเสีย
 ค่าใช ้จ่ายตอนจาแนกประเภทสูง เนื่องจากการคานวณ
เกิดขึ้นขณะค ้นถามมากกว่าตอนสอน
 ความยากในการกาหนดมาตรวัดระยะห่างที่เหมาะสม
 วิธีจาแนกประเภทแบบเพื่อนบ ้านใกล ้สุด k ตัว เหมาะกับ
ชุดข ้อมูลสอนที่มีปริมาณมาก และตัวอย่างมีคุณลักษณะไม่
เกิน 20 คุณลักษณะ
 ต ้องการวิธีการจัดทาดัชนีหน่วยความจา (Memory
Indexing) ที่มีประสิทธิภาพ (มีการจัดเก็บตัวอย่างสอนไว ้
ต่างหาก)
 ผลกระทบเชิงลบจากคุณลักษณะที่ไม่เกี่ยวข ้อง ต่อมาตร
วัดระยะห่าง หรือการเกิด Curse of Dimensionality
3
7
Workshop : K-Nearest
Neighbors
Linear Regression
 การวิเคราะห์การถดถอยเชิงเส ้นตรง (Linear regression
analysis) จะเป็นการทานายข ้อมูลที่มีค่า เชิงตัวเลขที่
เกี่ยวข ้องกับ response variable “𝑦” โดยการพิจารณาค่า
predictor variable “𝑥” เพียงแค่ ค่าเดียวด ้วยการ
ประยุกต์ใช ้ฟังก์ชันเชิงเส ้นตรง (Linear function) ที่ซึ่ง
สามารถคานวณได ้จาก
𝑦 = 𝑎 + 𝑏𝑥
เมื่อ a คือ ค่าสัมประสิทธิ์ความถดถอยที่ซึ่งจะเป็นตัวก าหนด
จุดตัดแกน y (y-intercept) และ b คือ ค่าสัมประสิทธิ์ความ
Workshop : Linear
Regression
Artificial Neural Network: NN
 โครงข่ายประสาทเทียม หรือ เครือข่ายประสาทเทียม
(Artificial Neural Network: ANN)” หมายถึง
คอมพิวเตอร์ที่สามารถเลียนแบบการทางานของสมอง
มนุษย์ได ้ด ้วยการ ประมวลผลข ้อมูลสารสนเทศ และ
องค์ความรู้ได ้ในคราวละมากๆ เป็นรวมกลุ่มแบบขนาน
ของหน่วยประมวลผลย่อยๆ ซึ่งการเชื่อมต่อใน
โครงสร ้างทาให ้เกิดความรู้ประสบการณ์ ความฉลาด
ของข่ายงาน
Artificial Neural Network
 โครงข่ายประสาทเทียม ประกอบไปด ้วย 3 ชั้น ได ้แก่
◦ ชั้นอินพุต (Input Layer)
◦ ชั้นซ่อน (Hidden Layer)
◦ ชั้นเอาท์พุต (Output Layer)
42
Artificial Neural Network
◦ชั้นอินพุต (Input Layer)
 เป็นชั้นที่รอรับข ้อมูลเข ้าสู่โครงข่ายประสาทเทียม
 ข ้อมูลที่นาเข ้าสู่โครงข่าย ก็คือข ้อมูลที่ผ่านการ
เตรียมข ้อมูลดังที่ได ้แสดงไว ้ในขั้นตอนการเตรียม
ข ้อมูลของโครงข่ายประสาทเทียม
43
Input
Layer
.
.
.
.
.
.
.
.
.
Artificial Neural Network
 ในการรู้จาลายมือเขียนภาษาไทยนี้จะใช ้ค่า
ลักษณะเฉพาะของตัวอักขระ (Feature Extractions)
มาเป็นค่าอินพุตของโครงข่าย
 ดังนั้นจานวนโหนดในชั้นอินพุคจะมีจานวน
ลักษณะเฉพาะของตัวอักขระที่หาได ้
44
Input
Layer
.
.
.
.
.
.
.
.
.
Artificial Neural Network
 ชั้นซ่อน (Hidden Layer)
◦ เป็นชั้นที่เพิ่มประสิทธิภาพในการจัดกลุ่มข ้อมูล
◦ โดยมีสมการในการคานวณดังสมการ
**e ≈ 2.71828
◦ เพื่อที่จะส่งต่อไปยังชั้นเอาต์พุต
45
Hidden
Layer
.
.
.
.
.
.
.
.
.
Artificial Neural Network
สมการ
ได ้มาจาสมการ
ซึ่ง Sigmoid Function เป็นฟังก์ชันกระตุ้น
46
เรียกว่า
“Sigmoid
Function”
Artificial Neural Network
 Output Layer
◦ เป็นชั้นที่คานวณหาผลลัพธ์ของโครงข่ายประสาทเทียม
◦ โดยมีสมการในการคานวณดังสมการ
**e ≈ 2.71828
◦ จานวนโหนดในชั้นเอาต์พุต
จะขึ้นอยู่กับจานวนกลุ่มข ้อมูล
ที่ต ้องการจัด
47
Output
Layer
.
.
.
.
.
.
.
.
.
Workshop : Artificial Neural
Network
The end
Q & A

More Related Content

Featured

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 

Featured (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

Decision Tree04.ppt

  • 2. 2 Content  การจาแนกประเภทข้อมูล (Classification)  เทคนิคการการจาแนกประเภทข้อมูล (Classification Techniques) ◦ Decision Tree ◦ Naive Bayes ◦ Linear Regression ◦ Neural Network ◦ K-Nearest Neighbors (kNN) ◦ Support Vector Machines (SVM)
  • 3. การจาแนกข้อมูล (Classification) การจาแนกข ้อมูล (Classification) หมายถึง การจาแนก หรือแบ่งประเภทข ้อมูล โดยหาต ้นแบบหรือสารวจจุดเด่น จุดด ้อยที่ปรากฎอยู่ภายในชุดข ้อมูล โดยใช ้ข ้อมูลที่มีอยู่ จานวนหนึ่งในการสร ้างต ้นแบบ ซึ่งตัวแบบที่ได ้รับนั้น จะ สามารถนาไปใช ้ในการกาหนดประเภทของชุดข ้อมูลว่า สมควรมีกี่ประเภท อะไรบ ้าง อย่างเหมาะสม เพื่อจัดสรร ข ้อมูลเก่าและใหม่ให ้อยู่ตามประเภทหรือหมวดหมู่ที่ เหมาสม
  • 4. จุดประสงค์ของการจาแนกประเภท ข้อมูล  คือการสร ้างโมเดลการแยกแอทริบิวท์หนึ่งโดยขึ้นกับ แอทริบิวท์อื่น โมเดลที่ได ้จากการจาแนกประเภท ข ้อมูลจะทาให ้สามารถพิจารณาคลาสในข ้อมูลที่ยัง มิได ้แบ่งกลุ่มในอนาคตได ้เทคนิคการจาแนกประเภท ข ้อมูลนี้ได ้นาไปประยุกต์ใช ้ในหลายด ้าน เช่น การจัด กลุ่มลูกค ้าทางการตลาด, การตรวจสอบความผิดปกติ และการวิเคราะห์ทางการแพทย์ เป็นต ้น
  • 5. เทคนิคการการจาแนก ข้อมูล (Classification Techniques)  เทคนิคการจาแนกประเภทข ้อมูลเป็นกระบวนการสร ้าง โมเดลจัดการข ้อมูลให ้อยู่ในกลุ่มที่กาหนดมาให ้จาก กลุ่มตัวอย่างข ้อมูลที่เรียกว่าข ้อมูลสอนระบบ (training data) ที่แต่ละแถวของข ้อมูลประกอบด ้วยฟิลด์หรือ แอทริบิวท์จานวนมาก แอทริบิวท์นี้อาจเป็นค่าต่อเนื่อง (continuous) หรือค่ากลุ่ม (categorical) โดยจะมี แอทริบิวท์แบ่ง (classifying attribute) ซึ่งเป็นตัวบ่งชี้ คลาสของข ้อมูล
  • 6. เทคนิคการการจาแนก ข้อมูล (Classification Techniques)  เทคนิคในการจาแนกกลุ่มข ้อมูลด ้วยคุณลักษณะต่างๆ ที่ได ้มีการกาหนดไว ้แล ้วสร ้างแบบจาลองเพื่อการ พยากรณ์ค่าข ้อมูล (Predictive Model) ในอนาคต เรียกว่า Supervised learning ซึ่งได ้แก่ ◦ Decision Tree ◦ Naive Bayes ◦ K-Nearest Neighbors (kNN) ◦ Linear Regression ◦ Neural Network
  • 7. Decision Tree  Decision Tree การทางานเป็ นโหนด  โหนดที่เป็นทั่วๆ ไป X , โหลดที่เป็นลีฟโหลดไม่มีอะไร มาต่อ Y โหนดบนสุด Root มีเส ้นที่เชื่อมเรียก กิ่ง หรือ Branch , Internal Node ตัวอธิบายการตัดสินใจไป เรื่อยๆ  ข้อดี ◦ สามารถแทนความหมายได ้ง่าย ◦ เป็น white box model ◦ เป็นเทคนิสตที่ให ้ผลเร็วเมื่อเทียบกับเทคนิคอื่น ◦ ผลลัพธ์ที่ได ้สามารถนาไปใช ้งานได ้เลย และสามารถ แปลงเป็นกฏได ้ ◦ ให ้ความแม่นยาสูง
  • 8. Decision Tree  Decision Tree เป็นเทคนิคที่จาแนกทาการหาจาก Training Data ที่เรามี Attribute ทั่วไปที่มีเช่น มี Free, won ,Cash จาก Label ที่เรามี มันจะต ้องมีการแบ่งแยกคา ตอบได ้อย่างชัดเจนที่สุด ด ้วยการคานวณค่า Entropy (เอ็นโทปี้) และ Information Gain (IG)  สูตร Entropy (c1) = -p(c1) log p(c1)  IG (parent, child) = Entropy (parent) – [p(c1) x Entropy(c1) + p(c2) x Entropy(c2)+…]  ลักษณะของค่า Entropy ถ ้าค่าเหมือนกันหมดจะมีค่าเป็ น ศูนย์ มาจากสูตร ความน่าจเป็น 1  แอททริบิวต์ไหนที่จะนามาเป็น Root Node คือเอาแอทริ บิวต์ที่สามารถแบ่งแยกคาตอบได ้อย่างชัดเจนก่อน
  • 9. Example: Weather Data  เก็บสภาพภูมิอากาศจานวน 14 วันเพื่อพิจารณาว่ามี การแข่งขันกีฬาได ้หรือไม่ (ถามว่ามี Yes กี่ตัว ตอบ = 9 แทนด ้วยรูปสีฟ้า No = 5 แทนด ้วยสีส ้ม) ผลของ วงกลมยังไม่ได ้แบ่งข ้อมูลออกมานาออกมาพอท คานวณ เข ้าสูตร Entropy = 0.97 มีค่าใกล ้1 แล ้วทา การกรองข ้อมูลจาก 14 ตัวที่มีผลเป็น Sunny  โหนดไหนแบ่งแยกคาตอบได ้อย่างชัดเจนเป็น root node ก่อน ในตัวอย่างเลือก outlook เพราะมีคาตอบ outlook = overcast ที่เป็นสีฟ้าล ้วนให ้คาตอบในทาง เดียวได ้ชัดเจน  โมเดลเปลี่ยนตามดาต ้าที่มี แต่ถ ้ามีข ้อมูลใหม่มันต ้อง
  • 11. Naive Bayes  ใช ้หลักการความน่าจะเป็น (Probablility) ไม่ต ้องใช ้ Tree  โอกาสที่เกิดเหตุการณ์จากเหตุการณ์ทั้งหมด ใช ้ สัญลักษณ์ P() หรือ Pr() เช่น ◦ การโยนเหรียญความน่าจะเป็นของการเกิดหัวและก ้อย  โอกาสที่จะออกหัว มีความน่าจะเป็น ½ = 0.5  โอกาสที่จะออกก ้อย มีความน่าจะเป็น ½ = 0.5 ◦ ความน่าจะเป็นของการพบ spam email  มี email ทั้งหมด 100 ฉบับ  มี spam email ทั้งหมด 20 ฉบับ  มี normal email ทั้งหมด 80 ฉบับ  โอกาสที่ email จะเป็น spam มีความน่าจะเป็น 20/100 = 0.2 หรือ P(spam) = 0.2  โอกาสที่ email จะเป็น normal มีความน่าจะเป็น 80/100 = 0.8
  • 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 เกิดขึ้น
  • 14. Naive Bayes  ในลักษณะเดียวกันเราจะเขียน P(B|A) หรือค่าความ น่าจะเป็นที่เหตุการณ์ A เกิดขึ้นก่อนและเหตุการณ์ 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 (ผู้อ่านสามารถ
  • 19. K-Nearest Neighbors คือ วิธีการในการจัดแบ่งคลาส เทคนิคนี้จะตัดสินใจ ว่า คลาสใดที่จะแทนเงื่อนไขหรือกรณีใหม่ๆ ได ้บ ้าง โดย การตรวจสอบจานวนบางจานวน (“K” ใน K-nearest neighbor) ของกรณีหรือเงื่อนไขที่เหมือนกันหรือ ใกล ้เคียงกันมากที่สุด โดยจะหาผลรวม (Count Up)ของ จานวนเงื่อนไข หรือกรณีต่างๆสาหรับแต่ละคลาส และ กาหนดเงื่อนไขใหม่ๆ ให ้คลาสที่เหมือนกันกับคลาสที่ ใกล ้เคียงกันมากที่สุด
  • 20. K-Nearest Neighbors  จะตัดสินใจ ว่าคลาสใดที่จะแทนเงื่อนไขหรือกรณี ใหม่ๆ ได ้  ตรวจสอบจานวนบางจานวน (“k” ใน k-Nearest Neighbor) ของกรณีหรือเงื่อนไขที่เหมือนกันหรือ ใกล ้เคียงกันมากที่สุด โดยจะหาผลรวมของจานวน เงื่อนไข หรือกรณีต่างๆ สาหรับแต่ละคลาส  กาหนดเงื่อนไขใหม่ๆ ให ้คลาสที่เหมือนกันกับคลาสที่ ใกล ้เคียงกันมากที่สุด 2 0
  • 21. ฟังก์ชั่นการดาเนินการใน อัลกอริทึม k-NN การดาเนินการของอัลกอริทึมแบบ k-NN ประกอบไปการ ทางานของ 2 ฟังก์ชั่น  ฟังก์ชั่นระยะทาง (Distance Function) ◦ เป็นการคานวณค่าระยะห่างระหว่างสองเรคคอร์ดข ้อมูล เพื่อที่จะมาวัดความคล ้ายคลึงกันของข ้อมูล โดยมีเงื่อนไขคือ ◦ ค่าระยะทาง(ความห่าง)ที่คานวณได ้ต ้องไม่ติดลบ ◦ ถ ้าตาแหน่งเดียวกันฟังก์ชันต ้องเป็นศูนย์(ค่าเหมือนกัน) ◦ การคานวณวัดระยะทางไปกลับต ้องเท่ากัน 2 1
  • 22. ฟังก์ชั่นการดาเนินการใน อัลกอริทึม k-NN  การดาเนินการการหาระยะทางระหว่าง จุด A และ B ใด ๆ ทาได ้โดย ◦ ใส่ค่าสัมบูรณ์ (Absolute) ให ้กับค่าระยะทาง: |A-B| ◦ ยกกาลังสองให ้กับค่าระยะทาง : (A-B)2 2 2
  • 23. ฟังก์ชั่นการดาเนินการใน อัลกอริทึม k-NN ฟังก์ชั่นการรวม (Combination Function)  เป็นการรวมกันของผลลัพธ์ที่ได ้จากการคานวณค่า Distance โดยทาการเรียงลาดับค่าDistance จากน้อย ไปมาก หลังจากนั้นดูจากค่า “k” ว่ากาหนดเป็นเท่าไร แล ้วนาลาดับที่เรียงได ้มาเทียบกับคลาสข ้อมูลที่เรียง แล ้วนามาตอบ นิยมใช ้การรวมระยะห่างโดยใช ้วิธี แบบยูคลิเดียน (Euclidean Distance) 2 3
  • 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 )) ( ) ( ( ) , (
  • 25. การเรียนรู ้ของอัลกอริทึม k-NN เมื่อมีการกาหนดตัวอย่างค ้นถาม Xq แล ้ว การเรียนรู้ ประกอบด ้วย 2 ขั้นตอน 1. ใช ้มาตรวัดระยะห่างคานวณหาตัวอย่าง k ตัวที่อยู่ ใกล ้ Xq มากที่สุดจากเซตตัวอย่างสอน 2. ประมาณค่าฟังก์ชั่นเป้าหมายของตัวอย่างค ้นถาม Xq ด ้วยค่าฟังก์ชั่นเป้าหมายของตัวอย่าง Xi จานวน k ตัวที่อยู่ใกล ้Xq มากที่สุด 2 5
  • 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 ) ( ) ( ˆ
  • 28. การเรียนรู ้ของอัลกอริทึม k-NN  ตัวอย่างของตัวอย่างค ้นถามในปริภูมิข ้อมูล แสดงได ้โดย แผนภาพโวโรนอย (Voronoi Diagram) ดังรูปแสดงจุดในปริภูมิ 2 มิติ และค่าฟังก์ชั่นเป้าหมายแบบบูลีน (Boolean) จะเห็นว่า วิธีการแบบ 1-NN จาแนกประเภทตัวอย่างค ้นถาม Xq เป็น ประเภทบวก(+) ส่วนวิธีการแบบ 5-NN จาแนกประเภทตัวอย่าง ค ้นถาม Xq เป็นประเภทลบ (-) 2 8 แผนภาพ Voronoi Diagram
  • 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 ) ( ) ( ˆ
  • 31. ความถดถอยแบบถ่วงน้าหนักท้องถิ่น (Locally Weighted Regression)  เนื่องจาก k-NN จะให ้ค่าประมาณฟังก์ชั่นเป้าหมาย ท ้องถิ่นที่แตกต่างกันไปสาหรับแต่ละตัวอย่างค ้นถาม Xq จึงเกิดคาถามว่าเราน่าจะสร ้างเป็นฟังก์ชั่นประมาณ ค่าซึ่งเข ้ากับตัวอย่างสอนละแวกใกล ้เคียงกับตัวอย่าง ค ้นถาม  โดยฟังก์ชั่นที่สร ้างนั้น อาจเป็นฟังก์ชั่นเชิงเส ้น (Linear Function) ฟังก์ชั่นกาลังสอง (Quadratic Function) ฟังก์ชั่นข่ายงานประสาทเทียมหลายชั้น (Multilayer Neural Network) หรือฟังก์ชั่นรูปแบบอื่น ๆ 3 1
  • 32. ความถดถอยแบบถ่วงน้าหนักท้องถิ่น (Locally Weighted Regression)  ฟังก์ชั่นที่สร ้างขึ้นเป็นรูปแบบนัยทั่วไป (Generalization) โดยใช ้หลักของการถดถอยแบบถ่วง น้าหนักท ้องถิ่น คือ ◦ ท ้องถิ่น (Local) เนื่องจากฟังก์ชั่นเป้าหมายขึ้นอยู่กับตัวอย่าง ที่อยู่ใกล ้กับตัวอย่างค ้นถาม Xq ◦ ถ่วงน้าหนัก (Weighted) เนื่องจากมีการให ้น้าหนักการมีส่วน ร่วมของตัวอย่างสอนตามระยะห่างจากตัวอย่างค ้นถาม Xq ◦ ความถดถอย (Regression) เนื่องจากเป็นการประมาณ ฟังก์ชั่นค่าจริงที่ให ้มีความผิดพลาดน้อยที่สุด 3 2
  • 33. ความถดถอยแบบถ่วงน้าหนักท้องถิ่น (Locally Weighted Regression) ตัวอย่างการใช ้ฟังก์ชั่นเชิงเส ้นเพื่อประมาณฟังก์ชั่น เป้าหมาย  ใช ้Linear Function เพื่อประมาณค่าฟังก์ชั่น เป้าหมายดังนี้ สมการที่ (9.7) 3 3 ) ( ... ) ( ) ( ˆ 1 1 0 x a w x a w w x f n n    
  • 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
  • 36. ข้อดีและข้อเสียของ k-NN ข้อดี  สามารถจาลองฟังก์ชั่นเป้าหมายที่ซับซ ้อนด ้วยชุดของ ค่าประมาณแบบท ้องถิ่นที่ซับซ ้อนได ้  สารสนเทศที่ปรากฎอยู่ในชุดข ้อมูลสอนไม่สูญหาย เนื่องจากถูกจัดเก็บแยกไว ้ต่างหาก  เวลาที่ใช ้สอนจะรวดเร็ว เนื่องจากการเป็นการเรียนรู้ แบบเกียจคร ้าน 3 6
  • 37. ข้อดีและข้อเสียของ k-NN ข้อเสีย  ค่าใช ้จ่ายตอนจาแนกประเภทสูง เนื่องจากการคานวณ เกิดขึ้นขณะค ้นถามมากกว่าตอนสอน  ความยากในการกาหนดมาตรวัดระยะห่างที่เหมาะสม  วิธีจาแนกประเภทแบบเพื่อนบ ้านใกล ้สุด k ตัว เหมาะกับ ชุดข ้อมูลสอนที่มีปริมาณมาก และตัวอย่างมีคุณลักษณะไม่ เกิน 20 คุณลักษณะ  ต ้องการวิธีการจัดทาดัชนีหน่วยความจา (Memory Indexing) ที่มีประสิทธิภาพ (มีการจัดเก็บตัวอย่างสอนไว ้ ต่างหาก)  ผลกระทบเชิงลบจากคุณลักษณะที่ไม่เกี่ยวข ้อง ต่อมาตร วัดระยะห่าง หรือการเกิด Curse of Dimensionality 3 7
  • 39. Linear Regression  การวิเคราะห์การถดถอยเชิงเส ้นตรง (Linear regression analysis) จะเป็นการทานายข ้อมูลที่มีค่า เชิงตัวเลขที่ เกี่ยวข ้องกับ response variable “𝑦” โดยการพิจารณาค่า predictor variable “𝑥” เพียงแค่ ค่าเดียวด ้วยการ ประยุกต์ใช ้ฟังก์ชันเชิงเส ้นตรง (Linear function) ที่ซึ่ง สามารถคานวณได ้จาก 𝑦 = 𝑎 + 𝑏𝑥 เมื่อ a คือ ค่าสัมประสิทธิ์ความถดถอยที่ซึ่งจะเป็นตัวก าหนด จุดตัดแกน y (y-intercept) และ b คือ ค่าสัมประสิทธิ์ความ
  • 41. Artificial Neural Network: NN  โครงข่ายประสาทเทียม หรือ เครือข่ายประสาทเทียม (Artificial Neural Network: ANN)” หมายถึง คอมพิวเตอร์ที่สามารถเลียนแบบการทางานของสมอง มนุษย์ได ้ด ้วยการ ประมวลผลข ้อมูลสารสนเทศ และ องค์ความรู้ได ้ในคราวละมากๆ เป็นรวมกลุ่มแบบขนาน ของหน่วยประมวลผลย่อยๆ ซึ่งการเชื่อมต่อใน โครงสร ้างทาให ้เกิดความรู้ประสบการณ์ ความฉลาด ของข่ายงาน
  • 42. Artificial Neural Network  โครงข่ายประสาทเทียม ประกอบไปด ้วย 3 ชั้น ได ้แก่ ◦ ชั้นอินพุต (Input Layer) ◦ ชั้นซ่อน (Hidden Layer) ◦ ชั้นเอาท์พุต (Output Layer) 42
  • 43. Artificial Neural Network ◦ชั้นอินพุต (Input Layer)  เป็นชั้นที่รอรับข ้อมูลเข ้าสู่โครงข่ายประสาทเทียม  ข ้อมูลที่นาเข ้าสู่โครงข่าย ก็คือข ้อมูลที่ผ่านการ เตรียมข ้อมูลดังที่ได ้แสดงไว ้ในขั้นตอนการเตรียม ข ้อมูลของโครงข่ายประสาทเทียม 43 Input Layer . . . . . . . . .
  • 44. Artificial Neural Network  ในการรู้จาลายมือเขียนภาษาไทยนี้จะใช ้ค่า ลักษณะเฉพาะของตัวอักขระ (Feature Extractions) มาเป็นค่าอินพุตของโครงข่าย  ดังนั้นจานวนโหนดในชั้นอินพุคจะมีจานวน ลักษณะเฉพาะของตัวอักขระที่หาได ้ 44 Input Layer . . . . . . . . .
  • 45. Artificial Neural Network  ชั้นซ่อน (Hidden Layer) ◦ เป็นชั้นที่เพิ่มประสิทธิภาพในการจัดกลุ่มข ้อมูล ◦ โดยมีสมการในการคานวณดังสมการ **e ≈ 2.71828 ◦ เพื่อที่จะส่งต่อไปยังชั้นเอาต์พุต 45 Hidden Layer . . . . . . . . .
  • 46. Artificial Neural Network สมการ ได ้มาจาสมการ ซึ่ง Sigmoid Function เป็นฟังก์ชันกระตุ้น 46 เรียกว่า “Sigmoid Function”
  • 47. Artificial Neural Network  Output Layer ◦ เป็นชั้นที่คานวณหาผลลัพธ์ของโครงข่ายประสาทเทียม ◦ โดยมีสมการในการคานวณดังสมการ **e ≈ 2.71828 ◦ จานวนโหนดในชั้นเอาต์พุต จะขึ้นอยู่กับจานวนกลุ่มข ้อมูล ที่ต ้องการจัด 47 Output Layer . . . . . . . . .
  • 48. Workshop : Artificial Neural Network