ความสามารถในการตรวจสอบสมมติฐานการเรียนรู้ของเครื่องช่วยให้สามารถเพิ่มประสิทธิภาพของอัลกอริทึมที่คุณเลือกได้อย่างมีประสิทธิภาพ อัลกอริทึมจะให้ประสิทธิภาพในการคาดการณ์ข้อมูลของคุณมากที่สุดโดยให้ความสามารถในการตรวจจับสัญญาณจากข้อมูลและเหมาะสมกับรูปแบบการทำงานที่แท้จริงของฟังก์ชันการทำนายโดยไม่ทำให้เกิดการแปรปรวนและสร้างความแปรปรวนมากขึ้นของค่าประมาณ อัลกอริทึมการเรียนรู้ของเครื่องไม่ได้เป็นวิธีที่ดีที่สุดสำหรับข้อมูลของคุณและไม่มีอัลกอริธึมใดที่เหมาะกับทุกปัญหา การค้นหาปัญหาที่เฉพาะเจาะจงขึ้นอยู่กับคุณ
แหล่งที่มาของการทำนายที่สองคือข้อมูลที่ได้รับเมื่อได้รับการแปลงและเลือกอย่างเหมาะสมเพื่อเพิ่มขีดความสามารถในการเรียนรู้ของอัลกอริทึมที่เลือก
แหล่งที่มาสุดท้ายของประสิทธิภาพมาจากการปรับค่าพารามิเตอร์ ของอัลกอริทึม ซึ่งเป็นพารามิเตอร์ที่คุณตัดสินใจก่อนการเรียนรู้และไม่ได้เรียนรู้จากข้อมูล บทบาทของพวกเขาคือการกำหนดสมมุติฐาน สมมติฐานขณะที่พารามิเตอร์อื่น ๆ ระบุว่า หลัง, หลังจากอัลกอริทึมนี้โต้ตอบกับข้อมูลและโดยใช้กระบวนการเพิ่มประสิทธิภาพพบว่าค่าพารามิเตอร์บางค่า ทำงานได้ดีขึ้นในการคาดการณ์ที่ดี ทั้ง R และ Python มีฟังก์ชันการแบ่งชิ้นส่วนที่ตัดชิ้นส่วนข้อมูลอินพุตของคุณลงในส่วนทดสอบรถไฟและการตรวจสอบ โดยเฉพาะอย่างยิ่งสำหรับขั้นตอนการทดสอบที่ซับซ้อนมากขึ้นเช่น Cross-validation หรือ bootstrapping แพคเกจ Scikit-learning มีโมดูลทั้งหมดและ R มีแพคเกจเฉพาะที่นำเสนอฟังก์ชั่นสำหรับการแยกข้อมูลการประมวลผลและการทดสอบแพคเกจนี้เรียกว่าแคท
การผสมผสานค่าที่เป็นไปได้ที่ hyper-parameters อาจก่อให้เกิดการตัดสินใจได้ว่าจะหาวิธีการเพิ่มประสิทธิภาพที่ยากที่สุด ตามที่ได้อธิบายไว้เมื่อพูดถึงการไล่ระดับสีของการไล่ระดับสีการเพิ่มประสิทธิภาพอาจมีชุดค่าผสมที่ทำงานได้ดีขึ้นหรือแย่ลง แม้ว่าคุณจะพบชุดค่าผสมที่ดี แต่คุณไม่มั่นใจว่านี่เป็นทางเลือกที่ดีที่สุด (นี่เป็นปัญหาของการติดขัดใน minimima ท้องถิ่นเมื่อลดข้อผิดพลาด)ในทางปฏิบัติของการแก้ปัญหานี้วิธีที่ดีที่สุดในการตรวจสอบค่าพารามิเตอร์ hyper สำหรับอัลกอริทึมที่ใช้กับข้อมูลเฉพาะคือการทดสอบทั้งหมดโดย การตรวจสอบข้ามและเลือกส่วนผสมที่ดีที่สุด วิธีง่ายๆนี้เรียกว่า grid-search มีข้อดีที่ไม่อาจโต้แย้งได้โดยช่วยให้คุณสามารถหาตัวอย่างช่วงของค่าที่เป็นไปได้ในการป้อนข้อมูลลงในอัลกอริทึมอย่างเป็นระบบและเพื่อหาจุดต่ำสุดที่เกิดขึ้น
ในทางตรงกันข้ามการค้นหาแบบกริดยังมีข้อบกพร่องร้ายแรงเนื่องจากมีความจำเป็นในการคำนวณ (คุณสามารถทำงานนี้ได้แบบขนานในคอมพิวเตอร์มัลติคอร์ที่ทันสมัย) และค่อนข้างใช้เวลานาน นอกจากนี้การทดสอบอย่างเป็นระบบและแบบเร่งรัดช่วยเพิ่มความเป็นไปได้ที่จะเกิดข้อผิดพลาดเนื่องจากผลการตรวจสอบที่ดี แต่ผลการตรวจสอบปลอมอาจมีสาเหตุมาจากสัญญาณรบกวนในชุดข้อมูล
มีบางทางเลือกในการค้นหาแบบกริด แทนการทดสอบทุกสิ่งทุกอย่างคุณสามารถลองสำรวจพื้นที่ของค่าพารามิเตอร์ hyper ที่เป็นไปได้ซึ่งนำโดยเทคนิคการเพิ่มประสิทธิภาพแบบไม่เชิงเส้นที่ซับซ้อนและซับซ้อนทางคณิตศาสตร์ (เช่นวิธี Nelder-Mead) โดยใช้วิธี Bayesian (ซึ่งจำนวนการทดสอบจะลดลงโดยการใช้ ประโยชน์จากผลลัพธ์ก่อนหน้านี้) หรือใช้การค้นหาแบบสุ่ม
น่าประหลาดใจที่การค้นหาแบบสุ่มทำงานได้ดีเป็นเรื่องที่เข้าใจได้ง่ายและไม่ได้ขึ้นอยู่กับความมืดมิด แต่อย่างแรกอาจดูเหมือนได้ ในความเป็นจริงจุดสำคัญของเทคนิคก็คือหากคุณเลือกการทดสอบแบบสุ่มเพียงพอคุณจะมีความเป็นไปได้เพียงพอที่จะระบุพารามิเตอร์ที่ถูกต้องโดยไม่ต้องเสียพลังงานในการทดสอบชุดค่าผสมที่แตกต่างกันเล็กน้อยในชุดค่าผสมที่มีลักษณะคล้ายกัน
การแสดงแบบกราฟิกด้านล่างอธิบายว่าทำไมการค้นหาแบบสุ่มจึงใช้ได้ผลดี การสำรวจระบบแม้ว่าจะเป็นประโยชน์ แต่มักจะทดสอบชุดค่าผสมทั้งหมดซึ่งจะกลายเป็นของเสียพลังงานหากพารามิเตอร์บางตัวไม่ส่งผลต่อผลลัพธ์ การค้นหาแบบสุ่มจะทดสอบชุดค่าผสมที่น้อยลง แต่ในช่วงของพารามิเตอร์ hyper แต่ละพารามิเตอร์ซึ่งเป็นกลยุทธ์ที่พิสูจน์ว่าผู้ชนะถ้าบางครั้งพารามิเตอร์บางอย่างมีความสำคัญมากกว่าอื่น ๆ
เปรียบเทียบการค้นหาแบบกริดกับการค้นหาแบบสุ่ม
สำหรับการค้นหาแบบสุ่มให้ทำงานได้ดีคุณควรทดสอบตั้งแต่ 15 ถึง 60 รายการ ไม่ต้องใช้การค้นหาแบบสุ่มหากการค้นหาแบบกริดต้องการการทดลองจำนวนมาก