Handling Imbalanced Classes
ปัญหากับข้อมูลไม่สมดุล ทำไมถึงสำคัญ ที่ไม่ควรละเลย และการใช้ Matlab Code แก้ปัญหาเรื่องนี้
Imbalanced Classes คือ อะไร
หนึ่งในปัญหามากมายเกี่ยวกับปัญหาการเรียนรู้ของ Machine learning คือ ข้อมูลที่ไม่สมดุล
ข้อมูลที่ไม่สมดุลหมายถึงเมื่อคลาสที่มีอยู่ในข้อมูลของเราสัดส่วนที่ไม่เหมาะสม
อัตราส่วนของแต่ละ Class แตกต่างกันโดยที่ Class หนึ่งมีจำนวน data เป็นชุดข้อมูลหลัก โดยที่อีก Class หนึ่งมีอยู่เล็กน้อยเท่านั้น
ปัญหากับข้อมูลไม่สมดุล?
การ Training Model จะทำให้เกิด Bias Model การเรียนรู้ของ Class data กลุ่มใหญ่ จะให้ผลดี แต่มีโอกาสผิดพลาดจากกลุ่ม Class ที่มีจำนวนที่น้อย ได้
- ค่าคะแนนความแม่นยำอาจมีผลต่อความเชื่อมั่น Model แต่ก็อาจนำไปสู่ความผิดพลาด
วิธีจัดการชุดข้อมูลที่ไม่สมดุล !
→ 1. รวบรวมข้อมูลเพิ่มเติม
วิธีนี้มักถูกมองข้ามเพราะไม่สามารถทำได้สำหรับการใช้งานส่วนใหญ่ อย่างไรก็ตาม วิธีนี้ช่วยลดปริมาณอคติในข้อมูลเนื่องจากเทคนิคการสุ่มตัวอย่างใหม่
ทำไม ??? ไม่ควรใช้เส้นโค้ง ROC สำหรับ Data Class ที่ไม่ Balance กัน
เนื่องจากอาจตีความผลลัพธ์ที่ไม่ถูกต้องได้ หาก Model ให้ผลที่ดีกับ Data Class
ที่ Unbalance
→ การสุ่มตัวอย่างข้อมูล เป็นเทคนิคที่ใช้กันมากที่สุดวิธีหนึ่งในการจัดการกับปัญหาข้อมูลไม่สมดุล โดยจะสุ่มตัวอย่างข้อมูลเพื่อสร้างสมดุลให้กับ Class ประกอบด้วยการลบตัวอย่างออกจากคลาสส่วนใหญ่ (การสุ่มตัวอย่างต่ำกว่า) และ (หรือ) การเพิ่มตัวอย่างเพิ่มเติมจากคลาสชนกลุ่มน้อย (การสุ่มตัวอย่างมากเกินไป)
การกำหนดน้ำหนักของคลาสด้วยตนเอง:
สมมติเลือกวิธี Train layer Deep learning ( Matlab code สำหรับการ Set weight )
สามารถติดตามเนื้อหาความรู้ต่างๆ โดยเฉพาะการใช้ประยุกต์ใช้กับโปรแกรม Matlab ได้ที่ Facebook Page :(20+) Matlab bkk center | Facebook