การคัดเลือกปัจจัย Feature Selection อาจารย์อนุพงศ์ สุขประเสริฐ

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
แสดงให้คุณ SLIDEPLAYER.IN.TH
Advertisements

5 วิธี ยกระดับคุณภาพโรงเรียนที่ได้ผล
พลังงานทางเลือกในประเทศไทย... ฝันไม่ไกล แต่ไปไม่ถึง
ให้ไว้ ณ วันที่ 10 กรกฎาคม 2556
การบริหารจัดการภาครัฐ (PMQA: Public Sector Management Quality Award)
Management of Information Technology
และเครือข่ายคอมพิวเตอร์
ใบสำเนางานนำเสนอ:

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

Content การคัดเลือกปัจจัย (Feature Selection) ประเภทของการคัดเลือกปัจจัย Filter approach Wrapper Approach

การคัดเลือกปัจจัย (Feature Selection) การคัดเลือกคุณสมบัติเป็นเทคนิคที่ช่วยลดจำนวนตัว แปรที่จะใช้ในตัวแบบพยากรณ์ อาจ กระทำเพื่อ เลือกตัวแปรที่ดีที่สุดเพียงตัวเดียว หรือเลือกกลุ่มของ ตัวแปรที่มีความสำคัญต่อการพยากรณ์กระบวนการ คัดเลือกคุณสมบัติเป็นกระบวนการที่สำคัญในการ เตรียมข้อมูลของการทำเหมืองข้อมูล เพื่อทำให้การ สร้างตัวแบบพยากรณ์มีประสิทธิภาพ เพราะจะช่วย ลดมิติของข้อมูลและ อาจช่วยให้การเรียนรู้วิธีการ พยากรณ์ดำเนินการได้เร็วขึ้นและมีประสิทธิภาพมาก ขึ้น (นิภาพร และ พรรณี, 2557)

ประเภทของการคัดเลือกปัจจัย การคัดเลือกคุณสมบัติแบ่งออกเป็น 2 แบบ ดังต่อไปนี้ Filter approach เป็นการคำนวณค่าน้ำหนัก (หรือค่า ความสัมพันธ์) ของแต่ละแอตทริบิวต์และเลือกเฉพาะแอตทริบิวต์ที่ สำคัญเก็บไว้ Information Theory คำนวณค่าน้ำหนักของแต่ละแอตทริบิวต์ด้วยค่า Information Gain วิธีการคำนวณนี้จะใช้กับ ใช้ได้กับแอตทริบิวต์ที่เป็นนอมินอล (nominal) เท่านั้น คำนวณค่า Entropy และ Information Gain (IG) คำนวณค่าความสัมพันธ์ของแต่ละ feature ด้วยวิธี Chi-Square วิธี คำนวณนี้ใช้กับ ดูความถี่ที่เกิดขึ้นระหว่างแอตทริบิวต์ต่างๆ เทียบกับแอตทริบิวต์ลาเบล (label) Wrapper Approach เป็นวิธีการเลือกแอตทริบิวต์ใส่เข้าไปหรือ ถอดออกมาเพื่อสร้าง โมเดลและเลือก set ของแอตทริบิวต์ทีดีไว้ ใช้การคัดเลือกแอตทริบิวต์แบบ Wrapper Approach จะมี 2 ประเภท Forward Selection Backward Elimination

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

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

การจำแนกข้อมูล (Classification)

จุดประสงค์ของการจำแนกประเภทข้อมูล คือการสร้างโมเดลการแยกแอทริบิวท์หนึ่งโดยขึ้นกับ แอทริบิวท์อื่น โมเดลที่ได้จากการจำแนกประเภท ข้อมูลจะทำให้สามารถพิจารณาคลาสในข้อมูลที่ยัง มิได้แบ่งกลุ่มในอนาคตได้ เทคนิคการจำแนก ประเภทข้อมูลนี้ได้นำไปประยุกต์ใช้ในหลายด้าน เช่น การจัดกลุ่มลูกค้าทางการตลาด, การตรวจสอบ ความผิดปกติ และการวิเคราะห์ทางการแพทย์ เป็น ต้น

เทคนิคการการจำแนกข้อมูล (Classification Techniques) เทคนิคการจำแนกประเภทข้อมูลเป็นกระบวนการสร้าง โมเดลจัดการข้อมูลให้อยู่ในกลุ่มที่กำหนดมาให้จาก กลุ่มตัวอย่างข้อมูลที่เรียกว่าข้อมูลสอนระบบ (Training data) ที่แต่ละแถวของข้อมูลประกอบด้วย ฟิลด์หรือแอทริบิวท์จำนวนมาก แอทริบิวท์นี้อาจเป็น ข้อมูลเชิงปริมาณ (Quantitative Data) หรือข้อมูล เชิงคุณภาพ (Qualitative Data) โดยจะมีแอทริบิวท์ แบ่ง (Classifying attribute) ซึ่งเป็นตัวบ่งชี้คลาส ของข้อมูล ในทางสถิติ ก็จะต้องมีการกำหนด ตัวแปรต้น (Independent Variable) และตัวแปรตาม (Dependent Variable)

เทคนิคการการจำแนกข้อมูล (Classification Techniques) เทคนิคในการจำแนกกลุ่มข้อมูลด้วยคุณลักษณะต่างๆ ที่ได้มีการกำหนดไว้แล้วสร้างแบบจำลองเพื่อการ พยากรณ์ค่าข้อมูล (Predictive Model) ในอนาคต เรียกว่า Supervised learning ซึ่งได้แก่ Decision Tree Naive Bayes Linear Regression Neural Network K-Nearest Neighbors (kNN) Support Vector Machines (SVM)

Decision Tree Decision Tree การทำงานเป็นโหนด โหนดที่เป็นทั่วๆ ไป X , โหลดที่เป็นลีฟโหลดไม่มี อะไรมาต่อ Y โหนดบนสุด Root มีเส้นที่เชื่อมเรียก กิ่ง หรือ Branch , Internal Node ตัวอธิบายการ ตัดสินใจไปเรื่อยๆ ข้อดี สามารถแทนความหมายได้ง่าย เป็นเทคนิคที่ให้ผลเร็วเมื่อเทียบกับเทคนิคอื่น ผลลัพธ์ที่ได้สามารถนำไปใช้งานได้เลย และสามารถ แปลงเป็นกฏได้ ให้ความแม่นยำสูง

Workshop : Decision Tree

Naive Bayes เป็นโมเดลที่ใช้ในการจำแนกประเภทของข้อมูลโดย อาศัยหลักความน่าจะเป็นซึ่งอยู่บนพื้นฐานของ Bayes’ Theorem และสมมติฐานที่กำหนดให้เกิด เหตุการณ์ต่างๆที่ใช้ในการจัดกลุ่มนั้นมีความเป็นอิสระ ต่อกัน ใช้หลักการความน่าจะเป็น (Probablility) ไม่ต้องใช้ Tree โอกาสที่เกิดเหตุการณ์จากเหตุการณ์ทั้งหมด ใช้ สัญลักษณ์ P() หรือ Pr()

Workshop : Naive Bayes

Linear Regression เป็นการหาสมการความสัมพันธ์ของตัวแปรอิสระ (แอทริบิวต์) และตัวแปรตาม (คลาสคำตอบ) เพื่อที่จะ นำไปสู่การคาดการณ์หรือประมาณค่าของตัวแปรที่ไม่ รู้ค่า สมการที่ได้นี้คือสมการ Regression คือ 𝑦 =𝑎+ 𝑏𝑥 เมื่อรู้ค่า x ก็สามารถรู้ค่า Response หรือค่าใน แนวแกน Y ได้ ก่อนการนำสมการความสัมพันธ์ไปใช้ จะต้องมีการ ตรวจสอบเสียก่อนว่าสมการที่ได้มานั้นมีความถูกต้อง พอที่จะใช้เป็นสมการในการคาดการตัวแปรที่ไม่รู้ค่า ได้จริงหรือไม่

Workshop : Linear Regression

Neural Network เป็นการจำลองการทำงานของเครือข่ายประสาทใน สมองมนุษย์ ด้วยวัตถุประสงค์ที่จะสร้างเครื่องมือซึ่งมี ความสามารถ ในการเรียนรู้การจดจำแบบรูป และ การทำนายอนาคต โครงสร้างของ Neural Network ซึ่งประกอบด้วย โหนด และเส้นเชื่อมโยงแต่ละโหนด เมื่อพิจารณา การวางตัวของโหนดแล้วจะแบ่งออกได้เป็น 3 ชั้น (layer) คือ ชั้นที่ 1 จะเรียกว่า Input layer ชั้นที่ 2 จะเรียกว่า Hidden layer ชั้นที่ 3 จะเรียกว่า Output layer

Workshop : Neural Network

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

Workshop : K-Nearest Neighbors

Support Vector Machines (SVM) การวิเคราะห์ข้อมูลและจำแนกข้อมูล โดยอาศัย หลักการของการหาสัมประสิทธิ์ของสมการเพื่อสร้าง เส้นแบ่งแยกกลุ่มข้อมูลที่ถูกป้อนเข้าสู่กระบวนการเพื่อ สอนให้ระบบเรียนรู้ โดยเน้นไปยังเส้นแบ่งข้อมูลซึ่ง สามารถใช้เป็นมาตรฐานในการแยกแยะกลุ่มข้อมูลได้ ดีที่สุด เทคนิค Support Vector Machine มักใช้ในการ แบ่งข้อมูลออกเป็นสองกลุ่มโดยจะใช้กับชุดข้อมูลที่มี มิติของข้อมูลที่สูง

Workshop : Support Vector Machines

การทดสอบประสิทธิภาพของการจำแนกประเภทข้อมูล Classification Performance อาจารย์อนุพงศ์ สุขประเสริฐ คณะการบัญชีและการจัดการ มหาวิทยาลัยมหาสารคาม

Content การทดสอบประสิทธิภาพของการจำแนกข้อมูล Confusion Matrix Precision and Recall Accuracy F-Measure ROC Graph and Area Under Curve (AUC) การแบ่งข้อมูลเพื่อทดสอบประสิทธิภาพของโมเดล Self Consistency Test Split Test Cross-validation Test การเปรียบเทียบเทคนิคการจำแนกข้อมูล

Classification Performance การทดสอบประสิทธิภาพของการจำแนกข้อมูล ซึ่งจะมี ตัววัดประสิทธิภาพของโมเดล ได้แก่ Confusion Matrix True Positive (TP), True Negative (TN) False Positive (FP), False Negative (FN) Precision and Recall Accuracy F-Measure ROC Graph and Area Under Curve (AUC)

ตาราง Confusion Matrix เป็นการเก็บข้อมูลที่เกี่ยวกับการแบ่งแยกข้อมูลจริง กับข้อมูลที่เกิดจากการทำนาย ด้วยระบบการ แบ่งแยก (Classification System) เช่น การหาค่าข้อมูลแบบธรรมดาในแมทริก ดัง ตารางที่แสดงของ Confusion Matrix ซึ่งมีด้วยกัน 2 ระดับ Predicted Positive (Yes) Predicted Negatives (No) True Positive (TP) False Negatives (FN) False Positive (FP) True Negatives (TN) Actual Positive (Yes) Actual Negatives (No) ตาราง Confusion Matrix

Confusion Matrix (cont) True Positive (TP) หมายถึง ค่าคลาสเป้าหมายคือ Yes และแบบทำนายว่า Yes False Negatives (FN) หมายถึง ค่าคลาสเป้าหมายคือ Yes และแบบทำนายว่า No True Negatives (TN) หมายถึง ค่าคลาสเป้าหมายคือ No และแบบทำนายว่า No False Positive (FP) หมายถึง ค่าคลาสเป้าหมายคือ No และแบบทำนายว่า Yes

Correctly and Incorrectly Classified Instances คือ คำที่ทำนายถูกต้อง และคำที่ทำนายผิดพลาดใน การจำแนกกลุ่ม คำที่ทำนายถูก (Correctly Classified Instances) = TP + TN คำที่ทำนายผิดพลาด (Incorrectly Classified Instances) = FP + FN

TP Rate : True Positive Rate (TPR) คือค่าจากการทำนายด้วยตัวแบบที่ตรงกับความเป็นจริง คำนวณจากจำนวนข้อมูลที่ทำนายถูกในคลาสนั้น / จำนวนข้อมูลทั้งหมดในคลาสนั้น TPR ของคลาสเป้าหมาย YES = 𝑇𝑃 𝑇𝑃+𝐹𝑁 TPR ของคลาสเป้าหมาย NO = 𝑇𝑁 𝐹𝑃+𝑇𝑁

FP Rate : False Positive Rate (FPR) คือ ค่าของข้อมูลที่ไม่ได้อยู่ในคลาสนั้นแต่ตัวแบบ ทำนายว่าอยู่ในคลาสนั้น คำนวณจากจำนวนข้อมูลที่ ทำนายผิดในคลาสที่สนใจ / จำนวนข้อมูลในคลาส นั้น FPR ของคลาสเป้าหมาย YES = 𝐹𝑃 𝐹𝑃+𝑇𝑁 FPR ของคลาสเป้าหมาย NO = 𝐹𝑁 𝑇𝑃+𝐹𝑁

Precision : Positive Value (PPV) คือค่าของตัวแบบที่ทำนายให้ถูกต้อง คำนวณ จากจำนวนข้อมูลที่ทำนายถูกในคลาสนั้น/ จำนวนข้อมูลทั้งหมดที่การทำนายให้ผลลัพธ์ เดียวกันในคลาสนั้น PPV ของคลาสเป้าหมาย YES = 𝑇𝑃 𝑇𝑃+𝐹𝑃 PPV ของคลาสเป้าหมาย NO = 𝑇𝑁 𝑇𝑁+𝐹𝑁

Recall คือจำนวนการกระทำด้วยกันแบบที่ตรงกับความเป็นจริง มีค่าเท่ากับ TP Rate คำนวณจากจำนวนข้อมูลที่ ทำนายถูกในคลาสนั้น / จำนวนข้อมูลทั้งหมดใน คลาสนั้น Recall ของคลาสเป้าหมาย YES = 𝑇𝑃 𝑇𝑃+𝐹𝑁 Recall ของคลาสเป้าหมาย NO = 𝑇𝑁 𝑇𝑁+𝐹𝑃

Accuracy คือ จำนวนข้อมูลที่ทำนายถูกของทูกคลาส สูตร 𝑇𝑃+𝑇𝑁 𝑇𝑃+𝑇𝑁+𝐹𝑃+𝐹𝑁

F-Measure คือ ค่าที่เกิดจากการเปรียบเทียบระหว่าง ค่า Precision และค่า Recall ของแต่ละคลาสเป้าหมาย F-Measure ของคลาสเป้าหมาย YES = (2∗ Precision(YES) ∗ Recall (YES)) (Precision(YES) +Recall(YES)) F-Measure ของคลาสเป้าหมาย NO = (2∗ Precision(NO) ∗ Recall(No)) (Precision(NO) + Recall(NO))

Reca ll Precisi on F-Measure Precision - Recall

ROC Graph and Area Under Curve (AUC) คือค่าที่เกิดจากการเปรียบเทียบระหว่าง ค่า TP Rate (ค่าที่ทำนายถูก) และค่า FP Rate (ค่าที่ทำนายผิด) ของ แต่ละคลาสเป้าหมาย ROC Curve มีค่าเข้าใกล้ 1 จะแสดงว่ามี ประสิทธิภาพดี เนื่องจากค่า True Positive เยอะ Area Under Curve (AUC) ใช้แสดงค่าพื้นที่ใต้กราฟ ROC มีค่ามาก (เข้าใกล้ 1) จะยิ่งดี

Classification Performance การแบ่งข้อมูลเพื่อทําการทดสอบประสิทธิภาพของโมล เดลนี้มี 3 วิธีการใหญ่ ดังนี้ (1) วิธี Self Consistency Test (use training set) (2) วิธี Split Test (3) วิธี Cross-validation Test

Self Consistency Test วิธี Self Consistency Test หรือบางครั้งเรียกว่า Use Training Set นี้เป็นวิธีการที่ง่ายที่สุด นั่นคือ ข้อมูลที่ ใช้ในการสร้างโมเดล (model) และข้อมูลที่ใช้ในการ ทดสอบโมเดลเป็นข้อมูลชุดเดียวกัน กระบวนการนี้เริ่ม จาก สร้างโมเดลด้วยข้อมูลเทรนนิง ดาต้า (training data) หลังจากนั้นนําโมเดลที่สร้างได้มาทํานายข้อมูลเท รนนิง ดาต้า ชุดเดิม ตัวอย่างเช่นจากรูป นําข้อมูล เทรนนิง ดาต้า ในตาราง มาสร้างโมเดลและทดสอบ โมเดลเป็นต้น การวัด ประสิทธิภาพ

Self Consistency Test (cont.) ด้วยวิธีนี้จะให้ผลการวัดประสิทธิภาพที่มีค่าสูงมาก (อาจจะเข้าใกล้ 100%) เนื่องจากเป็นข้อมูล ชุดเดิมที่ ระบบได้ทําการเรียนรู้มาแล้ว แต่ผลการวัดที่ได้ไม่ เหมาะที่จะนําไปรายงานในงานวิจัยต่างๆ ซึ่งวิธี การ นี้เหมาะสําหรับใช้ในการทดสอบประสิทธิภาพเพื่อดู แนวโน้มของโมเดลที่สร้างขึ้น ถ้าได้ผลการวัดที่น้อย แสดงว่าโมเดลไม่เหมาะสมกับข้อมูล จึงไม่ควรจะนําไป ทดสอบด้วยวิธีการแบ่งข้อมูลแบบต่างๆ เกิด Bias

Split Test วิธี Split Test เป็นการแบ่งข้อมูลด้วยการสุ่มออกเป็น 2 ส่วน เช่น 70% ต่อ 30% หรือ 80% ต่อ 20% โดยข้อมูลส่วนที่หนึ่ง (70% หรือ 80%) ใช้ในการ สร้างโมเดลและข้อมูลส่วนที่สอง (30% หรือ 20%) ใช้ ใน การทดสอบประสิทธิภาพของโมเดล ตัวอย่างเช่น ในรูป แบ่งข้อมูลเทรนนิง ดาต้า ในตารางออกเป็น 2 ตัวอย่างสำหรับการสร้างโมเดลและข้อมูล 1 ตัวอย่าง ใช้ในการทดสอบ ประสิทธิภาพของโมเดล เป็นต้น

Split Test (cont.) แต่การทดสอบแบบ Split Test นี้ทําการสุ่มข้อมูลเพียง ครั้งเดียวซึ่งในบาง ครั้งถ้าการสุ่มข้อมูลที่ใช้ในการ ทดสอบที่มีลักษณะคล้ายกับข้อมูลที่ใช้สร้างโมเดลทํา ให้ผลการวัด ประสิทธิภาพได้ออกมาดี ในทางตรง ข้ามถ้าการสุ่มข้อมูลที่ใช้ในการทดสอบที่มีลักษณะ แตกต่างกับข้อมูลที่ ใช้สร้างโมเดลมากทําให้ผลการวัด ประสิทธิภาพได้ออกมาแย่ ดังนั้นจึงควรใช้วิธี Split Test นี้หรือทําการสุ่ม หลายๆ ครั้ง แต่ข้อดีของ วิธีการนี้คือใช้เวลาในการสร้างโมเดลน้อยซึ่งเหมาะกับ ชุดข้อมูลที่มีขนาดใหญ่มาก

ตัวอย่างการแบ่งข้อมูลแบบ Split Test สร้างโมเดล Training 70% Testing 30% ผลลัพธ์

Cross-validation Test วิธีนี้เป็นวิธีที่นิยมในการทำงานวิจัย เพื่อใช้ในการ ทดสอบประสิทธิภาพของโมเดลเนื่องจากผลที่ได้มีความ น่าเชื่อถือ การวัด ประสิทธิภาพด้วยวิธี Cross- validation นี้จะทําการแบ่งข้อมูลออกเป็นหลายส่วน (มักจะแสดงด้วยค่า k) เช่น 5-fold cross-validation คือ ทําการแบ่งข้อมูลออกเป็น 5 ส่วน โดยที่แต่ละ ส่วนมีจํานวนข้อมูลเท่ากัน หรือ 10-fold cross- validation คือ การแบ่งข้อมูลออกเป็น 10 ส่วน โดย ที่แต่ละส่วนมีจํานวนข้อมูลเท่ากัน หลัง จากนั้นข้อมูล หนึ่งส่วนจะใช้เป็นตัวทดสอบประสิทธิภาพของโมเดล ทําวนไปเช่นนี้จนครบจํานวนที่แบ่งไว้ เช่น การ ทดสอบด้วยวิธี 5-fold cross-validation ในรูปถัดไป ไม่เกิด Bias

ตัวอยางการแบ่งข้อมูลแบบ 5-fold cross-validation

การวัดประสิทธิภาพของโมเดล Workshop การวัดประสิทธิภาพของโมเดล

การเปรียบเทียบเทคนิคการจำแนกประเภทข้อมูล Workshop การเปรียบเทียบเทคนิคการจำแนกประเภทข้อมูล

การใช้งาน AUTO MODEL โปรแกรม RapidMiner ยังสามารถรันโมเดลกับข้อมูลที่ ใช้ในการเรียนรู้เดิม โดยใช้เทคนิค classification หลายๆ วิธี และเปรียบเทียบประสิทธิภาพของการ จำแนกประเภทข้อมูล (classification performance) พร้อมกันได้ โดยการใช้งาน Auto Model เพื่อสร้าง โมเดลที่เหมาะสมสำหรับให้กับชุดข้อมูล

การเพิ่มประสิทธิภาพการจำแนกประเภทข้อมูล Workshop การเพิ่มประสิทธิภาพการจำแนกประเภทข้อมูล

The end Q & A