ชุดข้อมูล: การแบ่งชุดข้อมูลเดิม

โครงการวิศวกรรมซอฟต์แวร์ที่ดีทั้งหมดอุทิศพลังงานจำนวนมากให้แก่ ทดสอบแอปของตน ในทำนองเดียวกัน เราขอแนะนำให้ทดสอบ โมเดล ML เพื่อกำหนดความถูกต้องของการคาดการณ์

ชุดการฝึก การตรวจสอบ และการทดสอบ

คุณควรทดสอบโมเดลกับชุดตัวอย่างอื่นที่ต่างจากตัวอย่าง ซึ่งใช้ในการฝึกโมเดล คุณจะได้เรียนรู้ ในอีกสักครู่ กำลังทำการทดสอบ บนตัวอย่างที่ต่างกันเป็นหลักฐานพิสูจน์สมรรถภาพของโมเดลของคุณได้ดีกว่าการทดสอบ จากตัวอย่างชุดเดียวกัน คุณจะดูตัวอย่างที่แตกต่างกันได้จากที่ไหน เดิมทีในแมชชีนเลิร์นนิง คุณจะได้รับตัวอย่างที่แตกต่างกันนั้นด้วยการแยกชุดข้อมูลต้นฉบับ คุณอาจ ดังนั้นให้สันนิษฐานว่าคุณควรแยกชุดข้อมูลเดิมออกเป็น 2 ชุดย่อย ดังนี้

รูปที่ 8 แท่งแนวนอนที่แบ่งออกเป็น 2 ชิ้นคือ ~80% โดย
            คือชุดการฝึกและประมาณ 20% เป็นชุดทดสอบ
รูปที่ 8 ไม่ใช่การแยกที่เหมาะสมที่สุด

 

แบบฝึกหัด: ตรวจสอบสัญชาติญาณของคุณ

สมมติว่าคุณฝึกอบรมในชุดการฝึกและประเมินในชุดทดสอบ เล่นหลายรอบ ในแต่ละรอบ คุณจะต้องนำผลการทดสอบชุดทดสอบ เพื่อแนะนำวิธีอัปเดตไฮเปอร์พารามิเตอร์และชุดฟีเจอร์ คุณดำเนินการได้ไหม พบปัญหาอะไรเกี่ยวกับแนวทางนี้ เลือกเพียงคำตอบเดียว
การดำเนินการขั้นตอนนี้หลายรอบอาจทำให้โมเดล เพื่อให้สอดคล้องกับความไม่ถูกต้องของชุดทดสอบ
ได้ ยิ่งคุณใช้ชุดทดสอบเดิมบ่อยเท่าใด โมเดลก็จะยิ่งตรงกับชุดทดสอบมากขึ้น เช่น คุณครู "สอนข้อสอบ" โมเดลโดยไม่ตั้งใจ กับชุดทดสอบ ซึ่งอาจทำให้โมเดลนี้แสดงได้ยากขึ้น ให้พอดีกับข้อมูลในชีวิตจริง
วิธีนี้ใช้ได้ เพราะคุณกำลังฝึกอบรมเกี่ยวกับ ชุดการฝึกอบรมและการประเมิน ในชุดการทดสอบที่แยกต่างหาก
จริงๆ แล้วมีปัญหาเล็กน้อยอยู่ตรงนี้ ลองนึกถึง จะค่อยๆ ผิดพลาดทีละน้อย
วิธีนี้ไม่มีประสิทธิภาพในการคำนวณ ไม่เปลี่ยนแปลง ไฮเปอร์พารามิเตอร์หรือชุดฟีเจอร์หลังการทดสอบแต่ละรอบ
การทดสอบที่ทำเป็นประจำมีค่าใช้จ่ายสูงแต่ก็สำคัญมาก อย่างไรก็ตาม บ่อยครั้ง มีค่าใช้จ่ายที่ถูกกว่าการฝึกอบรมเพิ่มเติมเป็นอย่างมาก กำลังเพิ่มประสิทธิภาพ ไฮเปอร์พารามิเตอร์และชุดฟีเจอร์สามารถปรับปรุงได้อย่างมาก คุณภาพของโมเดล จึงควรนำเวลาและทรัพยากรด้านการคำนวณและงบประมาณมาใช้เสมอ เพื่อทำงานเหล่านี้

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

รูปที่ 9 แท่งแนวนอนที่แบ่งออกเป็น 3 ส่วนคือ 70% โดย
            คือชุดการฝึก, 15% ชุดการตรวจสอบ และ 15%
            ชุดทดสอบ
รูปที่ 9 แยกได้ดีกว่าเดิมมาก

ใช้ชุดการตรวจสอบเพื่อประเมินผลลัพธ์จากชุดการฝึก หลังจากการใช้ชุดการตรวจสอบซ้ำแสดงว่าโมเดลของคุณ คาดการณ์ได้ดี ใช้ชุดทดสอบเพื่อตรวจสอบโมเดลของคุณอีกครั้ง

รูปต่อไปนี้จะแนะนำเวิร์กโฟลว์นี้ ในรูป "ปรับแต่งโมเดล" หมายถึง การปรับทุกอย่างเกี่ยวกับโมเดล ตั้งแต่การเปลี่ยนอัตราการเรียนรู้ไปจนถึงการเพิ่มหรือนำออก ฟีเจอร์ต่างๆ ไปจนถึงการออกแบบโมเดลใหม่ทั้งหมด ในตอนท้ายของเวิร์กโฟลว์นี้ คุณจะเลือกโมเดลที่เหมาะที่สุดกับชุดทดสอบได้

วันที่ รูปที่ 10 แผนภาพเวิร์กโฟลว์ประกอบด้วยขั้นตอนต่อไปนี้
            1. ฝึกโมเดลในชุดการฝึก
            2. ประเมินโมเดลในชุดการตรวจสอบ
            3. ปรับแต่งโมเดลตามผลลัพธ์ในชุดการตรวจสอบ
            4. ทำซ้ำในข้อ 1, 2 และ 3 แล้วเลือกโมเดลที่มี
               ที่ดีที่สุดในชุดการตรวจสอบ
            5. ยืนยันผลลัพธ์ของชุดทดสอบ
รูปที่ 10 เวิร์กโฟลว์ที่ดีสำหรับการพัฒนาและการทดสอบ

เวิร์กโฟลว์ที่แสดงในรูปที่ 10 เหมาะสมที่สุดแล้ว แต่ถึงแม้ว่าเวิร์กโฟลว์นั้น ชุดทดสอบและชุดการตรวจสอบยังคง "ล้าสมัย" เมื่อมีการใช้ซ้ำๆ กล่าวคือ ยิ่งคุณใช้ข้อมูลเดียวกันในการตัดสินใจเกี่ยวกับ การตั้งค่าไฮเปอร์พารามิเตอร์หรือการปรับปรุงโมเดลอื่นๆ ความเชื่อมั่นน้อยลง โมเดลจะคาดการณ์ข้อมูลใหม่ได้ดี ด้วยเหตุนี้ คุณจึงควรรวบรวมข้อมูลเพิ่มเติมเพื่อ "รีเฟรช" การทดสอบ และการตรวจสอบแล้ว การเริ่มต้นใหม่เป็นการรีเซ็ตครั้งยิ่งใหญ่

แบบฝึกหัด: ตรวจสอบสัญชาติญาณของคุณ

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

ปัญหาเพิ่มเติมเกี่ยวกับชุดทดสอบ

ตามที่คำถามก่อนหน้าแสดงให้เห็น ตัวอย่างที่ซ้ำกันอาจส่งผลต่อการประเมินโมเดล หลังจากแยกชุดข้อมูลเป็นชุดการฝึก การตรวจสอบ และการทดสอบ ลบตัวอย่างในชุดการตรวจสอบหรือชุดทดสอบที่ซ้ำกับ ตัวอย่างในชุดการฝึก การทดสอบที่ยุติธรรมเพียงอย่างเดียวของโมเดลหนึ่งๆ คือ ตัวอย่างใหม่ ไม่ใช่รายการซ้ำ

ตัวอย่างเช่น ลองพิจารณาโมเดลที่คาดการณ์ว่าอีเมลเป็นสแปมหรือไม่ โดยใช้ บรรทัดเรื่อง เนื้อหาอีเมล และที่อยู่อีเมลของผู้ส่งเป็นฟีเจอร์ สมมติว่าคุณแบ่งข้อมูลออกเป็นชุดการฝึกและการทดสอบ โดยแบ่งเป็น 80-20 หลังการฝึก โมเดลมีความแม่นยำถึง 99% ทั้งชุดการฝึกและ ชุดทดสอบ คุณน่าจะคาดหวังว่า ชุดทดสอบที่มีความแม่นยำ จะมีความแม่นยำต่ำ ดังนั้นคุณ ลองดูข้อมูลอีกครั้ง และค้นพบว่าตัวอย่างจำนวนมากในการทดสอบ เป็นชุดซ้ำกับตัวอย่างในชุดการฝึก ปัญหาก็คือคุณ ละเลยที่จะกําจัดรายการที่ซ้ำกันสําหรับอีเมลสแปมเดียวกันจากข้อมูลที่คุณป้อน ฐานข้อมูลก่อนที่จะแยกข้อมูล คุณได้ฝึกฝนโดยไม่ได้ตั้งใจในบางโอกาส ข้อมูลทดสอบของคุณ

กล่าวโดยสรุปคือ ชุดทดสอบหรือชุดการตรวจสอบที่ดีตรงตาม เกณฑ์ต่อไปนี้

  • มีขนาดใหญ่พอที่จะทำให้ผลการทดสอบมีนัยสำคัญทางสถิติ
  • ตัวแทนของชุดข้อมูลโดยรวม กล่าวคือ อย่าเลือก ชุดทดสอบที่มีลักษณะต่างจากชุดการฝึก
  • ตัวแทนของข้อมูลจริงที่โมเดลจะเผชิญ เป็นส่วนหนึ่งของวัตถุประสงค์ทางธุรกิจ
  • มีการทำซ้ำตัวอย่าง 0 รายการในชุดการฝึก

แบบฝึกหัด: ตรวจสอบความเข้าใจ

สมมติว่ามีชุดข้อมูลเดี่ยวที่มีตัวอย่างจำนวนคงที่ ข้อความใดต่อไปนี้เป็นจริง
ทุกตัวอย่างที่ใช้ในการทดสอบโมเดลคือตัวอย่างที่ใช้น้อยลง 1 ตัวอย่าง ในการฝึกโมเดล
การแบ่งตัวอย่างเป็นชุดการฝึก/การทดสอบ/การตรวจสอบความถูกต้องจะทำให้ได้ผลรวมเป็น 0 นี่แหละข้อดีของคอนเทนต์
จำนวนตัวอย่างในชุดทดสอบต้องมากกว่า จำนวนตัวอย่างในชุดการตรวจสอบ
ในทางทฤษฎี ชุดการตรวจสอบและการทดสอบการทดสอบควรมีค่าที่เหมือนกัน จำนวนตัวอย่าง หรือเกือบถึงขนาดนั้น
จำนวนตัวอย่างในชุดทดสอบต้องมากกว่า จำนวนตัวอย่างในชุดการตรวจสอบหรือชุดการฝึก
โดยทั่วไปจำนวนตัวอย่างในชุดการฝึกจะมากกว่า จำนวนตัวอย่างในชุดการตรวจสอบหรือชุดทดสอบ อย่างไรก็ตาม จะไม่มีข้อกำหนดเปอร์เซ็นต์สำหรับแต่ละชุด
สมมติว่าชุดทดสอบของคุณมีตัวอย่างเพียงพอที่จะดำเนินการ ที่มีนัยสำคัญทางสถิติ นอกจากนี้ การทดสอบกับ ชุดทดสอบให้ความสูญเสียต่ำ อย่างไรก็ตาม โมเดลได้ดำเนินการ อย่างไม่น่าเชื่อในโลกความเป็นจริง คุณควรทำอย่างไร
ระบุว่าชุดข้อมูลต้นฉบับแตกต่างจากข้อมูลในชีวิตจริงอย่างไร
ได้ แม้แต่ชุดข้อมูลที่ดีที่สุดก็เป็นเพียงภาพรวมของข้อมูลในชีวิตจริง เบื้องหลัง ข้อมูลที่เป็นความจริง มีแนวโน้มที่จะเปลี่ยนแปลงเมื่อเวลาผ่านไป แม้ว่าชุดทดสอบจะตรงกับ ที่ดีพอที่จะทำให้โมเดลมีคุณภาพ อาจไม่ตรงกับข้อมูลในชีวิตจริง คุณอาจต้องฝึกและทดสอบชุดข้อมูลใหม่อีกครั้ง
ทดสอบอีกครั้งในชุดทดสอบเดิม ผลการทดสอบอาจมี เป็นสิ่งผิดปกติ
แม้ว่าการทดสอบซ้ำอาจให้ผลลัพธ์ที่แตกต่างกันเล็กน้อย กลยุทธ์นี้อาจไม่มีประโยชน์มากนัก
ชุดทดสอบควรมีตัวอย่างกี่ตัวอย่าง
ตัวอย่างที่เพียงพอสําหรับการทดสอบที่มีนัยสำคัญทางสถิติ
ได้ ตัวอย่างนั้นมีกี่ตัวอย่าง คุณจะต้องทำการทดสอบ
อย่างน้อย 15% ของชุดข้อมูลเดิม
โดย 15% อาจเป็นตัวอย่างที่เพียงพอหรือไม่ก็ได้