ฉันควรจะไปที่ชุดข้อมูล 'สมดุล' หรือชุดข้อมูล 'ตัวแทน'?


48

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

โดยทั่วไปถ้าฉันสร้างแบบจำลองการเรียนรู้ของเครื่องฉันควรจะไปหาชุดข้อมูลซึ่งเป็นตัวแทนของปัญหาโลกแห่งความจริงหรือเป็นชุดข้อมูลที่มีความสมดุลที่ดีกว่าเหมาะสำหรับการสร้างแบบจำลอง (เนื่องจากตัวแยกประเภทบางตัว เนื่องจากเหตุผลอื่น ๆ ที่ฉันไม่รู้จัก)?

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

คำตอบ:


38

ฉันจะบอกว่าคำตอบขึ้นอยู่กับกรณีการใช้งานของคุณ จากประสบการณ์ของฉัน:

  • หากคุณกำลังพยายามสร้างแบบจำลองตัวแทน - แบบจำลองที่อธิบายข้อมูลได้มากกว่าการทำนายแบบจำลอง - ฉันขอแนะนำให้ใช้ตัวอย่างตัวแทนข้อมูลของคุณ
  • หากคุณต้องการสร้างแบบจำลองการทำนายโดยเฉพาะอย่างยิ่งแบบจำลองที่ทำงานได้ดีโดยการวัด AUC หรืออันดับตามลำดับและวางแผนที่จะใช้กรอบงาน ML ขั้นพื้นฐาน (เช่น Decision Tree, SVM, Naive Bayes เป็นต้น) ฉันขอแนะนำให้คุณป้อน กรอบชุดข้อมูลที่สมดุล วรรณกรรมส่วนใหญ่เกี่ยวกับความไม่สมดุลในชั้นเรียนพบว่าการสุ่มการสุ่มตัวอย่างแบบสุ่ม
  • หากคุณกำลังสร้างแบบจำลองการคาดการณ์ แต่กำลังใช้เฟรมเวิร์กที่สูงขึ้น (นั่นคือสิ่งที่กำหนดพารามิเตอร์การสุ่มตัวอย่างผ่าน wrapper หรือการดัดแปลงของกรอบการห่อหุ้มที่ตัวอย่างไปยังคลาสเทียบเท่า) แล้วฉันจะแนะนำให้ป้อนตัวอย่างตัวแทนอีกครั้ง อัลกอริธึมดูแลการจัดสมดุลข้อมูลสำหรับการฝึกอบรม

2
หากคุณกำลังพยายามสร้างแบบจำลองตัวแทน - แบบจำลองที่อธิบายข้อมูลได้มากกว่าการคาดการณ์ ... ผู้สร้างแบบจำลองที่ไม่ได้คาดการณ์ล่วงหน้า? ไม่ได้รับคุณมี ...
PNP

8
การเรียนรู้ที่ไม่ได้รับการสนับสนุนจะเป็นตัวอย่างที่คุณสร้างแบบจำลองที่ไม่จำเป็นต้องคาดเดา ในบางกรณีคุณอาจต้องการสำรวจหรือสรุปข้อมูลของคุณ
DSea

1
ฉันจะบอกว่ามันปลอดภัยกว่าที่จะทำให้ตัวอย่างของคุณสมดุล แต่ยังรวบรวมน้ำหนักการสุ่มตัวอย่างเพื่อที่คุณจะได้สามารถชั่งน้ำหนักข้อมูลของคุณอีกครั้งเพื่อเป็นตัวแทนหากคุณต้องการ @pnp นักวิทยาศาสตร์ทางสังคมมากมายสร้างแบบจำลองที่ไม่สามารถคาดเดาได้เช่นยืนยันทฤษฎี
shadowtalker

โมเดลที่สมดุลจะเปรียบเทียบกับโมเดลตัวแทนโดยใช้การสังเกตแบบถ่วงน้ำหนักเพื่อเลียนแบบโมเดลสมดุลได้อย่างไร
JenSCDC

1
AUC ไม่ได้รับผลกระทบจากความไม่สมดุลของคลาสความน่าจะเป็นที่โมเดลของคุณจัดอันดับคลาสบวกที่เลือกแบบสุ่มสูงกว่าคลาสเชิงลบที่เลือกแบบสุ่ม ฉันไม่เห็นด้วยกับคำแนะนำของคุณที่นี่เพื่อวัตถุประสงค์ทั่วไป หากคุณมีตัวอย่างตัวแทนตัวอย่างสุ่มแบบง่ายควรเป็นตัวแทนที่เหลือ
Matthew Drury

8

ฉันคิดว่ามันขึ้นอยู่กับสถานการณ์เสมอ การใช้ชุดข้อมูลตัวแทนอาจไม่ใช่วิธีแก้ปัญหาเสมอไป สมมติว่าชุดการฝึกอบรมของคุณมีตัวอย่างที่เป็นลบ 1,000 ตัวอย่างและตัวอย่างที่เป็นบวก 20 ตัวอย่าง หากไม่มีการดัดแปลงตัวจําแนกใด ๆ อัลกอริทึมของคุณจะมีแนวโน้มที่จะแยกประเภทตัวอย่างใหม่ทั้งหมดเป็นค่าลบ ในบางสถานการณ์นี่ก็โอเค แต่ในหลายกรณีค่าใช้จ่ายของตัวอย่าง postive ที่หายไปนั้นสูงดังนั้นคุณต้องหาวิธีแก้ปัญหา

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

โดยสรุป: ข้อผิดพลาดการจำแนกไม่มีค่าใช้จ่ายเท่ากัน!


7

มีวิธีแก้ปัญหาอยู่เสมอในการลองทั้งสองวิธีและรักษาวิธีการให้ได้ตามที่คาดหวังไว้

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

จากนั้นคำนวณความแม่นยำ / การเรียกคืนหรือความไว / ความเฉพาะเจาะจงหรือเกณฑ์ที่เหมาะสมกับคุณในชุดข้อมูลที่สมบูรณ์ไม่สมดุลเพื่อให้แน่ใจว่าคุณไม่ได้ละเลยรูปแบบที่สำคัญในข้อมูลจริงในขณะที่สร้างแบบจำลองบนข้อมูลที่ลดลง


4

แยกการดำเนินงานและสถานการณ์การฝึกอบรม

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

สถานการณ์การฝึกอบรมเป็นสิ่งที่คุณกำลังทำเพื่อสร้างตัวจําแนกที่จะทำงานได้ดีกับสถานการณ์การดำเนินงาน

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

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

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


3

ฉันคิดว่ามีสองประเด็นแยกต่างหากที่ควรพิจารณา: เวลาฝึกอบรมและความแม่นยำในการทำนาย

ยกตัวอย่างง่ายๆพิจารณาว่าคุณมีสองคลาสที่มีการแจกแจงแบบหลายตัวแปรปกติ โดยพื้นฐานแล้วคุณต้องประเมินค่าเฉลี่ยของคลาสที่เกี่ยวข้องและระดับความแปรปรวนร่วม ทีนี้สิ่งแรกที่คุณสนใจคือการประเมินความแตกต่างในห้องเรียนหมายถึง: แต่การแสดงของคุณถูก จำกัด ด้วยความแม่นยำของค่าเฉลี่ยที่เลวร้ายที่สุด: มันไม่ดีเลยที่จะประมาณหนึ่งในทศนิยมตำแหน่งที่ 100 ประมาณตำแหน่งทศนิยม 1 ตำแหน่ง ดังนั้นจึงเป็นการสิ้นเปลืองทรัพยากรในการคำนวณเพื่อใช้ข้อมูลทั้งหมด - คุณสามารถแทนการเพิ่มคลาสทั่วไปและแทนที่คลาสที่เหมาะสมได้ (ทรัพยากรการคำนวณเหล่านั้นสามารถนำไปใช้สำรวจตัวแปรอินพุตที่แตกต่างกันและอื่น ๆ )

ตอนนี้ปัญหาที่สองคือความแม่นยำในการคาดการณ์: อัลกอริทึมที่แตกต่างใช้ตัวชี้วัดข้อผิดพลาดที่แตกต่างกันซึ่งอาจหรืออาจไม่เห็นด้วยกับวัตถุประสงค์ของคุณเอง ตัวอย่างเช่นการถดถอยโลจิสติกจะลงโทษข้อผิดพลาดความน่าจะเป็นโดยรวมดังนั้นหากข้อมูลส่วนใหญ่ของคุณมาจากชั้นหนึ่งก็จะพยายามปรับปรุงการประมาณการความน่าจะเป็นที่แม่นยำ (เช่นความน่าจะเป็น 90 vs 95%) ของชั้นเรียนนั้น ชั้นเรียนที่หายาก ในกรณีนี้คุณต้องพยายามที่จะลดน้ำหนักอีกครั้งเพื่อเน้นคลาสที่หายาก (และปรับการประมาณการในภายหลัง [โดยการปรับคำอคติ] เพื่อให้ได้ค่าประมาณความน่าจะเป็นแบบจัดใหม่)

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