Support Vector Machine รองรับชุดข้อมูลที่ไม่สมดุลหรือไม่?


14

SVM จัดการชุดข้อมูลที่ไม่สมดุลหรือไม่ นั่นคือพารามิเตอร์ใด ๆ (เช่น C หรือค่าการแบ่งประเภท) การจัดการชุดข้อมูลที่ไม่สมดุล


1
อะไรทำให้ชุดข้อมูล "ไม่สมดุล"?
whuber

1
@whuber ชุดข้อมูลการจำแนกที่มีความชุกของคลาสที่แตกต่างกันส่วนใหญ่มักเรียกว่าไม่สมดุล
Marc Claesen

1
@ Marc นั่นอาจเป็นจริงโดยทั่วไป แต่เป็นแนวคิดที่คลุมเครือ "แตกต่างกันมาก" เท่าไหร่ ทำไมมันถึงมีความสำคัญยกเว้นในบางกรณีพิเศษ? ฉันเชื่อว่ามันเป็นสิ่งสำคัญสำหรับเราที่จะเรียนรู้ว่าผู้เสนอคำถามนี้หมายถึงอะไรโดย "ไม่สมดุล" มากกว่าที่จะยอมรับการคาดเดาที่ชาญฉลาดของใครก็ตามที่เกี่ยวข้องกับความหมายที่ตั้งใจไว้
whuber

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

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

คำตอบ:


18

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

minw,b,ξi=1Nj=1Nαiαjyiyjκ(xi,xj)+CposiPξi+CnegiNξi,s.t.yi(j=1Nαjyjκ(xi,xj)+b)1ξi,i=1Nξi0,i=1N

โดยที่และNแสดงถึงอินสแตนซ์การฝึกอบรมเชิงบวก ใน SVM มาตรฐานเรามีค่าCเพียงค่าเดียวในขณะที่เรามี 2 ค่าปรับประเภทสำหรับการชนกลุ่มน้อยถูกเลือกให้มากกว่าค่าส่วนใหญ่PNC

วิธีการนี้ได้รับการแนะนำก่อนหน้านี้ซึ่งมีการกล่าวถึงในบทความปี 1997:

Edgar Osuna, Robert Freund และ Federico Girosi สนับสนุน Vector Machines: การฝึกอบรมและการใช้งาน รายงานทางเทคนิค AIM-1602, 1997. ( pdf )

Cpos=2CnegC=Cneg


เจ๋งขอบคุณ! นอกจากนั้นแล้วการถดถอยโลจิสติกส์เบย์เนวี่ต้นไม้การตัดสินใจจัดการกับปัญหาความไม่สมดุลดังกล่าวหรือไม่?
RockTheStar

การถดถอยโลจิสติกส์ทำอย่างแน่นอนคุณเพียงแค่เพิ่มความน่าจะเป็นสำหรับรูปแบบเชิงบวกและรูปแบบเชิงลบที่แตกต่างกัน
Dikran Marsupial

การถดถอยโลจิสติกและ SVM มีวิธีการที่แท้จริง ฉันไม่ทราบด้วยวิธีการอื่น ๆ ทั้งหมด แต่การ oversampling คลาสของชนกลุ่มน้อยทำงานได้ค่อนข้างดีในทุก ๆ วิธี (แม้ว่ามันจะไม่สง่างามทางคณิตศาสตร์ก็ตาม)
Marc Claesen

1
เจ๋งขอบคุณ @Dikran Marc: ใช่งาน oversampling ง่าย ๆ โดยทั่วไป อย่างไรก็ตามสิ่งนี้ขึ้นอยู่กับสถานการณ์ สิ่งที่เกิดขึ้นคือคุณกำลังเพิ่ม "น้ำหนัก" ลงในข้อมูลผู้ถือหุ้นส่วนน้อยเมื่อคุณทำการสุ่มตัวอย่างการชนกลุ่มน้อย (การจำลองคะแนนของผู้ถือหุ้นส่วนน้อยอีกครั้งและอีกครั้งในสถานที่เดียวกัน) สิ่งนี้จะช่วยปรับปรุง "การพิจารณา" ของตัวอย่างชนกลุ่มน้อย อย่างไรก็ตามขอบเขตการตัดสินใจของการจัดหมวดหมู่นั้นจะค่อนข้างตึงเครียด (ไม่กว้างพอ) กล่าวคืออาจทำให้เกิดข้อผิดพลาดมากเกินไป ดังนั้นเราอาจต้องพิจารณาเทคนิคการสุ่มตัวอย่างที่น่าจะเป็นเช่น SMOTE
RockTheStar

10

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

ฉันเป็นหนึ่งในหลาย ๆ คนที่เขียนบทความเกี่ยวกับเรื่องนี้ที่นี่เป็นของฉันฉันจะดูว่าฉันสามารถหาสิ่งที่ใหม่กว่า / ดีกว่า ลองใช้Veropoulos, Campbell และ Cristianini (1999)


Dikran ทำไมมันเท่ากับ asymptotically เท่านั้น ... แน่นอนว่ามันเทียบเท่ากับการถ่วงน้ำหนักข้อผิดพลาดของคลาสที่แตกต่างกันแตกต่างกันอย่างไร
seanv507

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