ฉันควรสร้างคลาสให้สมดุลในชุดข้อมูลการฝึกอบรมเมื่อใด


29

ฉันมีหลักสูตรออนไลน์ที่ฉันได้เรียนรู้ว่าคลาสที่ไม่สมดุลในข้อมูลการฝึกอบรมอาจนำไปสู่ปัญหาได้เนื่องจากอัลกอริทึมการจัดหมวดหมู่เป็นไปตามกฎส่วนใหญ่เพราะจะให้ผลลัพธ์ที่ดีหากความไม่สมดุลมากเกินไป ในงานที่ได้รับมอบหมายต้องทำให้ข้อมูลมีความสมดุลโดยการขีดล่างกลุ่มเสียงส่วนใหญ่

อย่างไรก็ตามในบล็อกนี้มีคนอ้างว่าข้อมูลที่สมดุลนั้นแย่ยิ่งกว่าเดิม:

https://matloff.wordpress.com/2015/09/29/unbalanced-data-is-a-problem-no-balanced-data-is-worse/

แล้วอันไหนล่ะ? ฉันควรรักษาสมดุลของข้อมูลหรือไม่? มันขึ้นอยู่กับอัลกอริธึมที่ใช้เพราะบางคนอาจสามารถปรับสัดส่วนของคลาสที่ไม่สมดุลได้หรือไม่? ถ้าเป็นเช่นนั้นข้อมูลใดที่เชื่อถือได้กับข้อมูลที่ไม่สมดุล

คำตอบ:


28

เหตุผลที่เข้าใจง่ายได้รับการอธิบายใน blogpost:

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

ดังนั้นเนื้อหาของข้อมูลที่สมดุล (เทียม) จึงแย่กว่ากรณีที่ไม่สมดุล

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

สมมติว่าคุณกำลังจดจำตัวอักษรเขียนด้วยลายมือจากตัวอักษรภาษาอังกฤษ (26 ตัวอักษร) การปรากฏตัวของตัวอักษรทุกตัวมากเกินไปจะทำให้มีความเป็นไปได้ที่จะจำแนกประเภท (อย่างถูกต้องหรือไม่) ประมาณ 1/26 ดังนั้นตัวจําแนกจะลืมเกี่ยวกับการกระจายตัวอักษรที่แท้จริงในตัวอย่างดั้งเดิม และก็okเมื่อลักษณนามสามารถที่จะพูดคุยและรู้จักตัวอักษรที่มีความแม่นยำสูงทุก

แต่ถ้าความแม่นยำและที่สำคัญที่สุดไม่ได้ "สูงมาก" (ฉันไม่สามารถให้คำจำกัดความกับคุณได้ - คุณสามารถคิดได้ว่ามันเป็น "กรณีที่เลวร้ายที่สุด") - จุดที่ผิดประเภทจะกระจายตัวอักษรทุกตัวเท่า ๆ กัน , สิ่งที่ต้องการ:

"A" was misclassified 10 times
"B" was misclassified 10 times
"C" was misclassified 11 times
"D" was misclassified 10 times
...and so on

เมื่อเทียบกับที่ไม่สมดุล (สมมติว่า "A" และ "C" มีความน่าจะเป็นของการปรากฏในข้อความมากขึ้น)

"A" was misclassified 3 times
"B" was misclassified 14 times
"C" was misclassified 3 times
"D" was misclassified 14 times
...and so on

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

ความแตกต่างที่สำคัญที่สุดคือการประมาณความแม่นยำคือรับลำเอียง (ดังที่คุณเห็นในตัวอย่างตัวอักษรที่มีความสมดุล) ดังนั้นคุณจึงไม่ทราบว่าพฤติกรรมของแบบจำลองได้รับผลกระทบอย่างไรจากจุดที่หายากหรือจุดที่พบบ่อยที่สุด

PS คุณสามารถติดตามประสิทธิภาพของการจัดประเภทที่ไม่สมดุลได้ด้วยเมตริกที่แม่นยำ / เรียกคืนก่อนและตัดสินใจว่าคุณต้องการเพิ่มความสมดุลหรือไม่


แก้ไข : มีความสับสนเพิ่มเติมที่อยู่ในทฤษฎีการประมาณค่าอย่างแม่นยำในความแตกต่างระหว่างค่าเฉลี่ยตัวอย่างและค่าเฉลี่ยประชากร ตัวอย่างเช่นคุณอาจรู้ว่าการกระจายตัวอักษรภาษาอังกฤษที่แท้จริงในตัวอักษรแต่ตัวอย่าง (ชุดฝึกอบรม) ของคุณมีขนาดไม่ใหญ่พอที่จะประมาณได้อย่างถูกต้อง (ด้วย ) ดังนั้นเพื่อชดเชย บางครั้งก็แนะนำให้ปรับสมดุลคลาสตามประชากรเองหรือพารามิเตอร์ที่รู้จักจากตัวอย่างขนาดใหญ่พี(xผม|θ)พี(xผม|θ^)θ^ผม-θผม(ตัวประมาณจึงดีกว่า) อย่างไรก็ตามในทางปฏิบัติไม่มีการรับประกันว่า "ตัวอย่างที่ใหญ่กว่า" นั้นมีการกระจายตัวเหมือนกันเนื่องจากมีความเสี่ยงในการได้รับข้อมูลลำเอียงในทุกขั้นตอน (สมมติว่าตัวอักษรภาษาอังกฤษที่รวบรวมจากวรรณกรรมทางเทคนิคเทียบกับนิยายทั้งหมด) ดังนั้นการทรงตัวอาจเป็นอันตราย

คำตอบนี้ควรอธิบายเกณฑ์การปรับใช้ให้สมดุล

ปัญหาความไม่สมดุลของคลาสเกิดจากการที่มีรูปแบบไม่เพียงพอในชั้นเรียนของชนกลุ่มน้อยไม่ใช่โดยอัตราส่วนของรูปแบบเชิงบวกและเชิงลบต่อตัวเอง โดยทั่วไปหากคุณมีข้อมูลเพียงพอ "ปัญหาความไม่สมดุลของระดับ" จะไม่เกิดขึ้น

โดยสรุปแล้วการทรงตัวประดิษฐ์ไม่ค่อยมีประโยชน์หากชุดฝึกอบรมมีขนาดใหญ่พอ การขาดข้อมูลสถิติจากตัวอย่างกระจายที่มีขนาดใหญ่กว่านั้นก็ไม่จำเป็นต้องมีการสร้างสมดุล (โดยเฉพาะอย่างยิ่งสำหรับการทำนาย) มิฉะนั้นคุณภาพของตัวประมาณจะดีเท่ากับ "ความน่าจะเป็นที่จะพบไดโนเสาร์":

ความเป็นไปได้ที่จะพบไดโนเสาร์ในถนนคืออะไร?

1/2 คุณอาจพบกับไดโนเสาร์หรือคุณไม่ได้พบกับไดโนเสาร์


5
ฉันคิดว่านอกจากคำอธิบายของปัญหาแล้วสิ่งสำคัญที่ต้องนำออกไปจากคำตอบนี้คือควรลองใช้วิธีการที่ไม่สมดุลกันก่อนและตรวจสอบผลลัพธ์และถ้าจำเป็นก็ต้องทำการปรับสมดุลและตรวจสอบผลลัพธ์ +1
Zelphir Kaltstahl

ดังนั้นในคำอื่น ๆ ด้วยคลาสที่กระจายอย่างสม่ำเสมอไปยังชุดย่อยของการฝึกอบรมรูปแบบจะสูญเสียความถูกต้องในข้อมูลที่มองไม่เห็นใช่มั้ย แต่ในกรณีตรงข้ามที่คุณพยายามที่จะแยกรายการของชุดข้อมูลสำหรับชุดย่อยฝึกอบรม / ทดสอบของคุณลักษณนามของคุณจะทำงานได้ดีขึ้นหรือไม่
Christos K.

@ChristosK ดังที่หลายคนกล่าวไว้เมื่อคุณเห็นปัญหาเป็นการจำแนกประเภทมันยากที่จะให้เหตุผลเกี่ยวกับการทำนาย ไม่ว่าในกรณีใดถ้าคุณลบอคติ (ตัวอย่าง“ สุ่ม”) - คุณต้องมีตัวอย่างที่ใหญ่กว่าเพื่อปรับปรุงประสิทธิภาพ มันเป็นเพียงตัวอย่าง“ ปกติ” ที่มีขนาดใหญ่พอที่จะเก็บความหมายไว้ดังนั้นการทรงตัวมากเกินไปจะทำร้ายและทำตัวเหมือนค้อนธรรมดาที่“ แบน” ทุกอย่างโดยไม่คำนึงถึงความเหมาะสม นอกจากนี้ตามคำอุปมาของไดโนเสาร์แสดงให้เห็นว่า "สมดุล" ไม่ได้หมายถึง "แม้แต่" - คุณทำสมดุลที่เหมาะสมก็ต่อเมื่อคุณรู้ว่ามีความน่าจะเป็นบางอย่างในตัวอย่างที่สุ่ม "สุ่ม"
dk14

1
@ChristosK ขอบคุณสำหรับคำอธิบายบางอย่าง มันไม่เหมือนสิ่งที่ฉันตั้งใจ แต่แนวทางนั้นคล้ายกันมาก คำแนะนำที่เป็นประโยชน์สำหรับการบังคับใช้ k-fold คือการทำเมื่อตัวอย่างเริ่มต้นของคุณคือ "kinda small" ไม่แน่ใจ แต่การพับไม่ควรทำร้ายอะไรเลย - มันแค่ใช้เวลามากขึ้นและยิ่งคุณใส่ใจเรื่องการทำนายน้อยเท่าไหร่คุณก็ยิ่งใส่ใจเกี่ยวกับการใช้งานทั่วไปและประสิทธิภาพที่แย่ลงตามที่ได้ยิน :) แต่โดยรวม - k-fold หมายถึงความเอนเอียงน้อยลง
dk14

1
@ChristosK โอ้และเป็นคำเตือนอัตราส่วนสแปม / ไม่สแปมอาจเป็นตัวแปรสุ่มที่ไม่หยุดนิ่งด้วยตัวเอง ด้วย "ข่าวปลอม" เหล่านั้น "รัสเซียโทรลล์" และสิ่งอื่น ๆ ที่ฉันต้องระวังเกี่ยวกับสมมติฐานดังกล่าว - อัตราส่วนอาจมีอคติเช่นกัน คุณอาจต้องการประเมิน PrecisionRecall ในตัวแยกประเภทของคุณก่อนหากมีบางอย่างไม่ถูกต้อง - ฉันควรรวบรวม / สร้าง (?) ข้อมูลเพิ่มเติม
dk14

17

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

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


1

ขึ้นอยู่กับสิ่งที่คุณต้องการเพื่อให้บรรลุจากการจำแนก?

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

แม้ในกรณีที่ใช้งานซึ่งความแม่นยำเป็นเป้าหมายเดียวของเราการสร้างสมดุลอาจจำเป็นถ้าคาดว่าเวลาทดสอบทดสอบจะแตกต่างจากเวลารถไฟ

ตัวอย่างเช่นสมมติว่าคุณต้องการจัดประเภทมะม่วงและส้มคุณมีชุดข้อมูลการฝึกอบรมที่มี 900 มะม่วงและ 30 ส้ม แต่คุณคาดว่าจะนำไปใช้ในตลาดที่มีมะม่วงและส้มเท่ากันจากนั้นคุณควรลองในอัตราส่วนตัวอย่างที่คาดหวัง ความถูกต้อง


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

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

3
แต่ปัญหาที่เกิดขึ้นกับตัวอย่างเช่นโรคมะเร็งคือการดูว่ามันเป็นจำแนกมันควรจะถือว่าเป็นการประมาณค่าความเสี่ยง จากนั้นปัญหาที่ชัดเจนของคลาสที่ไม่สมดุลจะหายไปโปรดดูstats.stackexchange.com/questions/127042/ …
kjetil b halvorsen

1

เมื่อข้อมูลของคุณสมดุลคุณสามารถตรวจสอบความถูกต้องของเมตริกได้ แต่เมื่อสถานการณ์เช่นนี้ข้อมูลของคุณไม่สมดุลความแม่นยำของคุณจะไม่สอดคล้องกับการทำซ้ำที่แตกต่างกัน คุณต้องมีสมาธิมากขึ้นเช่นความแม่นยำ (PPR), เรียกคืน (ความไว) ตัวชี้วัดสองตัวนี้ควรมีความสมดุลเมื่อเปรียบเทียบ นอกจากนี้คุณควรตรวจสอบคะแนน F1 ซึ่งเป็นค่าเฉลี่ยฮาร์โมนิกของความแม่นยำและการเรียกคืน สิ่งนี้ใช้ได้กับอัลกอริทึมการเรียนรู้ของเครื่องทั้งหมด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.