การตรวจสอบความถูกต้องไขว้ซ้อนกันเป็นสิ่งที่จำเป็นจริงๆและสามารถสร้างความแตกต่างในทางปฏิบัติเมื่อใด?


36

เมื่อใช้การตรวจสอบข้ามที่จะทำแบบเลือก (เช่นเช่น hyperparameter จูน) และการประเมินประสิทธิภาพของรูปแบบที่ดีที่สุดควรใช้ซ้อนกันตรวจสอบข้าม ลูปภายนอกคือการประเมินประสิทธิภาพของโมเดลและลูปด้านในคือเลือกโมเดลที่ดีที่สุด รุ่นจะถูกเลือกในชุดฝึกอบรมภายนอก (โดยใช้วง CV ภายใน) และวัดประสิทธิภาพของชุดการทดสอบภายนอกที่สอดคล้องกัน

สิ่งนี้ได้รับการพูดคุยและอธิบายในหลาย ๆ หัวข้อ (เช่นที่นี่การฝึกอบรมกับชุดข้อมูลแบบเต็มหลังจากการตรวจสอบข้ามได้หรือไม่ , ดูคำตอบโดย @DikranMarsupial) และชัดเจนสำหรับฉันทั้งหมด การทำเฉพาะการตรวจสอบความถูกต้องไขว้แบบง่าย (ไม่ซ้อนกัน) สำหรับการเลือกทั้งโมเดลและการประมาณประสิทธิภาพสามารถให้ผลการประเมินประสิทธิภาพแบบเอนเอียงในเชิงบวก @DikranMarsupial มีกระดาษ 2010 ว่าหัวข้อนี้ ( ในกว่ากระชับในรุ่นต่อมาการคัดเลือกและการคัดเลือกอคติในการประเมินผลการปฏิบัติงาน ) มาตรา 4.3 ถูกเรียกว่าเป็นมากกว่ากระชับในรุ่นเลือกจริงๆกังวลของแท้ในการปฏิบัติ? - และกระดาษแสดงว่าคำตอบคือใช่

จากทั้งหมดที่กล่าวมาตอนนี้ฉันกำลังทำงานกับหลายตัวแปรการถดถอยหลายสันเขาและฉันไม่เห็นความแตกต่างระหว่าง CV ที่เรียบง่ายและซ้อนกันและ CV ที่ซ้อนกันดังนั้นในกรณีนี้ดูเหมือนว่าเป็นภาระการคำนวณที่ไม่จำเป็น คำถามของฉันคือ: ภายใต้เงื่อนไขใด CV ง่าย ๆ จะให้อคติที่สังเกตได้ซึ่งหลีกเลี่ยงด้วย CV แบบซ้อน? CV ที่ซ้อนกันมีความสำคัญในทางปฏิบัติเมื่อใดและจะไม่สำคัญมากเมื่อไหร่? มีกฎของหัวแม่มือหรือไม่?

นี่คือภาพประกอบโดยใช้ชุดข้อมูลจริงของฉัน แกนแนวนอนคือสำหรับการถดถอยของสันเขา แกนแนวตั้งเป็นข้อผิดพลาดในการตรวจสอบข้าม เส้นสีน้ำเงินสอดคล้องกับการตรวจสอบความถูกต้องแบบง่าย (ไม่ซ้อนกัน) โดยมีการสุ่มทดสอบแบบสุ่ม 50:90 90:10 เส้นสีแดงสอดคล้องกับการตรวจสอบความถูกต้องข้ามแบบซ้อนด้วย 50 สุ่ม 90:10 การฝึกอบรม / การทดสอบแยกโดยที่ถูกเลือกด้วยลูปการตรวจสอบข้ามภายใน (เช่น 50 สุ่ม 90:10 แยก) เส้นมีความหมายมากกว่า 50 การแยกแบบสุ่ม, การปัดเศษแสดงส่วนเบี่ยงเบนมาตรฐานlog(λ)λ±1

การตรวจสอบความถูกต้องข้ามแบบซ้อนง่าย ๆ

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

ปรับปรุง

ที่จริงมันเป็นกรณี :-) เป็นเพียงความแตกต่างนั้นเล็กมาก นี่คือการซูมเข้า:

การตรวจสอบความถูกต้องข้ามแบบซ้อน vs การย่อ

สิ่งหนึ่งที่อาจทำให้เข้าใจผิดที่นี่คือแถบข้อผิดพลาดของฉัน (ขนาดใหญ่) มีขนาดใหญ่ แต่ CV ที่เรียบง่ายสามารถซ้อน (และถูก) ด้วยการฝึกอบรม / การทดสอบแยก ดังนั้นการเปรียบเทียบระหว่างพวกเขาจะถูกจับคู่ตามที่ @Dikran นัยในความคิดเห็น งั้นลองดูความแตกต่างระหว่างข้อผิดพลาด CV แบบซ้อนกับข้อผิดพลาด CV แบบง่าย (สำหรับที่สอดคล้องกับค่าต่ำสุดบนเส้นโค้งสีน้ำเงินของฉัน); อีกครั้งในแต่ละครั้งข้อผิดพลาดทั้งสองนี้จะถูกคำนวณในชุดการทดสอบเดียวกัน พล็อตความแตกต่างนี้ในการแยกการฝึกอบรม / การทดสอบครั้งฉันได้รับสิ่งต่อไปนี้:λ=0.00250

การเปรียบเทียบการตรวจสอบความถูกต้องข้ามแบบซ้อนง่าย ๆ

เลขศูนย์สอดคล้องกับการแยกที่วง CV ภายในให้ผล (เกิดขึ้นเกือบครึ่งหนึ่ง) โดยเฉลี่ยแล้วความแตกต่างมีแนวโน้มที่เป็นบวกคือ CV ที่ซ้อนกันมีข้อผิดพลาดสูงกว่าเล็กน้อย กล่าวอีกนัยหนึ่ง CV อย่างง่ายแสดงให้เห็นถึงจิ๋ว แต่อคติเชิงบวกλ=0.002

(ฉันวิ่งตามขั้นตอนทั้งหมดสองครั้งและมันเกิดขึ้นทุกครั้ง)

คำถามของฉันคือภายใต้เงื่อนไขใดที่เราสามารถคาดหวังว่าอคตินี้จะมีขนาดเล็กและภายใต้เงื่อนไขใดที่เราไม่ควรทำ


ฉันไม่แน่ใจเกินไปที่ฉันเข้าใจแผนภาพคุณสามารถสร้างพล็อตกระจายที่แสดงข้อผิดพลาดโดยประมาณจากการตรวจสอบไขว้ซ้อนกันและไม่ซ้อนในแต่ละแกน ชุดข้อมูลที่คุณใช้มีขนาดเท่าใด
Dikran Marsupial

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

ในวรรคแรกคุณจะมีรูปแบบที่ถูกเลือกในแต่ละชุดการฝึกอบรมนอก ; ก็ควรอาจจะinner-แทน?
Richard Hardy

@ RichardHardy ไม่ แต่ฉันเห็นได้ว่าประโยคนี้ไม่ได้มีการกำหนดอย่างชัดเจน รูปแบบคือ "เลือก" ในชุดฝึกอบรมภายนอกแต่ละชุด โมเดลที่แตกต่างกัน (เช่นรุ่นที่มี lambdas แตกต่างกัน) จะพอดีกับชุดฝึกอบรมภายในแต่ละชุดทดสอบในชุดทดสอบภายในแล้วเลือกหนึ่งในรุ่นที่เลือกตามชุดฝึกอบรมภายนอกทั้งหมด ประสิทธิภาพของมันจะถูกประเมินโดยใช้ชุดทดสอบภายนอก มันสมเหตุสมผลหรือไม่
อะมีบาพูดว่า Reinstate Monica

คำตอบ:


13

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

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

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


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

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

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

1
ฉันเจอปัญหา CV ที่ซ้อนกัน การใช้ CV ที่ซ้อนกันแบบไม่เอนเอียงเกี่ยวข้องกับโมเดลที่มีข้อมูลน้อยกว่า สำหรับ CV แบบ 10 เท่าจะเป็น 81% ใน CV ที่ซ้อนกันและ 90% ใน CV ที่ไม่ซ้อนกัน การทดสอบการพับจะกลายเป็น 9% เทียบกับ 10% ในแบบไม่ซ้อนกัน สิ่งนั้นสร้างความแปรปรวนพิเศษในการประเมินแบบจำลองหรือไม่? โดยเฉพาะอย่างยิ่งสำหรับชุดข้อมูลขนาดเล็กเช่น 350 ตัวอย่างในโพสต์นี้ นี่เป็น 'ข้อเสีย' โดยใช้ CV ที่ซ้อนกันหรือไม่ ถ้าเป็นเช่นนั้นเราควรตัดสินใจอย่างไรว่าจะใช้ CV ที่ซ้อนกันกับขนาดของชุดข้อมูล ขอขอบคุณความคิดเห็นจากผู้เชี่ยวชาญเช่นคุณในประเด็นนี้ มีกระดาษที่เกี่ยวข้องกับปัญหานี้หรือไม่? @Dikran Marsupial
zesla

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