เราจำเป็นต้องมีชุดทดสอบเมื่อใช้การตรวจสอบความถูกต้องข้ามของ k-fold หรือไม่?


21

ฉันได้อ่านเกี่ยวกับการตรวจสอบ k-fold และฉันต้องการตรวจสอบให้แน่ใจว่าฉันเข้าใจวิธีการทำงาน

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

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


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

2
... ซึ่งหมายความว่าเมื่อใดก็ตามที่คุณใช้ผลลัพธ์ "การตรวจสอบความถูกต้อง" สำหรับการปรับแต่งพารามิเตอร์ / โมเดลไฮเปอร์พารามิเตอร์คุณจำเป็นต้องมีขั้นตอนการตรวจสอบความถูกต้องอีกขั้นซึ่งไม่ขึ้นอยู่กับการปรับแต่งนั้น สำหรับทั้งสองขั้นตอนคุณสามารถใช้เช่นการตรวจสอบความถูกต้องไขว้หรือกดค้างไว้ (หรือ out-of-bootstrap หรือ ... ) CV + CV เรียกว่าซ้อนกัน CV กดค้างไว้ + นำไปสู่การตั้งค่า 3 ชุดที่คุณกล่าวถึง
cbeleites รองรับโมนิก้า

คำตอบ:


9

ในวิธี K-Fold เรายังคงมีชุดทดสอบสำหรับส่วนท้ายและใช้เฉพาะข้อมูลที่เหลือสำหรับการฝึกอบรมและการปรับจูนพารามิเตอร์ (เช่นเราจะแบ่งข้อมูลที่เหลือเป็น k เท่าแล้วใช้ความแม่นยำเฉลี่ยหลังจาก การฝึกอบรมกับแต่ละเท่า (หรือตัวชี้วัดประสิทธิภาพที่เราเลือก) เพื่อปรับแต่งพารามิเตอร์หลายมิติของเรา)?

ใช่. ตามกฎแล้วชุดทดสอบไม่ควรนำมาใช้เพื่อเปลี่ยนแบบจำลองของคุณ (เช่นพารามิเตอร์ไฮเปอร์พารามิเตอร์)

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


6
+1 แต่คุณอาจต้องการพูดถึงการตรวจสอบความถูกต้องข้ามแบบซ้อนเป็นทางเลือกให้กับชุดการตรวจสอบความถูกต้องข้าม + การทดสอบ
อะมีบาพูดว่า Reinstate Monica

1
"บางครั้งสามารถใช้เพื่อจุดประสงค์อื่นนอกเหนือจากการปรับพารามิเตอร์ไฮเปอร์" ตัวอย่างเช่นคุณสามารถใช้การตรวจสอบข้ามเพื่อวัตถุประสงค์ในการตรวจสอบ (= ทดสอบกรณีที่ไม่รู้จักเพื่อวัดข้อผิดพลาดการวางนัยทั่วไป)
cbeleites รองรับโมนิก้า

3

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

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


2
นี่ไม่ใช่คำตอบที่แท้จริงของคำถาม
Michael R. Chernick

คุณสามารถขยายสิ่งนี้เพื่อเพิ่มบางสิ่งบางอย่างให้กับคำตอบที่ได้รับการยอมรับและความคิดเห็นโดยละเอียดได้หรือไม่?
mdewey

1

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

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