‫การสร้างแบบจำลอง ตอนที่ 4
‫นี่เป็นส่วนสุดท้ายของการสร้างแบบจำลองและการเปรียบเทียบ
‫อยากทราบว่าโมเดลของเราจะทำงานอย่างไรในโลกแห่งความเป็นจริง
‫ดังนั้น หลังจากที่คุณได้ผสมผสานและปรับปรุงประสิทธิภาพของแบบจำลองของคุณผ่านการปรับพารามิเตอร์แบบไฮเปอร์
‫ถึงเวลาที่จะดูว่าโมเดลทำงานอย่างไรในชุดทดสอบ
‫ชุดทดสอบเปรียบเสมือนการสอบปลายภาคสำหรับโมเดลการเรียนรู้ของเครื่อง
‫หากคุณสร้างการแบ่งข้อมูลของคุณอย่างถูกต้อง ควรให้ข้อบ่งชี้ว่าแบบจำลองของคุณจะดำเนินการอย่างไรเมื่อปรับใช้ในการผลิต
‫นั่นหมายถึงการเผชิญหน้ากับลูกค้ามากกว่าแค่อยู่บนเครื่องคอมพิวเตอร์ของคุณ
‫เนื่องจากแบบจำลองของคุณไม่เคยเห็นข้อมูลในชุดการทดสอบ การประเมินแบบจำลองของคุณจึงเป็นวิธีที่ดีในการดูว่าข้อมูลโดยรวมเป็นอย่างไร
‫และจำไว้ว่า โดยทั่ว ๆ ไป ฉันหมายถึงปรับให้เข้ากับข้อมูลที่ไม่เคยเห็นมาก่อน เช่น วิธีที่โมเดลการเรียนรู้ด้วยเครื่องทำนายโรคหัวใจของเราทำงานอย่างไรในการจำแนกว่าผู้ป่วยเป็นโรคหัวใจหรือไม่ในผู้ป่วยที่ไม่ได้อยู่ในรูปแบบเดิมของเรา
‫ชุดข้อมูล
‫แบบจำลองที่ดีจะให้ผลลัพธ์ที่คล้ายคลึงกันในชุดการฝึก การตรวจสอบ และการทดสอบ และไม่ใช่เรื่องแปลกที่จะเห็นประสิทธิภาพลดลงเล็กน้อยจากแบบจำลองในชุดการฝึกและการตรวจสอบความถูกต้องไปยังชุดทดสอบ
‫ตัวอย่างเช่น โมเดลของคุณอาจมีความแม่นยำถึง 98% ในชุดข้อมูลการฝึก และความแม่นยำ 96% ในชุดทดสอบ
‫สิ่งที่คุณควรกังวลคือถ้าชุดการฝึกมีประสิทธิภาพสูงกว่าชุดทดสอบอย่างมากหรือที่เรียกว่าไม่เหมาะสม
‫และหากประสิทธิภาพของชุดทดสอบสูงกว่าประสิทธิภาพของชุดฝึกที่เรียกว่า overfitting
‫ทั้งสองตัวอย่างมากเกินไปและไม่เหมาะสมของแบบจำลองที่ไม่สามารถสรุปได้ดีซึ่งเป็นสิ่งที่เราไม่ต้องการ
‫โมเดลในอุดมคติจะแสดงขึ้นในโซน Goldilocks
‫มันเข้ากันได้พอดี
‫ไม่ดีเกินไป แต่ก็ไม่ได้แย่เกินไป
‫คุณเห็นโมเดลแมชชีนเลิร์นนิงนี้แล้ว หากนี่คือข้อมูลของคุณ จุดข้อมูลสีเขียว เส้นนี้ตรงนี้
‫มันจะพอดีกับรูปร่าง
‫แต่มันคือสิ่งนี้จะจัดว่าเหมาะสม
‫นี่ไม่ใช่สิ่งที่เราต้องการให้แบบจำลองของเราทำ
‫และอันนี้ตรงนี้ มันทำงานได้ดี ในการใส่จุดข้อมูลทั้งหมด แต่มันใกล้เกินไป
‫มันเกือบจะเป็นโมเดลที่สมบูรณ์แบบเกินไป
‫มันเป็นแค่การย่องระหว่างพวกเขา
‫ตัวอย่างนี้จะหมายความว่าตัวแบบได้เรียนรู้รูปแบบในชุดข้อมูลนี้ดีเกินไป
‫เหมือนได้ดูข้อสอบปลายภาคก่อนสอบปลายภาคจริงๆ
‫ที่นี่คือโซน Goldilocks
‫ถูกต้อง.
‫นี่เป็นกระบวนการที่ทำซ้ำโดยที่โซน Goldilocks นี้เป็นเหมือนแบบจำลองที่สมดุล
‫เราพึ่งพาข้อมูลของคุณและปัญหาที่คุณพยายามแก้ไข
‫นั่นเป็นสาเหตุ อีกครั้ง มันเป็นกระบวนการที่วนซ้ำ ค้นหาโซนที่สมดุลนี้
‫และหลังจากผ่านประสบการณ์และฝึกฝนการทำงานเกี่ยวกับปัญหาการเรียนรู้ของเครื่องต่างๆ แล้ว คุณก็จะสามารถเริ่มบอกได้ว่าแบบจำลองของคุณมีสัดส่วนมากเกินไปหรือน้อยเกินไป
‫ขณะนี้มีสาเหตุหลายประการที่ทำให้การไม่พอดีและการใส่มากเกินไปสามารถเกิดขึ้นได้ แต่สาเหตุหลักคือการรั่วไหลของข้อมูลและข้อมูลที่ไม่ตรงกัน
‫ข้อมูลรั่วไหลเกิดขึ้นเมื่อข้อมูลการทดสอบบางส่วนรั่วไหลเข้าไปในข้อมูลการฝึกของคุณ และมักส่งผลให้เกิดการโอเวอร์ฟิตติ้งหรือโมเดลทำผลงานได้ดีกว่าในชุดทดสอบมากกว่าในชุดข้อมูลการฝึก
‫มันเหมือนกับว่า จำไว้ว่า มันเหมือนกับว่าคุณกำลังดูข้อสอบปลายภาคหรือทุกคนต้องดูข้อสอบปลายภาคเป็นข้อสอบฝึกหัด
‫โมเดลแมชชีนเลิร์นนิงของคุณเพิ่งเรียนรู้ว่ากำลังจะทดสอบอะไร
‫ดังนั้นเมื่อถึงเวลาสร้างแบบจำลอง มันเพิ่งเรียนรู้มาอย่างดีและเริ่มเข้ากับข้อมูลแบบนี้
‫และนี่คือเหตุผลสำคัญที่ต้องทำการแยกส่วนอย่างถูกต้อง และทำให้แน่ใจว่าการฝึกโมเดลการเรียนรู้ของเครื่องจะเกิดขึ้นเฉพาะในชุดข้อมูลการฝึกเท่านั้น
‫การตรวจสอบความถูกต้องและการปรับรุ่นจะเกิดขึ้นเฉพาะกับชุดข้อมูลการตรวจสอบความถูกต้องหรือการฝึกอบรมเท่านั้น
‫และการทดสอบและการเปรียบเทียบแบบจำลองนั้นเกิดขึ้นในชุดข้อมูลการทดสอบ
‫และฉันจำวิธีการต่างๆ ได้
‫ใช้เฉพาะชุดการฝึกและการทดสอบ และทำการปรับแต่งแบบจำลองในชุดการฝึก
‫แต่การทดสอบยังคงเหมือนเดิมเสมอ
‫มันเหมือนกับเมื่อคุณเข้ามหาวิทยาลัย คุณกำลังเรียนหลักสูตร
‫คุณต้องการทำให้แน่ใจว่าการสอบปลายภาคเป็นเครื่องบ่งชี้ว่าคุณเข้าใจสิ่งต่างๆ ได้ดีเพียงใด
‫เช่นเดียวกับชุดข้อมูลทดสอบสำหรับการเรียนรู้ของเครื่อง
‫ชุดข้อมูลการทดสอบถูกใช้เพื่อบ่งชี้ว่าโมเดลของคุณจะสรุปโดยรวมได้ดีเพียงใดในโลกแห่งความเป็นจริง
‫ดังนั้นคุณจึงต้องการหลีกเลี่ยงการรั่วไหลของข้อมูล
‫ข้อมูลไม่ตรงกันเกิดขึ้นเมื่อข้อมูลที่คุณกำลังทดสอบแตกต่างจากข้อมูลที่คุณฝึกอบรม
‫เช่น มีคุณลักษณะที่แตกต่างกันในข้อมูลการฝึกกับข้อมูลการทดสอบ
‫การมีความไม่ตรงกันประเภทนี้อาจนำไปสู่แบบจำลองที่มีประสิทธิภาพต่ำในข้อมูลการทดสอบเมื่อเทียบกับข้อมูลการฝึกอบรม
‫นี่คือเหตุผลสำคัญที่จะต้องแน่ใจว่าการฝึกอบรมเสร็จสิ้นในข้อมูลประเภทเดียวกับที่คุณจะทำการทดสอบและใกล้เคียงกับสิ่งที่คุณจะใช้ในแอปพลิเคชันในอนาคตของคุณมากที่สุด
‫วิธีอื่นๆ ในการต่อสู้กับผู้ไม่เหมาะ ได้แก่ การใช้แบบจำลองที่ล้ำหน้ากว่า
‫นี่อาจหมายถึงโมเดลที่แตกต่างไปจากเดิมอย่างสิ้นเชิงหรือการเพิ่มจำนวนของพารามิเตอร์ไฮเปอร์บนโมเดลปัจจุบันของคุณ
‫จำไว้ว่าเมื่อเราทำอาหารจานไก่ เราอาจเปลี่ยนพารามิเตอร์ไฮเปอร์ตัวใดตัวหนึ่งของเตาอบของเราโดยเปิดขึ้น
‫นั่นอาจเป็นสิ่งที่คุณอาจทำกับโมเดลการเรียนรู้ของเครื่อง แทนที่จะใช้เพียงสองชั้นในโครงข่ายประสาทเทียมที่คุณอาจใช้
‫เราจะเห็นสิ่งนี้มากขึ้นในโครงการในอนาคต
‫คุณยังสามารถลดจำนวนคุณลักษณะที่คุณกำลังพยายามสร้างแบบจำลองได้อีกด้วย
‫บางทีข้อมูลของคุณอาจมีคุณลักษณะมากเกินไป และแบบจำลองที่คุณใช้กำลังประสบปัญหาในการค้นหารูปแบบในนั้น
‫สุดท้าย คุณสามารถฝึกโมเดลของคุณได้นานขึ้น
‫บางครั้งแบบจำลองใช้เวลาในการฝึกฝนนานกว่าหรือนานกว่าที่คุณคาดหวัง
‫การทดลองหนึ่งของคุณอาจมีระยะการฝึกที่ยาวนานขึ้น
‫เพื่อลดการโอเวอร์ฟิต
‫แนวทางแก้ไขที่เป็นประโยชน์คือการรวบรวมข้อมูลเพิ่มเติม
‫ข้อมูลที่มากขึ้นจะให้รูปแบบที่เป็นไปได้มากขึ้นสำหรับโมเดลในการค้นหา และทำให้ศักยภาพในการค้นหาโมเดลทั้งหมดลดลง
‫หรือคุณอาจลองใช้โมเดลขั้นสูงน้อยกว่าก็ได้
‫นี่ไม่ใช่เรื่องแปลก แต่ก็เป็นไปได้
‫โมเดลที่คุณใช้เรียนรู้ได้ดีเกินไปและเป็นโมเดลข้อมูลของคุณด้วย
‫ระวังตัวแบบที่มีประสิทธิภาพดีเกินไปเพราะอาจนำไปสู่การคาดคะเนที่ไม่ถูกต้อง
‫จำไว้ว่าไม่มีแบบจำลองใดที่สมบูรณ์แบบ ดังนั้นอย่าลืมตรวจสอบผลลัพธ์ที่ดีพอๆ กับที่ตรวจสอบผลลัพธ์ที่ไม่ดีของคุณ
‫สุดท้าย เมื่อเปรียบเทียบสองรุ่นที่แตกต่างกัน สิ่งสำคัญคือต้องแน่ใจว่าคุณกำลังเปรียบเทียบแอปเปิ้ลกับแอปเปิ้ล
‫และส้มกับส้ม เป็นต้น
‫รุ่นที่สอง ฝึกฝนเกี่ยวกับข้อมูล
‫ตั้งค่าหนึ่งเทียบกับโมเดลสามที่ได้รับการฝึกอบรมเกี่ยวกับข้อมูล ชุดที่หนึ่ง
‫และระหว่างการเปรียบเทียบ คุณต้องแน่ใจว่าคุณคำนึงถึงไม่เพียงแต่ผลลัพธ์สุดท้ายเท่านั้น แต่ยังต้องคำนึงถึงสิ่งที่ต้องนำมาพิจารณาด้วย
‫ถ้า Model 2 ใช้เวลา 1/2 ในการทำนายที่ 93 ความแม่นยำ 1%
‫รุ่นที่สามใช้เวลา 4 วินาทีในการทำนายที่ 94 7 ความแม่นยำ
‫ความแม่นยำพิเศษ 3% นั้นคุ้มกับเวลาคาดการณ์เพิ่มเติม 3 วินาทีหรือไม่
‫ในตอนนี้ สิ่งนี้จะขึ้นอยู่กับเป้าหมาย แต่หากคุณกำลังปรับเวลาคาดการณ์ให้เหมาะสม คุณต้องการทำนายให้เร็วที่สุด
‫คุณอาจเลือกรูปแบบที่สอง เนื่องจากทำให้การคาดการณ์ได้เร็วกว่ารุ่นที่สามถึงสี่เท่า แต่ในระดับความแม่นยำสูงกว่า
‫อีกครั้ง สิ่งนี้จะแตกต่างกันไปขึ้นอยู่กับประเภทของแอปพลิเคชันหรือกรณีใช้งานจริงที่คุณต้องการใช้
‫แต่เพียงบางสิ่งที่ต้องจำไว้เป็นมากกว่าแค่ประสิทธิภาพของแบบจำลอง ซึ่งรวมถึงการเลือกรุ่นที่คุณควรใช้
‫สองสามสิ่งที่คุณอยากจะจำจากบทเรียนนี้ หลีกเลี่ยงการใส่มากเกินไปและไม่เหมาะสม
‫คุณต้องการโมเดลที่มุ่งสู่ความทั่วไป
‫มันเหมือนกับว่าเมื่อคุณทำข้อสอบฝึกหัด ถ้าคุณเห็นข้อสอบปลายภาค คุณก็อาจจะเป็นแค่เครื่องท่องจำที่เชี่ยวชาญ
‫มากกว่าที่จะเป็นคนที่สามารถใช้ความรู้ของพวกเขาในโลกแห่งความเป็นจริงได้
‫เก็บชุดทดสอบแยกต่างหากโดยเสียค่าใช้จ่ายทั้งหมด
‫เมื่อคุณแยกข้อมูล คุณต้องมีชุดการฝึกแล้วทิ้งชุดข้อมูลทดสอบและล็อกไว้
‫และเมื่อโมเดลของคุณได้รับการฝึกอบรมแล้ว คุณสามารถเปิดชุดข้อมูลทดสอบ ปลดล็อก นำออกจากตู้นิรภัย
‫และดูว่าโมเดลของคุณทำงานเป็นอย่างไรเมื่อคุณเปรียบเทียบโมเดล
‫เปรียบเทียบแอปเปิ้ลกับแอปเปิ้ล มีโมเดลหนึ่งและโมเดลสองใน data, set one และ data set one
‫คุณต้องการทำให้แน่ใจว่าแบบจำลองทั้งสองที่คุณกำลังเปรียบเทียบนั้นถูกสร้างขึ้นในสภาพแวดล้อมแบบเดียวกัน
‫เพื่อให้คุณมั่นใจได้ว่าสิ่งที่คุณกำลังเปรียบเทียบนั้นเป็นการเปรียบเทียบที่ถูกต้อง
‫สุดท้าย เมตริกประสิทธิภาพที่ดีที่สุดตัวหนึ่งไม่เท่ากับโมเดลที่ดีที่สุด
‫จำไว้ว่า ในตัวอย่างของเรา คุณอาจกำลังปรับเวลาการคาดคะเนให้เหมาะสม
‫ดังนั้นแม้ว่าแบบจำลองที่คาดการณ์ได้เร็วกว่าจะไม่ได้ความแม่นยำสูงเท่ากับอีกรุ่นหนึ่งที่ใช้เวลานานกว่าเล็กน้อย
‫มันอาจจะไม่สำคัญสำหรับคุณเพราะคุณต้องการบางสิ่งที่สามารถคาดเดาได้เร็วที่สุด
‫วุ้ย นั่นเป็นจำนวนมาก แต่เราจะเห็นการดำเนินการนี้อีกมากมายตลอดหลักสูตร
‫คุณจะใช้มันตลอดทั้งอาชีพแมชชีนเลิร์นนิง ดังนั้นสิ่งสำคัญคือต้องจดจำแนวคิดเหล่านี้
‫มาดูขั้นตอนต่อไปและดูว่าเราจะนำขั้นตอนก่อนหน้าทั้งหมดนี้มารวมกันในการทดลองขั้นตอนที่หกได้อย่างไร