จะจัดการกับความแตกต่างระหว่างการกระจายตัวของชุดทดสอบและชุดฝึกอบรมอย่างไร?


23

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

พูดสำหรับปัญหาการจัดหมวดหมู่หลากหลายขนาดใหญ่ที่พยายามแบ่งคำอธิบายผลิตภัณฑ์ออกเป็นประมาณ 17,000 คลาส ชุดการฝึกอบรมจะมีนักบวชชั้นสูงอย่างมากบางชั้นอาจมีตัวอย่างการฝึกอบรมมากมาย แต่บางคนอาจมีเพียงไม่กี่คน สมมติว่าเราได้รับชุดทดสอบที่มีเลเบลคลาสที่ไม่รู้จักจากลูกค้า เราพยายามจัดประเภทผลิตภัณฑ์แต่ละชิ้นในชุดทดสอบเป็นหนึ่งใน 17,000 คลาสโดยใช้ตัวจําแนกที่ฝึกในชุดฝึกอบรม ชุดทดสอบอาจมีการแจกแจงแบบเบ้ แต่อาจแตกต่างจากชุดการฝึกอบรมเนื่องจากอาจเกี่ยวข้องกับธุรกิจที่แตกต่างกัน หากการแจกแจงสองระดับแตกต่างกันมากลักษณนามที่ผ่านการฝึกอบรมอาจทำงานได้ไม่ดีในชุดทดสอบ เรื่องนี้ดูเหมือนชัดเจนโดยเฉพาะกับตัวจําแนก Naive Bayes

มีวิธีใดที่สามารถจัดการความแตกต่างระหว่างชุดการฝึกอบรมและชุดทดสอบที่กำหนดสำหรับตัวแยกประเภทความน่าจะเป็นหรือไม่ ฉันได้ยินเกี่ยวกับการที่ "transductive SVM" ทำสิ่งที่คล้ายกันใน SVM มีเทคนิคที่คล้ายกันในการเรียนรู้ลักษณนามที่มีประสิทธิภาพดีที่สุดในชุดการทดสอบที่กำหนดหรือไม่? จากนั้นเราสามารถฝึกตัวจําแนกใหม่สําหรับชุดการทดสอบที่แตกต่างกันตามที่ได้รับอนุญาตในสถานการณ์จริงนี้

คำตอบ:


17

หากความแตกต่างอยู่ในความถี่ของคลาสญาติในชุดการฝึกอบรมและการทดสอบฉันจะแนะนำขั้นตอน EM ที่แนะนำในบทความนี้:

Marco Saerens, Patrice Latinne, Christine Decaestecker: การปรับผลลัพธ์ของตัวจําแนกเป็นความน่าจะเป็น Priori แบบใหม่: ขั้นตอนง่าย ๆ การคำนวณทางประสาท 14 (1): 21-41 (2002) ( www )

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

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

ดูยังโพสต์บล็อกที่ดีโดยอเล็กซ์ Smola ที่นี่


ขอบคุณมากสำหรับการให้คำแนะนำที่เป็นประโยชน์มากมาย!
Fashandge

ไม่มีปัญหาสถานการณ์ "ที่ไม่ได้มาตรฐาน" เหล่านี้น่าสนใจมากและการเปลี่ยนแปลงแบบแปรปรวนร่วมเป็นพื้นที่ที่มีประโยชน์อย่างมากในการวิจัย
Dikran Marsupial

1
ดีที่ได้รู้. แม้ว่าจะเป็น "ที่ไม่ได้มาตรฐาน" แต่ก็เป็นจริงในทางปฏิบัติ
Fashandge

1

ฉันพบบทเรียนการสอนที่ยอดเยี่ยมเกี่ยวกับการปรับโดเมนที่อาจช่วยอธิบายในรายละเอียดเพิ่มเติมได้ที่: http://sifaka.cs.uiuc.edu/jiang4/domain_adaptation/survey/da_survey.html โซลูชันที่ไม่ได้กล่าวถึงที่นี่มีพื้นฐานมาจาก บน ADABOOST นี่คือลิงค์ไปยังบทความต้นฉบับ: http://ftp.cse.ust.hk/~qyang/Docs/2007/tradaboost.pdf แนวคิดพื้นฐานคือการใช้ข้อมูลทดสอบใหม่เพื่อปรับปรุงการเรียนรู้จากข้อมูลรถไฟ . บทความนี้เป็นเคล็ดลับของภูเขาน้ำแข็งเกี่ยวกับการเรียนรู้การถ่ายโอน - ซึ่งคุณใช้สิ่งที่คุณรู้จากงานหนึ่งและนำไปใช้กับอีกงานหนึ่ง


1
คุณสามารถรวมประเด็นสรุปที่สำคัญบางอย่างจากบทช่วยสอนแรกโดยเฉพาะในกรณีที่ลิงก์เสียหรือเปลี่ยนสถานที่ได้หรือไม่ เรามีปัญหากับ "link rot" ที่นี่ซึ่งคุณค่าของคำตอบเก่า ๆ ของเราลดลงเนื่องจากลิงก์หยุดทำงานดังนั้นจึงเป็นเรื่องดีถ้าคำตอบสามารถอยู่ในตัวเองได้มากที่สุด
Silverfish

นี่คือลิงค์ที่เก็บถาวร: web.archive.org/web/20170930145238/http://sifaka.cs.uiuc.edu/…
Justas
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.