บทนำโดยย่อเกี่ยวกับการตรวจสอบความถูกต้องแบบ cross-one-out (loocv)


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

วิธีที่พบบ่อยที่สุดในการวัดนี้คือการใช้ค่าคลาดเคลื่อนกำลังสองเฉลี่ย (MSE) ซึ่งคำนวณได้ดังนี้:

MSE = (1/n)*Σ(y i – f(x i )) 2

ทอง:

  • n: จำนวนการสังเกตทั้งหมด
  • y i : ค่าตอบสนองของการสังเกต ครั้งที่ 3
  • f(x i ): ค่าตอบสนองที่คาดการณ์ไว้ของการสังเกต ครั้ง ที่ i

ยิ่งการคาดการณ์แบบจำลองใกล้กับการสังเกตมากเท่าไร MSE ก็จะยิ่งต่ำลงเท่านั้น

ในทางปฏิบัติ เราใช้กระบวนการต่อไปนี้ในการคำนวณ MSE ของแบบจำลองที่กำหนด:

1. แบ่งชุดข้อมูลออกเป็นชุดการฝึกและชุดทดสอบ

การฝึกอบรมและการทดสอบแมชชีนเลิร์นนิง

2. สร้างแบบจำลองโดยใช้ข้อมูลจากชุดการฝึกเท่านั้น

LOOCV ในการเรียนรู้ของเครื่อง

3. ใช้แบบจำลองเพื่อคาดการณ์เกี่ยวกับชุดทดสอบและวัด MSE ซึ่งเรียกว่า test MSE ชุดฝึกหรือชุดทดสอบ

การทดสอบ MSE ช่วยให้เราทราบว่าโมเดลทำงานได้ดีเพียงใดกับข้อมูลที่ไม่เคยเห็นมาก่อน ซึ่งก็คือข้อมูลที่ยังไม่เคยใช้ในการ “ฝึก” โมเดล

อย่างไรก็ตาม ข้อเสียของการใช้ชุดทดสอบชุดเดียวก็คือ การทดสอบ MSE อาจแตกต่างกันอย่างมาก ขึ้นอยู่กับข้อสังเกตที่ใช้ในชุดการฝึกและชุดทดสอบ

เป็นไปได้ว่าหากเราใช้ชุดการสังเกตที่แตกต่างกันสำหรับชุดการฝึกและชุดการทดสอบ การทดสอบ MSE ของเราอาจมีขนาดใหญ่กว่าหรือเล็กกว่ามาก

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

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

การตรวจสอบข้ามแบบลาออกครั้งเดียว

การตรวจสอบความถูกต้องข้ามแบบละเว้น ใช้วิธีการต่อไปนี้เพื่อประเมินแบบจำลอง:

1. แบ่งชุดข้อมูลออกเป็นชุดการฝึกและชุดทดสอบ โดยใช้การสังเกตทั้งหมดยกเว้นชุดเดียวเป็นส่วนหนึ่งของชุดการฝึก:

ลูควี

โปรดทราบว่าเราจะทิ้งข้อสังเกตไว้เพียง “นอก” ชุดการฝึกเท่านั้น นี่คือที่วิธีการได้รับชื่อการตรวจสอบข้ามแบบ “leave-one-out”

2. สร้างแบบจำลองโดยใช้ข้อมูลจากชุดการฝึกเท่านั้น

การสร้างโมเดลด้วยแนวทาง LOOCV

3. ใช้แบบจำลองเพื่อทำนายค่าการตอบสนองของการสังเกตเดี่ยวที่ไม่รวมอยู่ในแบบจำลองและคำนวณ MSE

การตรวจสอบข้ามแบบแฮนด์ออฟ

4. ทำซ้ำขั้นตอนนี้ n ครั้ง

สุดท้าย เราทำซ้ำขั้นตอนนี้ n ครั้ง (โดยที่ n คือจำนวนการสังเกตทั้งหมดในชุดข้อมูล) โดยละเว้นการสังเกตที่แตกต่างจากชุดการฝึกในแต่ละครั้ง

จากนั้นเราจะคำนวณ MSE ทดสอบเป็นค่าเฉลี่ยของ MSE ทดสอบทั้งหมด:

การทดสอบ MSE = (1/n)*ΣMSE i

ทอง:

  • n: จำนวนการสังเกตทั้งหมดในชุดข้อมูล
  • MSEi: การทดสอบ MSE ระหว่างช่วงระยะเวลาการลองโมเดล ที่ 3

ข้อดีและข้อเสียของ LOOCV

การตรวจสอบความถูกต้องข้ามแบบละเว้นจะให้ ประโยชน์ ดังต่อไปนี้:

  • ซึ่งให้การวัดการทดสอบ MSE ที่มีอคติน้อยกว่ามากเมื่อเทียบกับการใช้ชุดการทดสอบเดียว เนื่องจากเราปรับแบบจำลองให้เข้ากับชุดข้อมูลที่มีการสังเกต n-1 ซ้ำๆ
  • มีแนวโน้มที่จะไม่ประเมินค่า MSE ของการทดสอบสูงเกินไป เมื่อเทียบกับการใช้ชุดทดสอบชุดเดียว

อย่างไรก็ตาม การตรวจสอบข้ามแบบแฮนด์ออฟมี ข้อเสียดังต่อไปนี้:

  • การใช้กระบวนการนี้อาจใช้เวลานานเมื่อ n มีขนาดใหญ่
  • นอกจากนี้ยังอาจใช้เวลานานหากโมเดลมีความซับซ้อนเป็นพิเศษและใช้เวลานานในการติดตั้งชุดข้อมูล
  • อาจมีราคาแพงในการคำนวณ

โชคดีที่คอมพิวเตอร์ยุคใหม่มีประสิทธิภาพในด้านส่วนใหญ่จนทำให้ LOOCV เป็นวิธีการใช้งานที่สมเหตุสมผลมากกว่าเมื่อหลายปีก่อนมาก

โปรดทราบว่า LOOCV สามารถใช้ในบริบท การถดถอยและการจำแนก ประเภทได้ สำหรับปัญหาการถดถอย ระบบจะคำนวณการทดสอบ MSE เป็นค่าความแตกต่างรากกำลังสองเฉลี่ยระหว่างการทำนายและการสังเกต ในขณะที่ปัญหาการจำแนกประเภท จะคำนวณการทดสอบ MSE เป็นเปอร์เซ็นต์ของการสังเกตที่จำแนกอย่างถูกต้องในการปรับเปลี่ยนแบบจำลองซ้ำ n ครั้ง

วิธีรัน LOOCV ใน R & Python

บทช่วยสอนต่อไปนี้ให้ตัวอย่างทีละขั้นตอนเกี่ยวกับวิธีการรัน LOOCV สำหรับโมเดลที่กำหนดใน R และ Python:

การตรวจสอบความถูกต้องแบบ Cross-One-Out ใน R
การตรวจสอบความถูกต้องแบบ Cross-One-Out ใน Python

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *