งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Chapter 8 Classification อาจารย์อนุพงศ์ สุขประเสริฐ

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Chapter 8 Classification อาจารย์อนุพงศ์ สุขประเสริฐ"— ใบสำเนางานนำเสนอ:

1 Chapter 8 Classification อาจารย์อนุพงศ์ สุขประเสริฐ
คณะการบัญชีและการจัดการ มหาวิทยาลัยมหาสารคาม

2 Content การจำแนกประเภทข้อมูล (Classification)
เทคนิคการการจำแนกประเภท ข้อมูล (Classification Techniques) Decision Tree Naive Bayes Linear Regression Neural Network K-Nearest Neighbors (kNN) Support Vector Machines (SVM)

3 การจำแนกข้อมูล (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 (ต้นไม้การตัดสินใจ)
ต้นไม้การตัดสินใจจะทำการจัดกลุ่ม (classify) ชุด ข้อมูลนำเข้าในแต่ละกรณี (Instance) แต่ละบัพ (node) ของต้นไม้การตัดสินใจคือตัวแปร (attribute) ต่างๆของชุดข้อมูล ซึ่งแต่ละตัวแปรนั้นก็จะมีค่าของ ตัวเอง (value) เกิดเป็นชุดของตัวแปร-ค่าของตัวแปร (attribute-value pair)  การทำนายประเภทด้วยต้นไม้ตัดสินใจ จะเริ่มจากบัพ ราก โดยทดสอบค่าตัวแปรของบัพ แล้วจึงตามกิ่ง ของต้นไม้ที่กำหนดค่า เพื่อไปยังบัพลูกถัดไป การ ทดสอบนี้จะกระทำไปจนกระทั่งเจอบัพใบซึ่งจะ แสดงผลการทำนาย

8 ข้อจำกัดของ Decision Tree
เนื่องจากต้นไม้การตัดสินใจเป็นต้นไม้ที่แต่ละกิ่งที่ ออกมาจากบัพแทนค่าของข้อมูลที่เป็นไปได้ในบัพนั้น เนื่องจากต้นไม้มีจำนวนกิ่งที่จำกัด ดังนั้นค่าของตัว แปรที่เป็นไปได้จึงต้องจำกัดด้วย จึงต้องมีจำนวนตัว แปรที่จำกัด และนอกจากนั้นยังบังคับว่าค่าของตัว แปรนั้นต้องไม่ต่อเนื่องด้วย โดยข้อมูลที่เข้ามานั้น อาจมีความผิดพลาดได้บ้าง โดยต้นไม้การตัดสินใจ จะมีกระบวนการที่จะไม่นำความผิดพลาดนั้นมา พิจารณาเรียกว่าการตัดแต่งกิ่ง (post-pruning)

9 ขั้นตอนการทำ Decision Tree
การสร้างโมเดล decision tree จะทำการคัดเลือกแอ ตทริบิวต์ที่มีความสัมพันธ์กับคลาสมากที่สุดขึ้นมาเป็น โหนดบนสุดของ tree (root node) หลังจากนั้นก็จะ หาแอตทริบิวต์ถัดไปเรื่อยๆ ในการหาความสัมพันธ์ ของแอตทริบิวต์นี้จะใช้ตัววัด ที่เรียกว่า Information Gain (IG) ค่านี้คำนวณได้จากสมการ ดังนี้ IG (parent, child) =  entropy(parent) – [p(c1) × entropy(c1) + p(c2) × entropy(c2) + …] โดยที่ entropy(c1) = -p(c1) log p(c1) และ p(c1) คือ ค่าความน่าจะเป็นของ c1

10 Workshop : Decision Tree

11 Naive Bayes ใช้หลักการความน่าจะเป็น (Probablility) ไม่ต้องใช้ Tree
โอกาสที่เกิดเหตุการณ์จากเหตุการณ์ทั้งหมด ใช้ สัญลักษณ์ P() หรือ Pr() เช่น การโยนเหรียญความน่าจะเป็นของการเกิดหัวและก้อย โอกาสที่จะออกหัว มีความน่าจะเป็น ½ = 0.5 โอกาสที่จะออกก้อย มีความน่าจะเป็น ½ = 0.5 ความน่าจะเป็นของการพบ spam มี ทั้งหมด 100 ฉบับ มี spam ทั้งหมด 20 ฉบับ มี normal ทั้งหมด 80 ฉบับ โอกาสที่ จะเป็น spam มีความน่าจะเป็น 20/100 = 0.2 หรือ P(spam) = 0.2 โอกาสที่ จะเป็น normal มีความน่าจะเป็น 80/100 = 0.8 หรือ P(normal) = 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 (ผู้อ่าน สามารถทำการ sort หรือ filter เฉพาะค่าที่ต้องการ ดู เพื่อคำนวณตามไปได้อย่างง่ายครับ)

18 Workshop : Naive Bayes

19 K-Nearest Neighbors คือ วิธีการในการจัดแบ่งคลาส เทคนิคนี้จะตัดสินใจ ว่าคลาสใดที่จะแทนเงื่อนไขหรือกรณีใหม่ๆ ได้บ้าง โดยการตรวจสอบจำนวนบางจำนวน (“K” ใน K- nearest neighbor) ของกรณีหรือเงื่อนไขที่เหมือนกัน หรือใกล้เคียงกันมากที่สุด โดยจะหาผลรวม (Count Up)ของจำนวนเงื่อนไข หรือกรณีต่างๆสำหรับแต่ละ คลาส และกำหนดเงื่อนไขใหม่ๆ ให้คลาสที่เหมือนกัน กับคลาสที่ใกล้เคียงกันมากที่สุด

20 K-Nearest Neighbors จะตัดสินใจ ว่าคลาสใดที่จะแทนเงื่อนไขหรือกรณี ใหม่ๆ ได้ ตรวจสอบจำนวนบางจำนวน (“k” ใน k-Nearest Neighbor) ของกรณีหรือเงื่อนไขที่เหมือนกันหรือ ใกล้เคียงกันมากที่สุด โดยจะหาผลรวมของจำนวน เงื่อนไข หรือกรณีต่างๆ สำหรับแต่ละคลาส กำหนดเงื่อนไขใหม่ๆ ให้คลาสที่เหมือนกันกับคลาสที่ ใกล้เคียงกันมากที่สุด

21 ฟังก์ชั่นการดำเนินการในอัลกอริทึม k-NN
ฟังก์ชั่นระยะทาง (Distance Function) เป็นการคำนวณค่าระยะห่างระหว่างสองเรคคอร์ดข้อมูล เพื่อที่จะมาวัดความคล้ายคลึงกันของข้อมูล โดยมีเงื่อนไข คือ ค่าระยะทาง(ความห่าง)ที่คำนวณได้ต้องไม่ติดลบ ถ้าตำแหน่งเดียวกันฟังก์ชันต้องเป็นศูนย์(ค่าเหมือนกัน) การคำนวณวัดระยะทางไปกลับต้องเท่ากัน

22 ฟังก์ชั่นการดำเนินการในอัลกอริทึม k-NN
การดำเนินการการหาระยะทางระหว่าง จุด A และ B ใด ๆ ทำได้โดย ใส่ค่าสัมบูรณ์ (Absolute) ให้กับค่าระยะทาง: |A-B| ยกกำลังสองให้กับค่าระยะทาง : (A-B)2

23 ฟังก์ชั่นการดำเนินการในอัลกอริทึม k-NN
ฟังก์ชั่นการรวม (Combination Function) เป็นการรวมกันของผลลัพธ์ที่ได้จากการคำนวณค่า Distance โดยทำการเรียงลำดับค่าDistance จาก น้อยไปมาก หลังจากนั้นดูจากค่า “k” ว่ากำหนดเป็น เท่าไร แล้วนำลำดับที่เรียงได้มาเทียบกับคลาสข้อมูล ที่เรียงแล้วนำมาตอบ นิยมใช้การรวมระยะห่างโดย ใช้วิธีแบบยูคลิเดียน (Euclidean Distance)

24 ฟังก์ชั่นการดำเนินการในอัลกอริทึม k-NN
นิยามตัวอย่าง x ด้วยเวกเตอร์คุณลักษณะ x=<a1(x), a2(x),…, an(x)> นิยามระยะห่างระหว่างตัวแปรตัวอย่าง xi และ xj ดัง สมการ

25 การเรียนรู้ของอัลกอริทึม k-NN
เมื่อมีการกำหนดตัวอย่างค้นถาม Xq แล้ว การ เรียนรู้ประกอบด้วย 2 ขั้นตอน 1. ใช้มาตรวัดระยะห่างคำนวณหาตัวอย่าง k ตัวที่อยู่ ใกล้ Xq มากที่สุดจากเซตตัวอย่างสอน 2. ประมาณค่าฟังก์ชั่นเป้าหมายของตัวอย่างค้นถาม Xq ด้วยค่าฟังก์ชั่นเป้าหมายของตัวอย่าง Xi จำนวน k ตัวที่อยู่ใกล้ Xq มากที่สุด

26 การเรียนรู้ของอัลกอริทึม k-NN
ประมาณค่าฟังก์ชั่นเป้าหมายของตัวอย่างค้นถาม Xq ค่าฟังก์ชั่นเป้าหมายเป็นค่าไม่ต่อเนื่อง  เลือกค่าส่วนมาก ของค่าฟังก์ชั่นเป้าหมายของตัวอย่าง Xi จำนวน k ตัวที่ อยู่ใกล้ Xq มากที่สุด

27 การเรียนรู้ของอัลกอริทึม k-NN
ค่าฟังก์ชั่นเป้าหมายเป็นค่าจำนวนจริง  ค่าเฉลี่ย ของค่าฟังก์ชั่นเป้าหมายของตัวอย่าง Xi จำนวน k ตัวที่อยู่ใกล้ Xq มากที่สุด

28 การเรียนรู้ของอัลกอริทึม k-NN
ตัวอย่างของตัวอย่างค้นถามในปริภูมิข้อมูล แสดงได้โดย แผนภาพโวโรนอย (Voronoi Diagram) ดังรูปแสดงจุดใน ปริภูมิ 2 มิติ และค่าฟังก์ชั่นเป้าหมายแบบบูลีน (Boolean) จะเห็นว่าวิธีการแบบ 1-NN จำแนกประเภทตัวอย่างค้นถาม Xq เป็นประเภทบวก(+) ส่วนวิธีการแบบ 5-NN จำแนก ประเภทตัวอย่างค้นถาม Xq เป็นประเภทลบ (-) แผนภาพ Voronoi Diagram

29 ทางเลือกค่าความผิดพลาด
ทางเลือกนิยามค่าความผิดพลาดที่เป็นไปได้ 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) กับระยะห่าง ใช้เพื่อกำหนดน้ำหนักสำหรับตัวอย่างสอนแต่ละตัว

30 ข้อดีและข้อเสียของ k-NN
สามารถจำลองฟังก์ชั่นเป้าหมายที่ซับซ้อนด้วยชุดของ ค่าประมาณแบบท้องถิ่นที่ซับซ้อนได้ สารสนเทศที่ปรากฎอยู่ในชุดข้อมูลสอนไม่สูญหาย เนื่องจากถูกจัดเก็บแยกไว้ต่างหาก เวลาที่ใช้สอนจะรวดเร็ว เนื่องจากการเป็นการเรียนรู้ แบบเกียจคร้าน

31 ข้อดีและข้อเสียของ k-NN
ค่าใช้จ่ายตอนจำแนกประเภทสูง เนื่องจากการคำนวณ เกิดขึ้นขณะค้นถามมากกว่าตอนสอน ความยากในการกำหนดมาตรวัดระยะห่างที่เหมาะสม วิธีจำแนกประเภทแบบเพื่อนบ้านใกล้สุด k ตัว เหมาะกับ ชุดข้อมูลสอนที่มีปริมาณมาก และตัวอย่างมีคุณลักษณะ ไม่เกิน 20 คุณลักษณะ ต้องการวิธีการจัดทำดัชนีหน่วยความจำ (Memory Indexing) ที่มีประสิทธิภาพ (มีการจัดเก็บตัวอย่างสอนไว้ ต่างหาก) ผลกระทบเชิงลบจากคุณลักษณะที่ไม่เกี่ยวข้อง ต่อมาตร วัดระยะห่าง หรือการเกิด Curse of Dimensionality

32 Workshop : K-Nearest Neighbors

33 Linear Regression 𝑦 =𝑎+𝑏𝑥
การวิเคราะห์การถดถอยเชิงเส้นตรง (Linear regression analysis) จะเป็นการทำนายข้อมูลที่มีค่า เชิงตัวเลขที่ เกี่ยวข้องกับ response variable “𝑦” โดยการพิจารณา ค่า predictor variable “𝑥” เพียงแค่ ค่าเดียวด้วยการ ประยุกต์ใช้ฟังก์ชันเชิงเส้นตรง (Linear function) ที่ซึ่ง สามารถคำนวณได้จาก 𝑦 =𝑎+𝑏𝑥 เมื่อ a คือ ค่าสัมประสิทธิ์ความถดถอยที่ซึ่งจะเป็นตัวก าหนดจุดตัดแกน y (y-intercept) และ b คือ ค่า สัมประสิทธิ์ความถดถอยที่ซึ่งจะเป็นตัวก าหนดความลาด เอียงของเส้นตรง

34 Workshop : Linear Regression

35 Artificial Neural Network: NN
โครงข่ายประสาทเทียม หรือ เครือข่ายประสาท เทียม (Artificial Neural Network: ANN)” หมายถึง คอมพิวเตอร์ที่สามารถเลียนแบบการทํางานของสมอง มนุษย์ได้ ด้วยการ ประมวลผลข้อมูลสารสนเทศ และองค์ความรู้ได้ในคราวละมากๆ เป็นรวมกลุ่มแบบ ขนาน ของหน่วยประมวลผลย่อยๆ ซึ่งการเชื่อมต่อ ในโครงสร้างทําให้เกิดความรู้ ประสบการณ์ ความ ฉลาดของข่ายงาน

36 Artificial Neural Network
โครงข่ายประสาทเทียม ประกอบไปด้วย 3 ชั้น ได้แก่ ชั้นอินพุต (Input Layer) ชั้นซ่อน (Hidden Layer) ชั้นเอาท์พุต (Output Layer)

37 Artificial Neural Network
ชั้นอินพุต (Input Layer) เป็นชั้นที่รอรับข้อมูลเข้าสู่โครงข่ายประสาทเทียม ข้อมูลที่นำเข้าสู่โครงข่าย ก็คือข้อมูลที่ผ่านการ เตรียมข้อมูลดังที่ได้แสดงไว้ในขั้นตอนการเตรียม ข้อมูลของโครงข่ายประสาทเทียม Input Layer ...

38 Artificial Neural Network
ในการรู้จำลายมือเขียนภาษาไทยนี้จะใช้ค่า ลักษณะเฉพาะของตัวอักขระ (Feature Extractions) มาเป็นค่าอินพุตของโครงข่าย ดังนั้นจำนวนโหนดในชั้นอินพุคจะมีจำนวน ลักษณะเฉพาะของตัวอักขระที่หาได้ Input Layer ...

39 Artificial Neural Network
ชั้นซ่อน (Hidden Layer) เป็นชั้นที่เพิ่มประสิทธิภาพในการจัดกลุ่มข้อมูล โดยมีสมการในการคำนวณดังสมการ **e ≈ เพื่อที่จะส่งต่อไปยังชั้นเอาต์พุต Hidden Layer ...

40 Artificial Neural Network
สมการ ได้มาจาสมการ ซึ่ง Sigmoid Function เป็นฟังก์ชันกระตุ้น เรียกว่า “Sigmoid Function”

41 Artificial Neural Network
Output Layer เป็นชั้นที่คำนวณหาผลลัพธ์ของโครงข่ายประสาทเทียม โดยมีสมการในการคำนวณดังสมการ **e ≈ จำนวนโหนดในชั้นเอาต์พุต จะขึ้นอยู่กับจำนวนกลุ่มข้อมูล ที่ต้องการจัด Output Layer ...

42 Workshop : Artificial Neural Network

43 The end Q & A


ดาวน์โหลด ppt Chapter 8 Classification อาจารย์อนุพงศ์ สุขประเสริฐ

งานนำเสนอที่คล้ายกัน


Ads by Google