Handling Imbalanced Classes

MATLAB BKK
Apr 29, 2022

--

ปัญหากับข้อมูลไม่สมดุล ทำไมถึงสำคัญ ที่ไม่ควรละเลย และการใช้ 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

--

--

No responses yet