การตรวจสอบความถูกต้องไขว้มีผลต่อปัญหา overfitting อย่างไร


34

เหตุใดขั้นตอนการตรวจสอบข้ามจึงเอาชนะปัญหาการ overfitting แบบจำลอง?


3
ดูผลงานของอแลง Celisse งานของเขาเท่าที่ฉันอ่าน (อนิจจาน้อยเกินไป) เป็นเรื่องเกี่ยวกับข้อดีของการตรวจสอบข้าม
mpiktas

@mpiktas แท้จริงและเป็นหนึ่งในกระดาษของเขาถูกเสนอไปแล้วสำหรับ CVJC ที่mendeley.com/groups/999241/crossvalidated-journal-club/papers
chl

คำตอบ:


23

ฉันไม่สามารถนึกคำอธิบายที่ชัดเจนเพียงพอในขณะนี้ดังนั้นฉันจะปล่อยให้คนอื่น; อย่างไรก็ตามการตรวจสอบความถูกต้องไขว้นั้นไม่สามารถเอาชนะปัญหาการปรับให้แน่นเกินไปในการเลือกรุ่นได้อย่างสมบูรณ์ ข้อผิดพลาดการตรวจสอบข้ามไม่ได้มีความแปรปรวนเล็กน้อยโดยเฉพาะอย่างยิ่งถ้าขนาดของชุดข้อมูลมีขนาดเล็ก; กล่าวอีกนัยหนึ่งคุณจะได้รับค่าแตกต่างกันเล็กน้อยขึ้นอยู่กับตัวอย่างของข้อมูลที่คุณใช้ ซึ่งหมายความว่าหากคุณมีอิสระหลายระดับในการเลือกรูปแบบ (เช่นคุณสมบัติมากมายที่จะเลือกชุดย่อยขนาดเล็ก, พารามิเตอร์ไฮเปอร์จำนวนมากในการปรับแต่ง, รุ่นที่มีให้เลือกหลายรุ่น) คุณสามารถใส่เกณฑ์การตรวจสอบข้าม เมื่อโมเดลถูกปรับในรูปแบบที่ใช้ประโยชน์จากรูปแบบการสุ่มนี้แทนที่จะใช้วิธีที่ปรับปรุงประสิทธิภาพการทำงานจริง ๆ และคุณสามารถท้ายด้วยโมเดลที่ทำงานได้ไม่ดี สำหรับการสนทนาในเรื่องนี้ดูCawley และทัลบอต "ในการเลือกแบบจำลองและการเลือกที่เกินความเหมาะสมในการประเมินประสิทธิภาพ", JMLR, ฉบับที่ 11, pp. 2079−2107, 2010

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


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

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

1
เหตุใด CV ของ k-fold จึงมีราคาแพงกว่าการลาแบบออกครั้งเดียว ประสบการณ์ของฉัน (และสัญชาตญาณของฉัน) บอกเป็นอย่างอื่น เนื่องจากใน k-fold CV เราทำการทดสอบ k ทุกที่ใน L1O เรากำลังทำการทดสอบ N (>> k) และโดยปกติส่วนการฝึกอบรมจะใช้เวลานานเนื่องจากเมทริกซ์ผกผันดังนั้น L1O จึงไม่ใช่ตัวเลือกที่แพง?
jeff

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

ความเข้าใจของฉันเกี่ยวกับการลาออกครั้งเดียวคือมันเป็น k-fold CV - รูปแบบที่ดีที่สุด แต่ราคาแพงที่สุดในการคำนวณของ k-fold CV โดยที่ k = ขนาดชุดข้อมูล
Daniel Winterstein

10

คำตอบของฉันง่ายกว่าเข้มงวด แต่อาจจะช่วย ...

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

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

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

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


3

จากมุมมองของ Bayesian ฉันไม่แน่ใจว่า cross validation ทำอะไรที่การวิเคราะห์แบบ Bayesian ที่ "เหมาะสม" ไม่ได้ทำเพื่อเปรียบเทียบตัวแบบ แต่ฉันไม่แน่ใจ 100% เหมือนกัน

MAMBDI

P(MA|D,I)P(MB|D,I)=P(MA|I)P(MB|I)×P(D|MA,I)P(D|MB,I)

P(D|MA,I)

P(D|MA,I)=P(D,θA|MA,I)dθA=P(θA|MA,I)P(D|MA,θA,I)dθA

ซึ่งเรียกว่าการกระจายการคาดการณ์ก่อน โดยทั่วไปแล้วจะบอกว่าแบบจำลองทำนายข้อมูลที่สังเกตได้ดีเพียงใดซึ่งเป็นสิ่งที่การตรวจสอบความถูกต้องของข้อมูลทำได้ถูกต้องด้วยการแทนที่ "รุ่นก่อนหน้า" ด้วยรูปแบบ "การฝึกอบรม" และ "ข้อมูล" ที่ถูกแทนที่ด้วย ข้อมูล. ดังนั้นถ้าแบบจำลอง B ทำนายข้อมูลได้ดีกว่าแบบจำลอง A ความน่าจะเป็นด้านหลังของมันจะเพิ่มขึ้นเมื่อเทียบกับแบบจำลอง A ดูเหมือนว่าจากทฤษฎีบทของเบย์จะทำการตรวจสอบความถูกต้องโดยใช้ข้อมูลทั้งหมดแทนที่จะเป็นชุดย่อย อย่างไรก็ตามฉันไม่มั่นใจอย่างเต็มที่ในเรื่องนี้ - ดูเหมือนว่าเราจะได้อะไรซักอย่าง

อีกคุณสมบัติที่ประณีตของวิธีนี้คือมันมี "มีดโกนของ occam" ในตัวซึ่งกำหนดโดยอัตราส่วนของค่าคงที่ของการทำให้เป็นมาตรฐานของการกระจายก่อนหน้าสำหรับแต่ละรุ่น

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

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


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

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

@probabiltyislogic ฉันไม่คิดว่ามันจะเป็นการสังเกตแบบใหม่โดยเฉพาะ Rasmussen และ Williams พูดถึงมันในหน้า 118 ของกระบวนการ Gaussian Process ที่ยอดเยี่ยมของพวกเขา ความน่าจะเป็นที่สำคัญคือความน่าจะเป็นของข้อมูลที่กำหนดสมมติฐานของแบบจำลองในขณะที่ความน่าจะเป็น XVAL เป็นค่าประมาณความน่าจะเป็นของข้อมูลโดยไม่คำนึงถึงสมมติฐานแบบจำลองดังนั้นจึงมีความน่าเชื่อถือมากกว่าเมื่อสมมติฐานไม่ถูกต้อง การศึกษาเชิงประจักษ์ที่เหมาะสมจะเป็นประโยชน์
Dikran Marsupial

@probabilityislogic ฉันควรเพิ่มว่าฉันชอบวิธีการแบบเบย์ในการเลือกรูปแบบ แต่ฉันมักจะใช้การตรวจสอบข้ามในการปฏิบัติเพียงเพราะมันมักจะให้ผลลัพธ์ที่ (สถิติ) ดีกว่าหรือใกล้กว่าแบบเบย์
Dikran Marsupial

XiyiXip(yi|Xi,θy)p(Xi|θX). ในระยะที่สองมีส่วนร่วมที่ใหญ่กว่ามากต่อความน่าจะเป็นดังนั้นถ้าแบบจำลองทำได้ดีและกัดในการทำนายโอกาสที่จะไม่สนใจ
JMS
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.