โครงการวิศวกรรมซอฟต์แวร์ที่ดีทั้งหมดอุทิศพลังงานจำนวนมากให้แก่
ทดสอบแอปของตน ในทำนองเดียวกัน เราขอแนะนำให้ทดสอบ
โมเดล ML เพื่อกำหนดความถูกต้องของการคาดการณ์
ชุดการฝึก การตรวจสอบ และการทดสอบ
คุณควรทดสอบโมเดลกับชุดตัวอย่างอื่นที่ต่างจากตัวอย่าง
ซึ่งใช้ในการฝึกโมเดล คุณจะได้เรียนรู้
ในอีกสักครู่ กำลังทำการทดสอบ
บนตัวอย่างที่ต่างกันเป็นหลักฐานพิสูจน์สมรรถภาพของโมเดลของคุณได้ดีกว่าการทดสอบ
จากตัวอย่างชุดเดียวกัน
คุณจะดูตัวอย่างที่แตกต่างกันได้จากที่ไหน เดิมทีในแมชชีนเลิร์นนิง
คุณจะได้รับตัวอย่างที่แตกต่างกันนั้นด้วยการแยกชุดข้อมูลต้นฉบับ คุณอาจ
ดังนั้นให้สันนิษฐานว่าคุณควรแยกชุดข้อมูลเดิมออกเป็น 2 ชุดย่อย ดังนี้
แบบฝึกหัด: ตรวจสอบสัญชาติญาณของคุณ
สมมติว่าคุณฝึกอบรมในชุดการฝึกและประเมินในชุดทดสอบ
เล่นหลายรอบ ในแต่ละรอบ คุณจะต้องนำผลการทดสอบชุดทดสอบ
เพื่อแนะนำวิธีอัปเดตไฮเปอร์พารามิเตอร์และชุดฟีเจอร์ คุณดำเนินการได้ไหม
พบปัญหาอะไรเกี่ยวกับแนวทางนี้ เลือกเพียงคำตอบเดียว
การดำเนินการขั้นตอนนี้หลายรอบอาจทำให้โมเดล
เพื่อให้สอดคล้องกับความไม่ถูกต้องของชุดทดสอบ
ได้ ยิ่งคุณใช้ชุดทดสอบเดิมบ่อยเท่าใด
โมเดลก็จะยิ่งตรงกับชุดทดสอบมากขึ้น
เช่น คุณครู "สอนข้อสอบ" โมเดลโดยไม่ตั้งใจ
กับชุดทดสอบ ซึ่งอาจทำให้โมเดลนี้แสดงได้ยากขึ้น
ให้พอดีกับข้อมูลในชีวิตจริง
วิธีนี้ใช้ได้ เพราะคุณกำลังฝึกอบรมเกี่ยวกับ
ชุดการฝึกอบรมและการประเมิน ในชุดการทดสอบที่แยกต่างหาก
จริงๆ แล้วมีปัญหาเล็กน้อยอยู่ตรงนี้ ลองนึกถึง
จะค่อยๆ ผิดพลาดทีละน้อย
วิธีนี้ไม่มีประสิทธิภาพในการคำนวณ ไม่เปลี่ยนแปลง
ไฮเปอร์พารามิเตอร์หรือชุดฟีเจอร์หลังการทดสอบแต่ละรอบ
การทดสอบที่ทำเป็นประจำมีค่าใช้จ่ายสูงแต่ก็สำคัญมาก อย่างไรก็ตาม บ่อยครั้ง
มีค่าใช้จ่ายที่ถูกกว่าการฝึกอบรมเพิ่มเติมเป็นอย่างมาก กำลังเพิ่มประสิทธิภาพ
ไฮเปอร์พารามิเตอร์และชุดฟีเจอร์สามารถปรับปรุงได้อย่างมาก
คุณภาพของโมเดล จึงควรนำเวลาและทรัพยากรด้านการคำนวณและงบประมาณมาใช้เสมอ
เพื่อทำงานเหล่านี้
การแบ่งชุดข้อมูลออกเป็น 2 ชุดก็เป็นความคิดที่ดี แต่
วิธีที่ดีกว่าคือแบ่งชุดข้อมูลออกเป็น 3 ชุดย่อย
นอกจากชุดการฝึกและชุดทดสอบแล้ว ชุดย่อยที่ 3 มีดังนี้
ใช้ชุดการตรวจสอบเพื่อประเมินผลลัพธ์จากชุดการฝึก
หลังจากการใช้ชุดการตรวจสอบซ้ำแสดงว่าโมเดลของคุณ
คาดการณ์ได้ดี ใช้ชุดทดสอบเพื่อตรวจสอบโมเดลของคุณอีกครั้ง
รูปต่อไปนี้จะแนะนำเวิร์กโฟลว์นี้
ในรูป "ปรับแต่งโมเดล" หมายถึง การปรับทุกอย่างเกี่ยวกับโมเดล
ตั้งแต่การเปลี่ยนอัตราการเรียนรู้ไปจนถึงการเพิ่มหรือนำออก
ฟีเจอร์ต่างๆ ไปจนถึงการออกแบบโมเดลใหม่ทั้งหมด
ในตอนท้ายของเวิร์กโฟลว์นี้ คุณจะเลือกโมเดลที่เหมาะที่สุดกับชุดทดสอบได้
เวิร์กโฟลว์ที่แสดงในรูปที่ 10 เหมาะสมที่สุดแล้ว แต่ถึงแม้ว่าเวิร์กโฟลว์นั้น
ชุดทดสอบและชุดการตรวจสอบยังคง "ล้าสมัย" เมื่อมีการใช้ซ้ำๆ
กล่าวคือ ยิ่งคุณใช้ข้อมูลเดียวกันในการตัดสินใจเกี่ยวกับ
การตั้งค่าไฮเปอร์พารามิเตอร์หรือการปรับปรุงโมเดลอื่นๆ ความเชื่อมั่นน้อยลง
โมเดลจะคาดการณ์ข้อมูลใหม่ได้ดี
ด้วยเหตุนี้ คุณจึงควรรวบรวมข้อมูลเพิ่มเติมเพื่อ "รีเฟรช" การทดสอบ
และการตรวจสอบแล้ว การเริ่มต้นใหม่เป็นการรีเซ็ตครั้งยิ่งใหญ่
แบบฝึกหัด: ตรวจสอบสัญชาติญาณของคุณ
คุณสับเปลี่ยนตัวอย่างทั้งหมดในชุดข้อมูลและแบ่ง
ตัวอย่างแบบสุ่มเป็นการฝึก การตรวจสอบ และการทดสอบ
เซ็ต แต่ค่าการสูญเสียในชุดทดสอบของคุณต่ำมาก
ที่คุณสงสัยว่าจะผิดพลาด อาจมีข้อผิดพลาดอะไรเกิดขึ้นบ้าง
ตัวอย่างหลายรายการในชุดทดสอบซ้ำกับตัวอย่าง
ในชุดการฝึก
ได้ ปัญหานี้อาจเป็นปัญหาในชุดข้อมูลที่มีข้อมูลซ้ำซ้อนจำนวนมาก
ตัวอย่าง เราขอแนะนำให้คุณลบตัวอย่างที่ซ้ำกันจาก
ชุดทดสอบก่อนทำการทดสอบ
การฝึกและการทดสอบไม่ใช่สิ่งที่กำหนดไว้ บางครั้ง ก็บังเอิญ
การสูญเสียการทดสอบอยู่ในระดับต่ำอย่างไม่น่าเชื่อ ทำการทดสอบอีกครั้งเพื่อยืนยัน
ผลลัพธ์
แม้ว่าการสูญเสียจะแตกต่างกันไปเล็กน้อยในการเรียกใช้แต่ละครั้ง แต่ก็ไม่ควรแตกต่างกัน
มากจนคุณคิดว่าคุณถูกล็อตเตอรี่ แมชชีนเลิร์นนิง
บังเอิญ ชุดทดสอบเพิ่งมีตัวอย่างที่ฟิลด์
โมเดลทำงานได้ดีบน
ตัวอย่างมีการสับเปลี่ยนกันอย่างสวยงาม ด้วยเหตุนี้จึงมีความเป็นไปได้อย่างมาก
ปัญหาเพิ่มเติมเกี่ยวกับชุดทดสอบ
ตามที่คำถามก่อนหน้าแสดงให้เห็น ตัวอย่างที่ซ้ำกันอาจส่งผลต่อการประเมินโมเดล
หลังจากแยกชุดข้อมูลเป็นชุดการฝึก การตรวจสอบ และการทดสอบ
ลบตัวอย่างในชุดการตรวจสอบหรือชุดทดสอบที่ซ้ำกับ
ตัวอย่างในชุดการฝึก การทดสอบที่ยุติธรรมเพียงอย่างเดียวของโมเดลหนึ่งๆ คือ
ตัวอย่างใหม่ ไม่ใช่รายการซ้ำ
ตัวอย่างเช่น ลองพิจารณาโมเดลที่คาดการณ์ว่าอีเมลเป็นสแปมหรือไม่ โดยใช้
บรรทัดเรื่อง เนื้อหาอีเมล และที่อยู่อีเมลของผู้ส่งเป็นฟีเจอร์
สมมติว่าคุณแบ่งข้อมูลออกเป็นชุดการฝึกและการทดสอบ โดยแบ่งเป็น 80-20
หลังการฝึก โมเดลมีความแม่นยำถึง 99% ทั้งชุดการฝึกและ
ชุดทดสอบ คุณน่าจะคาดหวังว่า ชุดทดสอบที่มีความแม่นยำ จะมีความแม่นยำต่ำ ดังนั้นคุณ
ลองดูข้อมูลอีกครั้ง และค้นพบว่าตัวอย่างจำนวนมากในการทดสอบ
เป็นชุดซ้ำกับตัวอย่างในชุดการฝึก ปัญหาก็คือคุณ
ละเลยที่จะกําจัดรายการที่ซ้ำกันสําหรับอีเมลสแปมเดียวกันจากข้อมูลที่คุณป้อน
ฐานข้อมูลก่อนที่จะแยกข้อมูล คุณได้ฝึกฝนโดยไม่ได้ตั้งใจในบางโอกาส
ข้อมูลทดสอบของคุณ
กล่าวโดยสรุปคือ ชุดทดสอบหรือชุดการตรวจสอบที่ดีตรงตาม
เกณฑ์ต่อไปนี้
- มีขนาดใหญ่พอที่จะทำให้ผลการทดสอบมีนัยสำคัญทางสถิติ
- ตัวแทนของชุดข้อมูลโดยรวม กล่าวคือ อย่าเลือก
ชุดทดสอบที่มีลักษณะต่างจากชุดการฝึก
- ตัวแทนของข้อมูลจริงที่โมเดลจะเผชิญ
เป็นส่วนหนึ่งของวัตถุประสงค์ทางธุรกิจ
- มีการทำซ้ำตัวอย่าง 0 รายการในชุดการฝึก
แบบฝึกหัด: ตรวจสอบความเข้าใจ
สมมติว่ามีชุดข้อมูลเดี่ยวที่มีตัวอย่างจำนวนคงที่
ข้อความใดต่อไปนี้เป็นจริง
ทุกตัวอย่างที่ใช้ในการทดสอบโมเดลคือตัวอย่างที่ใช้น้อยลง 1 ตัวอย่าง
ในการฝึกโมเดล
การแบ่งตัวอย่างเป็นชุดการฝึก/การทดสอบ/การตรวจสอบความถูกต้องจะทำให้ได้ผลรวมเป็น 0
นี่แหละข้อดีของคอนเทนต์
จำนวนตัวอย่างในชุดทดสอบต้องมากกว่า
จำนวนตัวอย่างในชุดการตรวจสอบ
ในทางทฤษฎี ชุดการตรวจสอบและการทดสอบการทดสอบควรมีค่าที่เหมือนกัน
จำนวนตัวอย่าง หรือเกือบถึงขนาดนั้น
จำนวนตัวอย่างในชุดทดสอบต้องมากกว่า
จำนวนตัวอย่างในชุดการตรวจสอบหรือชุดการฝึก
โดยทั่วไปจำนวนตัวอย่างในชุดการฝึกจะมากกว่า
จำนวนตัวอย่างในชุดการตรวจสอบหรือชุดทดสอบ อย่างไรก็ตาม
จะไม่มีข้อกำหนดเปอร์เซ็นต์สำหรับแต่ละชุด
สมมติว่าชุดทดสอบของคุณมีตัวอย่างเพียงพอที่จะดำเนินการ
ที่มีนัยสำคัญทางสถิติ นอกจากนี้ การทดสอบกับ
ชุดทดสอบให้ความสูญเสียต่ำ อย่างไรก็ตาม โมเดลได้ดำเนินการ
อย่างไม่น่าเชื่อในโลกความเป็นจริง คุณควรทำอย่างไร
ระบุว่าชุดข้อมูลต้นฉบับแตกต่างจากข้อมูลในชีวิตจริงอย่างไร
ได้ แม้แต่ชุดข้อมูลที่ดีที่สุดก็เป็นเพียงภาพรวมของข้อมูลในชีวิตจริง
เบื้องหลัง
ข้อมูลที่เป็นความจริง
มีแนวโน้มที่จะเปลี่ยนแปลงเมื่อเวลาผ่านไป แม้ว่าชุดทดสอบจะตรงกับ
ที่ดีพอที่จะทำให้โมเดลมีคุณภาพ
อาจไม่ตรงกับข้อมูลในชีวิตจริง
คุณอาจต้องฝึกและทดสอบชุดข้อมูลใหม่อีกครั้ง
ทดสอบอีกครั้งในชุดทดสอบเดิม ผลการทดสอบอาจมี
เป็นสิ่งผิดปกติ
แม้ว่าการทดสอบซ้ำอาจให้ผลลัพธ์ที่แตกต่างกันเล็กน้อย
กลยุทธ์นี้อาจไม่มีประโยชน์มากนัก
ชุดทดสอบควรมีตัวอย่างกี่ตัวอย่าง
ตัวอย่างที่เพียงพอสําหรับการทดสอบที่มีนัยสำคัญทางสถิติ
ได้ ตัวอย่างนั้นมีกี่ตัวอย่าง คุณจะต้องทำการทดสอบ
อย่างน้อย 15% ของชุดข้อมูลเดิม
โดย 15% อาจเป็นตัวอย่างที่เพียงพอหรือไม่ก็ได้