คำแนะนำง่ายๆ สำหรับการตรวจสอบข้าม 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 หรือ “พับ” โดยมีขนาดเท่ากันโดยประมาณ

แบ่งชุดข้อมูลออกเป็น k พับ

ขั้นตอนที่ 2: เลือกพับใดพับหนึ่งเป็นชุดการถือของคุณ ปรับเทมเพลตเป็นพับ k-1 ที่เหลือ คำนวณการทดสอบ MSE จากการสังเกตในชั้นที่ถูกดึง

การตรวจสอบข้าม k-fold

ขั้นตอนที่ 3: ทำซ้ำขั้นตอนนี้ k ครั้ง ในแต่ละครั้งโดยใช้ชุดอื่นเป็นชุดการยกเว้น

ตัวอย่างของการตรวจสอบข้าม k-fold

ขั้นตอนที่ 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 ในแต่ละพับการตรวจสอบข้าม ซึ่งมักใช้ในการปรับไฮเปอร์พารามิเตอร์ระหว่างการประเมินแบบจำลอง

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

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