คำแนะนำง่ายๆ สำหรับการตรวจสอบข้าม k-fold
ในการประเมินประสิทธิภาพของแบบจำลองในชุดข้อมูล เราจำเป็นต้องวัดว่าการคาดการณ์ที่ทำโดยแบบจำลองนั้นตรงกับข้อมูลที่สังเกตได้ดีเพียงใด
วิธีที่พบบ่อยที่สุดในการวัดนี้คือการใช้ค่าคลาดเคลื่อนกำลังสองเฉลี่ย (MSE) ซึ่งคำนวณได้ดังนี้:
MSE = (1/n)*Σ(y i – f(x i )) 2
ทอง:
- n: จำนวนการสังเกตทั้งหมด
- y i : ค่าตอบสนองของการสังเกต ครั้งที่ 3
- f(x i ): ค่าตอบสนองที่คาดการณ์ไว้ของการสังเกต ครั้ง ที่ i
ยิ่งการคาดการณ์แบบจำลองใกล้กับการสังเกตมากเท่าไร MSE ก็จะยิ่งต่ำลงเท่านั้น
ในทางปฏิบัติ เราใช้กระบวนการต่อไปนี้ในการคำนวณ MSE ของแบบจำลองที่กำหนด:
1. แบ่งชุดข้อมูลออกเป็นชุดการฝึกและชุดทดสอบ
2. สร้างแบบจำลองโดยใช้ข้อมูลจากชุดการฝึกเท่านั้น
3. ใช้แบบจำลองเพื่อคาดการณ์เกี่ยวกับชุดทดสอบและวัด MSE ของการทดสอบ
การทดสอบ MSE ช่วยให้เราทราบว่าแบบจำลองทำงานได้ดีเพียงใดกับข้อมูลที่ไม่เคยเห็นมาก่อน อย่างไรก็ตาม ข้อเสียของการใช้ชุดทดสอบชุดเดียวก็คือ การทดสอบ MSE อาจแตกต่างกันอย่างมาก ขึ้นอยู่กับข้อสังเกตที่ใช้ในชุดการฝึกและชุดทดสอบ
วิธีหนึ่งในการหลีกเลี่ยงปัญหานี้คือการปรับโมเดลให้เหมาะสมหลายครั้งโดยใช้ชุดการฝึกและการทดสอบที่แตกต่างกันในแต่ละครั้ง จากนั้นคำนวณ MSE การทดสอบเป็นค่าเฉลี่ยของ MSE การทดสอบทั้งหมด
วิธีการทั่วไปนี้เรียกว่าการตรวจสอบข้าม และรูปแบบเฉพาะเรียกว่า การตรวจสอบข้าม k-fold
การตรวจสอบข้าม K-Fold
การตรวจสอบข้าม K-fold ใช้วิธีการต่อไปนี้ในการประเมินแบบจำลอง:
ขั้นตอนที่ 1: สุ่มแบ่งชุดข้อมูลออกเป็นกลุ่ม k หรือ “พับ” โดยมีขนาดเท่ากันโดยประมาณ
ขั้นตอนที่ 2: เลือกพับใดพับหนึ่งเป็นชุดการถือของคุณ ปรับเทมเพลตเป็นพับ k-1 ที่เหลือ คำนวณการทดสอบ MSE จากการสังเกตในชั้นที่ถูกดึง
ขั้นตอนที่ 3: ทำซ้ำขั้นตอนนี้ k ครั้ง ในแต่ละครั้งโดยใช้ชุดอื่นเป็นชุดการยกเว้น
ขั้นตอนที่ 4: คำนวณ MSE โดยรวมของการทดสอบเป็นค่าเฉลี่ยของ k MSE ของการทดสอบ
ทดสอบ MSE = (1/k)*ΣMSE i
ทอง:
- k: จำนวนพับ
- MSE i : ทดสอบ MSE ในการวนซ้ำครั้ง ที่ 3
วิธีการเลือกเค
โดยทั่วไป ยิ่งเราใช้จำนวนพับในการตรวจสอบความถูกต้องข้ามแบบ k-fold มากเท่าใด ความลำเอียงในการทดสอบ MSE ยิ่งต่ำลง แต่ความแปรปรวนก็จะยิ่งสูงขึ้น ในทางกลับกัน ยิ่งเราใช้การพับน้อยลง ค่าอคติก็จะยิ่งสูงแต่ความแปรปรวนก็จะยิ่งน้อยลง นี่เป็นตัวอย่างคลาสสิก ของการแลกเปลี่ยนระหว่างความแปรปรวนและความแปรปรวน ในแมชชีนเลิร์นนิง
ในทางปฏิบัติ โดยทั่วไปเราเลือกใช้ชั้น 5 ถึง 10 ชั้น ดังที่ระบุไว้ใน An Introduction to Statistical Learning จำนวนพับนี้แสดงให้เห็นว่ามีความสมดุลที่เหมาะสมที่สุดระหว่างอคติและความแปรปรวน และให้การประมาณค่า MSE ของการทดสอบที่เชื่อถือได้:
โดยสรุป มีข้อแลกเปลี่ยนระหว่างความแปรปรวนอคติที่เกี่ยวข้องกับการเลือก k ในการตรวจสอบความถูกต้องข้าม k-fold
โดยทั่วไป เมื่อคำนึงถึงข้อพิจารณาเหล่านี้แล้ว เราจะทำการตรวจสอบความถูกต้องข้าม k-fold โดยใช้ k = 5 หรือ k = 10 เนื่องจากค่าเหล่านี้แสดงให้เห็นในเชิงประจักษ์แล้วว่าให้ผลการประมาณอัตราข้อผิดพลาดในการทดสอบที่ไม่ประสบกับอคติที่สูงเกินไปหรือความแปรปรวนที่สูงมาก
-หน้า 184 ความรู้เบื้องต้นเกี่ยวกับการเรียนรู้ทางสถิติ
ประโยชน์ของการตรวจสอบข้าม K-Fold
เมื่อเราแยกชุดข้อมูลออกเป็นชุดการฝึกชุดเดียวและชุดทดสอบเดียว การทดสอบ MSE ที่คำนวณจากการสังเกตในชุดทดสอบอาจแตกต่างกันอย่างมาก ขึ้นอยู่กับการสังเกตที่ใช้ในชุดการฝึกและชุดทดสอบ
การใช้การตรวจสอบข้าม k-fold ทำให้เราสามารถคำนวณการทดสอบ MSE โดยใช้ชุดการฝึกและการทดสอบรูปแบบต่างๆ สิ่งนี้ทำให้เรามีโอกาสมากขึ้นที่จะได้รับค่าประมาณของ MSE ของการทดสอบที่เป็นกลาง
การตรวจสอบความถูกต้องข้ามแบบ K-fold ยังให้ความได้เปรียบในการคำนวณมากกว่า การตรวจสอบความถูกต้องข้ามแบบ Leave-One-Out (LOOCV) เนื่องจากจะต้องพอดีกับโมเดล k ครั้ง แทนที่จะเป็น n ครั้ง
สำหรับรุ่นที่ใช้เวลานานในการปรับให้พอดี การตรวจสอบข้าม k-fold สามารถคำนวณการทดสอบ MSE ได้เร็วกว่า LOOCV มาก และในหลายกรณี MSE การทดสอบที่คำนวณโดยแต่ละวิธีจะค่อนข้างคล้ายกันหากคุณใช้จำนวนพับที่เพียงพอ
ส่วนขยายการตรวจสอบข้าม K-Fold
มีส่วนขยายหลายประการสำหรับการตรวจสอบความถูกต้องข้าม k-fold รวมไปถึง:
การตรวจสอบความถูกต้องข้าม k-fold ซ้ำ: นี่คือจุดที่การตรวจสอบความถูกต้องข้าม k-fold ซ้ำเพียง n ครั้ง เมื่อใดก็ตามที่ชุดการฝึกและการทดสอบผสมกัน จะช่วยลดอคติในการประมาณค่า MSE ของการทดสอบ แม้ว่าจะใช้เวลานานกว่าการตรวจสอบข้าม k-fold ทั่วไปก็ตาม
การตรวจสอบความถูกต้องข้ามแบบปล่อยครั้งเดียว: นี่เป็นกรณีพิเศษของการตรวจสอบความถูกต้องข้ามแบบ k-fold โดยที่ k = n คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการนี้ ได้ที่นี่
การตรวจสอบความถูกต้องข้ามแบบ k-fold แบบแบ่งชั้น: นี่คือเวอร์ชันของการตรวจสอบความถูกต้องแบบข้ามแบบ k-fold โดยที่ชุดข้อมูลถูกจัดเรียงใหม่ในลักษณะที่แต่ละพับเป็นตัวแทนของทั้งหมด ตามที่ระบุไว้โดย Kohavi วิธีการนี้มีแนวโน้มที่จะให้การแลกเปลี่ยนที่ดีกว่าระหว่างอคติและความแปรปรวน เมื่อเปรียบเทียบกับการตรวจสอบความถูกต้องแบบข้าม k-fold ทั่วไป
การตรวจสอบความถูกต้องข้ามแบบซ้อน: นี่คือจุดที่ดำเนินการตรวจสอบความถูกต้องข้าม k-fold ในแต่ละพับการตรวจสอบข้าม ซึ่งมักใช้ในการปรับไฮเปอร์พารามิเตอร์ระหว่างการประเมินแบบจำลอง