กล่าวโดยย่อ: โดยการตรวจสอบโมเดลของคุณ เหตุผลหลักของการตรวจสอบความถูกต้องคือการยืนยันว่าไม่มีการเกิด overfit มากเกินไปและเพื่อประเมินประสิทธิภาพของโมเดลทั่วไป
Overfit
ก่อนอื่นให้เราดูว่าจริง ๆ แล้ว overfitting คืออะไร โดยปกติแบบจำลองจะได้รับการฝึกอบรมเพื่อให้พอดีกับชุดข้อมูลโดยการลดฟังก์ชั่นการสูญเสียบางส่วนในชุดการฝึกอบรม อย่างไรก็ตามมีข้อ จำกัด ในการลดข้อผิดพลาดในการฝึกอบรมนี้ให้น้อยที่สุดจะไม่เป็นผลดีต่อประสิทธิภาพที่แท้จริงของแบบจำลอง แต่จะลดข้อผิดพลาดให้น้อยที่สุดในชุดข้อมูลที่เฉพาะเจาะจง นี่หมายความว่าแบบจำลองได้รับการติดตั้งอย่างแน่นเกินไปกับจุดข้อมูลเฉพาะในชุดการฝึกอบรมพยายามที่จะสร้างแบบจำลองรูปแบบในข้อมูลที่มาจากสัญญาณรบกวน แนวคิดนี้เรียกว่าoverfit ตัวอย่างของ overfit จะแสดงด้านล่างที่คุณเห็นชุดการฝึกอบรมในชุดดำและชุดที่ใหญ่กว่าจากประชากรจริงในพื้นหลัง ในรูปนี้คุณจะเห็นว่าแบบจำลองสีน้ำเงินนั้นแน่นเกินไปกับชุดฝึกซ้อม
ในการตัดสินว่าแบบจำลองนั้นมีขนาดใหญ่เกินไปหรือไม่เราจำเป็นต้องประเมินข้อผิดพลาดทั่วไป (หรือประสิทธิภาพ) ว่าแบบจำลองนั้นจะมีข้อมูลในอนาคตและเปรียบเทียบกับประสิทธิภาพของเราในชุดฝึกอบรม การประมาณข้อผิดพลาดนี้สามารถทำได้หลายวิธี
แยกชุดข้อมูล
วิธีการที่ตรงไปตรงมาที่สุดในการประเมินประสิทธิภาพทั่วไปคือการแบ่งชุดข้อมูลออกเป็นสามส่วนคือชุดฝึกอบรมชุดตรวจสอบความถูกต้องและชุดทดสอบ ชุดการฝึกอบรมใช้สำหรับฝึกอบรมแบบจำลองเพื่อให้พอดีกับข้อมูลชุดการตรวจสอบความถูกต้องใช้เพื่อวัดความแตกต่างของประสิทธิภาพระหว่างแบบจำลองเพื่อเลือกชุดที่ดีที่สุดและชุดการทดสอบเพื่อยืนยันว่ากระบวนการคัดเลือกแบบจำลองไม่เหมาะกับชุดแรก สองชุด
ในการประเมินปริมาณการรับน้ำหนักเกินเพียงแค่ประเมินเมตริกที่คุณสนใจในชุดทดสอบเป็นขั้นตอนสุดท้ายและเปรียบเทียบกับประสิทธิภาพของคุณในชุดการฝึกอบรม คุณพูดถึง ROC แต่ในความเห็นของฉันคุณควรดูตัวชี้วัดอื่น ๆ เช่นคะแนน brier หรือพล็อตการสอบเทียบเพื่อให้มั่นใจถึงประสิทธิภาพของแบบจำลอง แน่นอนขึ้นอยู่กับปัญหาของคุณ มีตัวชี้วัดมากมาย แต่นอกเหนือจากนี้ตรงนี้
วิธีนี้เป็นวิธีที่ใช้กันทั่วไปและได้รับการยอมรับ แต่มันต้องการข้อมูลจำนวนมาก หากชุดข้อมูลของคุณมีขนาดเล็กเกินไปคุณอาจสูญเสียประสิทธิภาพมากที่สุดและผลลัพธ์ของคุณจะถูกแยกจากกัน
การตรวจสอบครอส
วิธีหนึ่งที่จะหลีกเลี่ยงการสูญเสียข้อมูลส่วนใหญ่ไปยังการตรวจสอบและทดสอบคือการใช้ cross-validation (CV) ซึ่งประเมินประสิทธิภาพทั่วไปโดยใช้ข้อมูลเดียวกับที่ใช้ในการฝึกอบรมแบบจำลอง แนวคิดที่อยู่เบื้องหลังการตรวจสอบความถูกต้องข้ามคือการแบ่งชุดข้อมูลออกเป็นชุดย่อยจำนวนหนึ่งและจากนั้นใช้ชุดย่อยแต่ละชุดตามชุดการทดสอบที่จัดขึ้นโดยใช้ข้อมูลที่เหลือในการฝึกอบรมแบบจำลอง การหาค่าเฉลี่ยของเมทริกซ์ทั้งหมดจะทำให้คุณประเมินประสิทธิภาพโมเดลได้โดยประมาณ โดยทั่วไปแล้วรูปแบบสุดท้ายจะถูกฝึกอบรมโดยใช้ข้อมูลทั้งหมด
อย่างไรก็ตามการประมาณการ CV นั้นไม่เป็นกลาง แต่ยิ่งคุณพับเท่าไรคุณก็ยิ่งมีความเอนเอียงน้อยลง แต่คุณก็จะได้ค่าความแปรปรวนที่ใหญ่ขึ้นแทน
ในชุดข้อมูลแยกเราได้รับการประเมินประสิทธิภาพของแบบจำลองและเพื่อประเมินความพอดีคุณเพียงเปรียบเทียบการวัดจาก CV ของคุณกับสิ่งที่ได้มาจากการประเมินเมตริกในชุดการฝึกอบรมของคุณ
เงินทุน
แนวคิดเบื้องหลัง bootstrap คล้ายกับ CV แต่แทนที่จะแยกชุดข้อมูลออกเป็นส่วน ๆ เราแนะนำการสุ่มในการฝึกอบรมโดยการวาดชุดการฝึกอบรมจากชุดข้อมูลทั้งหมดซ้ำ ๆ ด้วยการแทนที่และดำเนินการขั้นตอนการฝึกอบรมเต็มรูปแบบในตัวอย่าง bootstrap เหล่านี้แต่ละชุด
รูปแบบที่ง่ายที่สุดของการตรวจสอบความถูกต้องของ bootstrap เพียงแค่ประเมินเมทริกบนตัวอย่างที่ไม่พบในชุดการฝึกอบรม (เช่นอันที่เหลือ) และค่าเฉลี่ยในการทำซ้ำทั้งหมด
วิธีนี้จะให้การประมาณประสิทธิภาพของแบบจำลองซึ่งโดยส่วนใหญ่แล้วจะมีความลำเอียงน้อยกว่า CV เปรียบเทียบกับชุดฝึกซ้อมของคุณอีกครั้ง
มีวิธีในการปรับปรุงการตรวจสอบ bootstrap วิธีการ. 632+ นั้นเป็นที่รู้จักกันว่าให้การประมาณที่ดีขึ้นและมีประสิทธิภาพมากขึ้นของประสิทธิภาพของโมเดลทั่วไป (หากคุณสนใจบทความต้นฉบับคือการอ่านที่ดี: การปรับปรุงการตรวจสอบข้าม: วิธี Bootstrap 632+ )
ฉันหวังว่านี้ตอบคำถามของคุณ. หากคุณมีความสนใจในการตรวจสอบรูปแบบที่ผมขอแนะนำให้อ่านเป็นส่วนหนึ่งในการตรวจสอบในหนังสือองค์ประกอบของการเรียนรู้ทางสถิติการทำเหมืองข้อมูลการอนุมานและการทำนายที่มีอยู่ได้อย่างอิสระออนไลน์