พิจารณาชุดข้อมูลที่มีป้ายกํากับเชิงหมวดหมู่ซึ่งมีค่าเป็นบวกหรือลบ ในชุดข้อมูลที่สมดุล จํานวนป้ายกํากับบวกและลบจะเท่าๆ กัน อย่างไรก็ตาม หากป้ายกำกับหนึ่งพบบ่อยกว่าป้ายกำกับอื่น ชุดข้อมูลจะไม่สมดุล ป้ายกำกับที่พบบ่อยที่สุดในชุดข้อมูลที่ไม่สมดุลเรียกว่าคลาสส่วนใหญ่ ส่วนป้ายกำกับที่พบไม่บ่อยเรียกว่าคลาสส่วนน้อย
ตารางต่อไปนี้แสดงชื่อและช่วงที่ได้รับการยอมรับโดยทั่วไปสำหรับความไม่สมดุลในระดับต่างๆ
เปอร์เซ็นต์ของข้อมูลที่อยู่ในคลาสที่น้อย | ระดับความไม่สมดุล |
---|---|
20-40% ของชุดข้อมูล | ผ่อนปรน |
1-20% ของชุดข้อมูล | ปานกลาง |
<1% ของชุดข้อมูล | สูงสุด |
ตัวอย่างเช่น ลองพิจารณาชุดข้อมูลการตรวจหาไวรัสซึ่งคลาสส่วนน้อยแสดงถึง 0.5% ของชุดข้อมูล และคลาสส่วนใหญ่แสดงถึง 99.5% ชุดข้อมูลที่ไม่สมดุลอย่างมากเช่นนี้เป็นเรื่องปกติในทางการแพทย์ เนื่องจากผู้เข้าร่วมส่วนใหญ่จะไม่มีไวรัส
บางครั้งชุดข้อมูลที่ไม่สมดุลอาจมีตัวอย่างของคลาสที่น้อยไม่เพียงพอที่จะฝึกโมเดลอย่างเหมาะสม กล่าวคือ เมื่อมีป้ายกำกับเชิงบวกน้อยมาก โมเดลจะฝึกโดยใช้ป้ายกำกับเชิงลบเกือบทั้งหมดและไม่สามารถเรียนรู้เกี่ยวกับป้ายกำกับเชิงบวกได้มากพอ เช่น หากขนาดกลุ่มเป็น 50 รายการ หลายๆ กลุ่มจะไม่มีป้ายกำกับเชิงบวก
ความไม่สมดุลมักไม่ใช่ปัญหา โดยเฉพาะสำหรับชุดข้อมูลที่มีความสมดุลเพียงเล็กน้อยและชุดข้อมูลที่มีความสมดุลปานกลาง คุณจึงควรลองฝึกชุดข้อมูลเดิมก่อน หากโมเดลทำงานได้ดี แสดงว่าเสร็จแล้ว หากไม่ อย่างน้อยที่สุดโมเดลที่มีประสิทธิภาพต่ำกว่าเกณฑ์ก็ถือเป็นฐานที่ดีสำหรับการทดสอบในอนาคต หลังจากนั้น คุณอาจลองใช้เทคนิคต่อไปนี้เพื่อแก้ปัญหาที่เกิดจากชุดข้อมูลที่ไม่สมดุล
การลดขนาดและการเพิ่มน้ำหนัก
วิธีจัดการชุดข้อมูลที่ไม่สมดุลอย่างหนึ่งคือการลดขนาดตัวอย่างและเพิ่มน้ำหนักของคลาสส่วนใหญ่ คําจํากัดความของคําใหม่ 2 คําดังกล่าวมีดังนี้
- การลดขนาดการสุ่มตัวอย่าง (ในบริบทนี้) หมายถึงการฝึกกับชุดย่อยที่มีจำนวนน้อยมากของตัวอย่างในคลาสส่วนใหญ่
- การเพิ่มน้ำหนักหมายถึงการเพิ่มน้ำหนักตัวอย่างลงในคลาสที่ลดขนาดเท่ากับปัจจัยที่คุณลดขนาด
ขั้นตอนที่ 1: ดาวน์แซมเปิลคลาสส่วนใหญ่ พิจารณาชุดข้อมูลไวรัสที่แสดงในรูปที่ 5 ซึ่งมีสัดส่วนป้ายกำกับบวก 1 รายการต่อป้ายกำกับลบ 200 รายการ การลดขนาดลง 10 เท่าช่วยเพิ่มความสมดุลเป็น 1 รายการเชิงบวกต่อ 20 รายการเชิงลบ (5%) แม้ว่าชุดการฝึกที่ได้จะยังคงไม่สมดุลในระดับปานกลาง แต่สัดส่วนระหว่างตัวอย่างเชิงบวกกับเชิงลบนั้นดีกว่าสัดส่วนเดิมที่ไม่สมดุลอย่างมาก (0.5%) มาก
ขั้นตอนที่ 2: เพิ่มน้ำหนักของคลาสที่ลดขนาด: เพิ่มตัวอย่างน้ำหนักลงในคลาสที่ลดขนาด หลังจากลดขนาดเป็น 10 เท่า น้ำหนักตัวอย่างควรเป็น 10 (ใช่ นี่อาจฟังดูขัดกับสัญชาตญาณ แต่เราจะอธิบายเหตุผลในภายหลัง)
คําว่า weight ไม่ได้หมายถึงพารามิเตอร์โมเดล (เช่น w1 หรือ w2) ในที่นี้ weight หมายถึงน้ำหนักตัวอย่าง ซึ่งจะเพิ่มความสำคัญของตัวอย่างแต่ละรายการในระหว่างการฝึก ตัวอย่างที่มีน้ำหนัก 10 หมายความว่าโมเดลจะถือว่าตัวอย่างนั้นสำคัญกว่า (เมื่อคํานวณการสูญเสีย) 10 เท่าเมื่อเทียบกับตัวอย่างที่มีน้ำหนัก 1
weight ควรเท่ากับปัจจัยที่คุณใช้ลดขนาด ดังนี้
\[\text{ \{example weight\} = \{original example weight\} × \{downsampling factor\} }\]
การใส่น้ำหนักตัวอย่างหลังจากลดขนาดอาจดูแปลกๆ ท้ายที่สุดแล้ว คุณพยายามทําให้โมเดลปรับปรุงการแยกแยะคลาสที่มีจํานวนน้อยอยู่แล้ว เหตุใดจึงต้องเพิ่มน้ำหนักให้คลาสที่มีจํานวนมาก อันที่จริงแล้ว การเพิ่มน้ำหนักของคลาสส่วนใหญ่มีแนวโน้มที่จะช่วยลดความลำเอียงในการคาดการณ์ กล่าวคือ การถ่วงน้ำหนักหลังจากการลดขนาดมีแนวโน้มที่จะลดค่าเดลต้าระหว่างค่าเฉลี่ยของการคาดการณ์ของโมเดลกับค่าเฉลี่ยของป้ายกำกับชุดข้อมูล
ปรับอัตราส่วนให้สมดุล
คุณควรลดขนาดและเพิ่มน้ำหนักเท่าใดเพื่อปรับสมดุลชุดข้อมูล หากต้องการหาคำตอบ คุณควรทดสอบอัตราส่วนการปรับสมดุล เช่นเดียวกับการทดสอบไฮเปอร์พารามิเตอร์อื่นๆ อย่างไรก็ตาม คำตอบสุดท้ายจะขึ้นอยู่กับปัจจัยต่อไปนี้
- ขนาดกลุ่ม
- อัตราส่วนความไม่สมดุล
- จํานวนตัวอย่างในชุดการฝึก
โดยแต่ละกลุ่มควรมีตัวอย่างของคลาสที่ไม่ใช่ส่วนมากหลายรายการ กลุ่มที่ไม่มีคลาสของชนกลุ่มน้อยเพียงพอจะทําให้การฝึกมีประสิทธิภาพต่ำมาก ขนาดกลุ่มควรมากกว่าอัตราส่วนความไม่สมดุลหลายเท่า เช่น หากอัตราส่วนความไม่สมดุลคือ 100:1 ขนาดกลุ่มควรเป็นอย่างน้อย 500
แบบฝึกหัด: ทดสอบความเข้าใจ
ลองพิจารณาสถานการณ์ต่อไปนี้
- ชุดข้อมูลการฝึกมีตัวอย่างมากกว่า 1 พันล้านรายการ
- ขนาดกลุ่มคือ 128
- อัตราส่วนความไม่สมดุลคือ 100:1 ชุดการฝึกจึงแบ่งออกเป็นดังนี้
- ตัวอย่างคลาสส่วนใหญ่ประมาณ 1 พันล้านรายการ
- ตัวอย่างของชนกลุ่มน้อยประมาณ 10 ล้านรายการ