ฉันจะเลือกรุ่นจากเอาต์พุต [การตรวจสอบไขว้ภายนอก] นี้ได้อย่างไร
คำตอบสั้น ๆ : คุณทำไม่ได้
ปฏิบัติการตรวจสอบความถูกต้องของการตัดกันภายในเป็นส่วนหนึ่งของขั้นตอนการติดตั้งแบบจำลอง นั่นหมายความว่าการติดตั้งอุปกรณ์รวมถึงการปรับค่าพารามิเตอร์ไฮเปอร์ (นี่คือที่ซ่อนการตรวจสอบความถูกต้องของการตัดกันด้านใน) ก็เหมือนกับการจำลองรุ่นอื่น ๆ
การตรวจสอบความถูกต้องไขว้ด้านนอกประเมินประสิทธิภาพของวิธีการติดตั้งอุปกรณ์รุ่นนี้ เพื่อที่คุณจะใช้สมมติฐานปกติ
- นอกรุ่นตัวแทนเทียบเท่ากับ "ของจริง" รูปแบบที่สร้างขึ้นโดย มีข้อมูลทั้งหมดk
model.fitting.procedure
- หรือในกรณีที่ 1. หยุดพัก (การมองโลกในแง่ร้ายของการตรวจสอบความถูกต้อง resampling) อย่างน้อยจำลองตัวแทนนอกจะเทียบเท่ากัน
วิธีนี้ช่วยให้คุณสามารถรวมผลการทดสอบ (โดยเฉลี่ย) นอกจากนี้ยังหมายความว่าคุณไม่จำเป็นต้องเลือกพวกเขาเนื่องจากคุณคิดว่าพวกเขาเหมือนกัน การทำลายลงของวินาทีนี้สมมติฐานที่อ่อนแอคือความไม่แน่นอนของแบบจำลองk
ไม่ได้เลือกที่ดูเหมือนจะดีที่สุดของที่รุ่นตัวแทน - ที่มักจะเป็นเพียง "เก็บเกี่ยว" การทดสอบความไม่แน่นอนและนำไปสู่การมีอคติในแง่ดีk
ดังนั้นฉันจะใช้ CV ที่ซ้อนกันสำหรับการเลือกรุ่นได้อย่างไร
ภายใน CV ไม่เลือก
สำหรับฉันแล้วการเลือกรุ่นที่ดีที่สุดจากรุ่น K ที่ชนะนั้นจะไม่เป็นการเปรียบเทียบที่ยุติธรรมเนื่องจากแต่ละรุ่นได้รับการฝึกอบรมและทดสอบในส่วนต่าง ๆ ของชุดข้อมูล
คุณมีสิทธิ์ที่จะไม่เลือกรุ่นตัวแทนอย่างใดอย่างหนึ่ง แต่คุณผิดเกี่ยวกับเหตุผล เหตุผลที่แท้จริง: ดูด้านบน ความจริงที่ว่าพวกเขาไม่ได้รับการฝึกฝนและทดสอบกับข้อมูลเดียวกันไม่ได้ "เจ็บ" ที่นี่k
- ไม่มีข้อมูลการทดสอบที่เหมือนกัน: ตามที่คุณต้องการอ้างสิทธิ์หลังจากนั้นผลการทดสอบจะทำให้ข้อมูลไม่เคยเห็นมาก่อนซึ่งไม่สามารถสร้างความแตกต่างได้
- ไม่มีข้อมูลการฝึกอบรมเดียวกัน:
- ถ้าแบบจำลองมีความเสถียรสิ่งนี้จะไม่สร้างความแตกต่าง: เสถียรที่นี่หมายความว่าแบบจำลองจะไม่เปลี่ยนแปลง (มาก) หากข้อมูลการฝึกอบรม "ตกอกตกใจ" โดยการแทนที่บางกรณีโดยกรณีอื่น
- หากโมเดลไม่เสถียรการพิจารณาสามสิ่งสำคัญ:
- คุณสามารถวัดได้ว่าในกรณีนี้และในระดับใดโดยใช้การตรวจสอบความถูกต้องแบบวนซ้ำ -fold ซ้ำแล้วซ้ำอีก ที่ช่วยให้คุณสามารถเปรียบเทียบผลการตรวจสอบข้ามสำหรับกรณีเดียวกันซึ่งได้รับการทำนายโดยแบบจำลองต่างๆที่สร้างขึ้นจากข้อมูลการฝึกอบรมที่แตกต่างกันเล็กน้อยk
- หากแบบจำลองไม่เสถียรความแปรปรวนที่สังเกตเห็นจากผลการทดสอบของการตรวจสอบความถูกต้องข้ามของ -fold เพิ่มขึ้น: คุณไม่เพียง แต่มีความแปรปรวนเนื่องจากข้อเท็จจริงที่ว่ามีเพียงจำนวน จำกัด ของการทดสอบทั้งหมด แต่มีความแปรปรวนเพิ่มเติม เนื่องจากความไม่แน่นอนของตัวแบบ (ความแปรปรวนในความสามารถในการทำนาย)k
- หากความไม่แน่นอนเป็นปัญหาจริงคุณไม่สามารถคาดการณ์ประสิทธิภาพของโมเดล "ของจริง" ได้
ซึ่งนำมาสู่คำถามสุดท้ายของคุณ:
การวิเคราะห์ / ตรวจสอบประเภทใดที่ฉันสามารถทำกับคะแนนที่ฉันได้รับจากการพับ K ภายนอก
- ตรวจสอบความเสถียรของการทำนาย (ใช้การวนซ้ำ / การตรวจสอบความถูกต้องซ้ำแล้วซ้ำอีก)
ตรวจสอบความเสถียร / ความผันแปรของพารามิเตอร์ไฮเปอร์ที่ปรับให้เหมาะสม
สำหรับสิ่งหนึ่งที่การกระจายพารามิเตอร์ไฮเปอร์อย่างรุนแรงอาจบ่งบอกว่าการปรับแต่งภายในไม่ทำงาน สำหรับสิ่งอื่นสิ่งนี้อาจช่วยให้คุณตัดสินใจเกี่ยวกับพารามิเตอร์หลายมิติโดยไม่มีขั้นตอนการปรับให้เหมาะสมที่สุดในสถานการณ์ที่คล้ายกันในอนาคต ด้วยค่าใช้จ่ายฉันไม่ได้อ้างถึงทรัพยากรการคำนวณ แต่เป็นความจริงที่ว่าข้อมูล "ค่าใช้จ่าย" ที่อาจใช้ในการประเมินพารามิเตอร์โมเดล "ปกติ" ได้ดีขึ้น
ตรวจสอบความแตกต่างระหว่างประมาณการภายในและภายนอกของรุ่นที่เลือก หากมีความแตกต่างขนาดใหญ่ (ด้านในมีลักษณะเป็นคนมากเกินไป) มีความเสี่ยงที่การเพิ่มประสิทธิภาพภายในจะใช้งานไม่ได้เพราะมีขนาดใหญ่เกินไป
อัปเดตคำถามของผู้ใช้ @ user99889: จะทำอย่างไรถ้า CV ด้านนอกพบความไม่แน่นอน
ประการแรกการตรวจจับในวง CV ด้านนอกที่ตัวแบบไม่ให้การคาดการณ์ที่มั่นคงในส่วนนั้นไม่ได้แตกต่างจากการตรวจจับจริง ๆ ว่าข้อผิดพลาดเพรดิชันสูงเกินไปสำหรับแอปพลิเคชัน มันเป็นหนึ่งในผลลัพธ์ที่เป็นไปได้ของการตรวจสอบแบบจำลอง (หรือการตรวจสอบ) ซึ่งหมายความว่าแบบจำลองที่เรามีนั้นไม่เหมาะสมสำหรับวัตถุประสงค์ของมัน
ในความคิดเห็นที่ตอบ @davips ฉันคิดว่าจะแก้ปัญหาความไม่มั่นคงในCV ภายใน - กล่าวคือเป็นส่วนหนึ่งของกระบวนการปรับให้เหมาะสมแบบจำลอง
แต่คุณถูกต้องแน่นอน: ถ้าเราเปลี่ยนแบบจำลองของเราโดยอ้างอิงจากการค้นพบ CV ภายนอก แต่จำเป็นต้องมีการทดสอบรอบ ๆ แบบจำลองที่เปลี่ยนแปลงอย่างอิสระอีกรอบ
อย่างไรก็ตามความไม่แน่นอนใน CV ภายนอกก็จะเป็นสัญญาณว่าการปรับให้เหมาะสมไม่ได้ดีดังนั้นการค้นหาความไม่แน่นอนใน CV ภายนอกนั้นหมายความว่า CV ภายในไม่ได้ลงโทษความไม่แน่นอนในแบบที่จำเป็นนี่เป็นจุดสำคัญของฉัน คำวิจารณ์ในสถานการณ์เช่นนี้ ทำไมการเพิ่มประสิทธิภาพจึงอนุญาต / นำไปสู่โมเดลที่มีน้ำหนักเกินอย่างมาก?
อย่างไรก็ตามมีลักษณะหนึ่งที่ IMHO อาจแก้ตัวการเปลี่ยนแปลงเพิ่มเติมของโมเดล "ขั้นสุดท้าย" หลังจากการพิจารณาอย่างรอบคอบเกี่ยวกับสถานการณ์ที่แน่นอน : เมื่อเราตรวจจับการ overfitting การเปลี่ยนแปลงใด ๆ ที่เสนอ (น้อยกว่า df / จำกัด มากขึ้นหรือรวมตัว) อยู่ในทิศทางของการ overfitting น้อย (หรืออย่างน้อยพารามิเตอร์ที่มีแนวโน้มที่จะ overfitting น้อย) จุดของการทดสอบอิสระคือการตรวจจับการมีส่วนเกิน - การ underfitting สามารถตรวจพบได้โดยข้อมูลที่ใช้ในกระบวนการฝึกอบรมแล้ว
ดังนั้นหากเรากำลังพูดถึงพูดถึงการลดจำนวนของตัวแปรแฝงในแบบจำลอง PLS ที่จะอ่อนโยนกว่า (ถ้าการเปลี่ยนแปลงที่เสนอจะเป็นรูปแบบที่แตกต่างกันโดยสิ้นเชิงพูดแบบ PLS แทน SVM การเดิมพันทั้งหมดจะถูกปิด ) และฉันจะรู้สึกผ่อนคลายมากขึ้นถ้าฉันรู้ว่าเราอยู่ในขั้นตอนการทำโมเดลขั้นกลาง - ท้ายที่สุดถ้าโมเดลที่ได้รับการปรับปรุงให้ดีที่สุดยังคงไม่เสถียรไม่มีคำถามที่ต้องใช้เคสเพิ่ม นอกจากนี้ในหลาย ๆ สถานการณ์ในที่สุดคุณจะต้องทำการศึกษาที่ออกแบบมาเพื่อทดสอบด้านต่างๆของประสิทธิภาพอย่างเหมาะสม (เช่นการวางนัยทั่วไปกับข้อมูลที่ได้มาในอนาคต) ถึงกระนั้นฉันก็ยืนยันว่าจะต้องมีการรายงานกระบวนการสร้างแบบจำลองอย่างเต็มรูปแบบและความเกี่ยวข้องของการเปลี่ยนแปลงที่ล่าช้าเหล่านี้จะต้องมีการพูดคุยกันอย่างรอบคอบ
นอกจากนี้การรวมรวมและการประมาณ CV แบบอะนาล็อกนอกถุงจะเป็นไปได้จากผลลัพธ์ที่มีอยู่แล้วซึ่งเป็น "โพสต์การประมวลผล" ประเภทอื่น ๆ ของโมเดลที่ฉันยินดีพิจารณาอ่อนโยนที่นี่ ถ้าการศึกษานั้นได้รับการออกแบบมาตั้งแต่ต้นเพื่อตรวจสอบว่าการรวมตัวไม่ให้ประโยชน์ใด ๆ กับการคาดคะเนแต่ละครั้ง
Update (2019): ยิ่งฉันคิดเกี่ยวกับสถานการณ์เหล่านี้มากขึ้นผมมาชอบ"การตรวจสอบข้ามซ้อนกันเห็นได้ชัดโดยไม่ต้องทำรัง" วิธีการ