คุณจะอธิบายการตรวจสอบข้ามความถูกต้องกับบุคคลที่ไม่มีพื้นฐานการวิเคราะห์ข้อมูลอย่างไร
คุณจะอธิบายการตรวจสอบข้ามความถูกต้องกับบุคคลที่ไม่มีพื้นฐานการวิเคราะห์ข้อมูลอย่างไร
คำตอบ:
พิจารณาสถานการณ์ต่อไปนี้:
ฉันต้องการขึ้นรถไฟใต้ดินเพื่อไปที่สำนักงานของฉัน แผนของฉันคือการใช้รถยนต์จอดรถที่สถานีรถไฟใต้ดินแล้วขึ้นรถไฟไปที่สำนักงานของฉัน เป้าหมายของฉันคือการขึ้นรถไฟเวลา 8.15 น. ทุกวันเพื่อให้สามารถไปถึงสำนักงานได้ทันเวลา ฉันต้องตัดสินใจดังต่อไปนี้: (a) เวลาที่ฉันต้องออกจากบ้านของฉันและ (b) เส้นทางที่ฉันจะพาไปขับรถไปที่สถานี
ในตัวอย่างข้างต้นฉันมีสองพารามิเตอร์ (เช่นเวลาออกเดินทางจากบ้านและเส้นทางที่จะไปสถานี) และฉันต้องเลือกพารามิเตอร์เหล่านี้เช่นที่ฉันไปถึงสถานีภายใน 8.15 น.
เพื่อแก้ไขปัญหาข้างต้นฉันอาจลองชุด 'พารามิเตอร์' ที่แตกต่างกัน (เช่นชุดค่าผสมของเวลาออกเดินทางและเส้นทางที่แตกต่างกัน) ในวันจันทร์วันพุธและวันศุกร์เพื่อดูชุดค่าผสมที่ดีที่สุด แนวคิดก็คือเมื่อฉันได้ระบุชุดค่าผสมที่ดีที่สุดที่ฉันสามารถใช้ได้ทุกวันเพื่อให้บรรลุวัตถุประสงค์ของฉัน
ปัญหาการ Overfitting
ปัญหาด้วยวิธีการข้างต้นคือฉันอาจมีความเหมาะสมมากเกินไปซึ่งโดยพื้นฐานแล้วหมายความว่าชุดค่าผสมที่ดีที่สุดที่ฉันระบุอาจแตกต่างจาก Mon, Wed และ Fridays ในบางกรณีและการรวมกันอาจไม่เหมาะกับ Tue และ Thu การลอยมากเกินไปอาจเกิดขึ้นได้หากในการค้นหาเวลาและเส้นทางที่ดีที่สุดฉันใช้ประโยชน์จากสถานการณ์การจราจรในวันจันทร์ / ศุกร์ / ศุกร์ซึ่งไม่ได้เกิดขึ้นในวันอังคารและพฤหัส
One Solution to Overfitting: การตรวจสอบข้าม
การตรวจสอบความถูกต้องไขว้เป็นวิธีการหนึ่งในการแก้ปัญหาการ overfitting แนวคิดคือเมื่อเราระบุพารามิเตอร์ที่ดีที่สุดของเราแล้ว (ในกรณีและเส้นทางของเรา) เราจะทดสอบประสิทธิภาพของชุดพารามิเตอร์นั้นในบริบทที่แตกต่างกัน ดังนั้นเราอาจต้องการทดสอบ Tue และ Thu เช่นกันเพื่อให้แน่ใจว่าตัวเลือกของเราทำงานในสมัยนั้นเช่นกัน
การขยายการเปรียบเทียบไปยังสถิติ
ในสถิติเรามีปัญหาที่คล้ายกัน เรามักจะใช้ชุดข้อมูลที่ จำกัด เพื่อประเมินพารามิเตอร์ที่ไม่รู้จักซึ่งเราไม่ทราบ หากเรามีค่ามากเกินไปการประมาณค่าพารามิเตอร์ของเราจะทำงานได้ดีกับข้อมูลที่มีอยู่ แต่ไม่ดีพอเมื่อเราใช้ในบริบทอื่น ดังนั้นการตรวจสอบข้ามจึงช่วยในการหลีกเลี่ยงปัญหาการ overfitting ข้างต้นโดยพิสูจน์ให้เรามั่นใจว่าค่าประมาณของพารามิเตอร์นั้นไม่ซ้ำกับข้อมูลที่เราใช้ในการประเมินพวกเขา
แน่นอนการตรวจสอบข้ามไม่สมบูรณ์ กลับไปที่ตัวอย่างของรถไฟใต้ดินเราสามารถเกิดขึ้นได้แม้หลังจากการตรวจสอบข้ามทางเลือกที่ดีที่สุดของพารามิเตอร์อาจไม่ทำงานหนึ่งเดือนลงเนื่องจากปัญหาต่าง ๆ (เช่นการก่อสร้างการเปลี่ยนแปลงปริมาณการจราจรในช่วงเวลา ฯลฯ )
ฉันคิดว่านี่เป็นคำอธิบายที่ดีที่สุดด้วยภาพต่อไปนี้ (ในกรณีนี้แสดงการตรวจสอบข้าม k-fold):
การตรวจสอบความถูกต้องไขว้เป็นเทคนิคที่ใช้เพื่อป้องกันการ overfitting ในแบบจำลองการทำนายโดยเฉพาะอย่างยิ่งในกรณีที่จำนวนข้อมูลอาจถูก จำกัด ในการตรวจสอบความถูกต้องคุณจะสร้างจำนวนเท่าของการพับ (หรือพาร์ติชัน) ของข้อมูลเรียกใช้การวิเคราะห์ในแต่ละครั้งและเฉลี่ยค่าประมาณข้อผิดพลาดโดยรวม
"หลีกเลี่ยงการเรียนรู้ข้อมูลการฝึกอบรมของคุณด้วยใจด้วยการทำให้แน่ใจว่าแบบจำลองที่ได้รับการฝึกอบรมมีประสิทธิภาพดีกับข้อมูลอิสระ"
สมมติว่าคุณตรวจสอบกระบวนการบางอย่าง คุณได้รวบรวมข้อมูลที่อธิบายและคุณได้สร้างแบบจำลอง (สถิติหรือ ML ไม่สำคัญ) แต่ตอนนี้จะตัดสินได้อย่างไรว่าใช้ได้ น่าจะเหมาะกับข้อมูลที่สร้างขึ้นอย่างน่าสงสัยดังนั้นจึงไม่มีใครเชื่อว่าแบบจำลองของคุณยอดเยี่ยมอย่างที่คุณคิด
แนวคิดแรกคือการแยกชุดย่อยของข้อมูลของคุณและใช้เพื่อทดสอบการสร้างแบบจำลองโดยวิธีการของคุณในส่วนที่เหลือของข้อมูล ตอนนี้ผลที่ออกมานั้นไร้ค่าเกินจริง ๆ (โดยเฉพาะอย่างยิ่งสำหรับชุดเล็ก) คุณน่าจะได้รับ (un) lucky and draw (น้อยกว่า) กรณีที่ง่ายกว่าในการทดสอบทำให้มันยากขึ้นที่จะทำนาย ... นอกจากนี้ความแม่นยำ / การประเมินข้อผิดพลาด / ความดีนั้นไม่มีประโยชน์สำหรับการเปรียบเทียบแบบ / การปรับให้เหมาะสมเนื่องจากคุณอาจไม่รู้อะไรเกี่ยวกับการแจกจ่าย
เมื่อมีข้อสงสัยให้ใช้กำลังดุร้ายดังนั้นเพียงทำซ้ำกระบวนการข้างต้นรวบรวมการประมาณการความถูกต้อง / ข้อผิดพลาด / ความดีและค่าเฉลี่ยเพียงเล็กน้อย - และเพื่อให้คุณได้รับการตรวจสอบข้าม ในการประมาณการที่ดีกว่าคุณจะได้รับฮิสโตแกรมดังนั้นคุณจะสามารถประมาณการกระจายตัวหรือทำการทดสอบแบบไม่อิงพารามิเตอร์
และนี่คือมัน; รายละเอียดของการแยกการทดสอบรถไฟเป็นเหตุผลสำหรับประเภท CV ที่แตกต่างกันยกเว้นกรณีที่หายากและความแตกต่างของความแข็งแรงขนาดเล็กพวกเขาจะค่อนข้างเทียบเท่า แน่นอนว่ามันเป็นข้อได้เปรียบที่ยิ่งใหญ่เพราะมันทำให้มันเป็นวิธีกระสุนที่ยุติธรรม; มันยากมากที่จะโกง
เนื่องจากคุณไม่สามารถเข้าถึงข้อมูลการทดสอบได้ในเวลาที่ฝึกอบรมและคุณต้องการให้แบบจำลองของคุณทำได้ดีในข้อมูลการทดสอบที่ไม่สามารถมองเห็นได้คุณ "เสแสร้ง" ว่าคุณสามารถเข้าถึงข้อมูลการทดสอบบางส่วนได้โดยการย่อยตัวอย่างซ้ำ ๆ ข้อมูลการฝึกอบรมของคุณให้ถือชุดนี้ไว้ขณะฝึกอบรมแบบจำลองจากนั้นปฏิบัติตามชุดที่ถูกจัดให้เป็นพร็อกซีไปยังข้อมูลการทดสอบ (และเลือกพารามิเตอร์รุ่นที่ให้ประสิทธิภาพที่ดีที่สุดสำหรับข้อมูลที่จัดไว้) คุณหวังว่าโดยการสุ่มตัวอย่างชุดย่อยต่าง ๆ จากข้อมูลการฝึกอบรมคุณอาจทำให้พวกเขาดูเหมือนข้อมูลการทดสอบ (ในความหมายพฤติกรรมเฉลี่ย) และดังนั้นพารามิเตอร์แบบจำลองที่เรียนรู้จะดีสำหรับข้อมูลทดสอบเช่นกัน (เช่นแบบจำลองของคุณ สรุปได้ดีสำหรับข้อมูลที่มองไม่เห็น)