เป็นคำถามที่ดี ฉันเคยเห็นกฎการหยุดมากมายในวรรณคดีและมีข้อดีและข้อเสียสำหรับแต่ละข้อขึ้นอยู่กับบริบท optim
ฟังก์ชั่นในการวิจัย, เช่นมีอย่างน้อยสามกฎหยุดที่แตกต่างกัน
maxit
คือจำนวนการทำซ้ำสูงสุดที่กำหนดไว้ล่วงหน้า ทางเลือกอื่นที่คล้ายกันที่ฉันเคยเห็นในวรรณกรรมคือจำนวนวินาทีสูงสุดก่อนที่จะหมดเวลา หากสิ่งที่คุณต้องการคือวิธีแก้ปัญหาโดยประมาณนี่อาจสมเหตุสมผลมาก ในความเป็นจริงมีคลาสของโมเดล (โดยเฉพาะโมเดลเชิงเส้น) ซึ่งการหยุดแบบเร็วนั้นคล้ายคลึงกับการใส่ Gaussian ก่อนค่าพารามิเตอร์ของคุณ นักเล่นแร่แปรธาตุมักจะพูดว่าคุณมี "มาตรฐาน L2" มากกว่าก่อน แต่พวกเขายังคิดว่ามันเป็นสิ่งที่สมเหตุสมผลที่ต้องทำ ฉันแค่อ่านบทความนี้เท่านั้น แต่มันพูดถึงความสัมพันธ์ระหว่างการหยุด แต่เนิ่น ๆ และการทำให้เป็นปกติและอาจช่วยชี้นำคุณไปสู่ข้อมูลเพิ่มเติม แต่เวอร์ชั่นสั้นคือใช่การหยุด แต่เนิ่น ๆ อาจเป็นสิ่งที่น่านับถืออย่างสมบูรณ์แบบขึ้นอยู่กับว่าคุณ '
abstol
คือหยุดเมื่อฟังก์ชันรับ "ปิดเพียงพอ" เป็นศูนย์ สิ่งนี้อาจไม่เกี่ยวข้องกับคุณ (ไม่เหมือนที่คุณคาดหวังว่าจะเป็นศูนย์) ดังนั้นฉันจะข้ามมันไป
reltol
ซึ่งเป็นเหมือนข้อเสนอแนะที่สองของคุณ - หยุดเมื่อการปรับปรุงลดลงต่ำกว่าเกณฑ์ จริง ๆ แล้วฉันไม่ทราบว่ามีทฤษฎีมากน้อยเพียงใด แต่คุณอาจมีแนวโน้มที่จะได้รับ minima ที่ลดลงด้วยวิธีการทำซ้ำจำนวนน้อยที่สุด หากนั่นเป็นสิ่งสำคัญสำหรับคุณมันอาจจะคุ้มค่าที่จะใช้รหัสสำหรับการวนซ้ำมากขึ้น
กฎการหยุดในตระกูลอื่นเกี่ยวข้องกับการปรับฟังก์ชั่นต้นทุนให้เหมาะสมกับชุดข้อมูลการตรวจสอบความถูกต้อง (หรือด้วยการตรวจสอบข้าม) แทนที่จะใช้กับข้อมูลการฝึกอบรม ขึ้นอยู่กับสิ่งที่คุณต้องการใช้แบบจำลองของคุณคุณอาจต้องการหยุดให้ดีก่อนที่คุณจะได้รับข้อมูลการฝึกอบรมขั้นต่ำในพื้นที่เนื่องจากอาจเกี่ยวข้องกับการ overfitting ฉันค่อนข้างมั่นใจว่า Trevor Hastie เขียนเกี่ยวกับวิธีการที่ดีในการทำสิ่งนี้ แต่ฉันจำการอ้างอิงไม่ได้
ตัวเลือกอื่น ๆ ที่เป็นไปได้สำหรับการค้นหาขั้นต่ำในระยะเวลาที่เหมาะสมอาจรวมถึง:
การไล่ระดับสีแบบสุ่ม Stochastic ซึ่งต้องการการประมาณค่าการไล่ระดับสีสำหรับข้อมูลส่วนเล็ก ๆ ของคุณในแต่ละครั้ง (เช่นจุดข้อมูลหนึ่งจุดสำหรับ "บริสุทธิ์" SGD หรือชุดเล็ก ๆ )
ฟังก์ชั่นการปรับแต่งขั้นสูงเพิ่มเติม (เช่นวิธีการแบบนิวตันหรือการไล่ระดับคอนจูเกต) ซึ่งใช้ข้อมูลเกี่ยวกับความโค้งของฟังก์ชันวัตถุประสงค์ของคุณเพื่อช่วยให้คุณชี้ไปในทิศทางที่ดีขึ้นและใช้ขนาดขั้นตอนที่ดีขึ้น
คำว่า "โมเมนตัม" ในกฎการอัปเดตของคุณเพื่อให้เครื่องมือเพิ่มประสิทธิภาพของคุณทำงานได้ดีขึ้นในการกลิ้งลงเขาแทนที่จะล้อมรอบกำแพงแคนยอนในหน้าที่วัตถุประสงค์ของคุณ
วิธีการเหล่านี้ถูกกล่าวถึงทั้งหมดในบันทึกการบรรยายที่ฉันพบทางออนไลน์
หวังว่านี่จะช่วยได้!
แก้ไขแหมและคุณยังสามารถลองรับค่าเริ่มต้นที่ดีขึ้น (เช่นการแก้ไขปัญหาที่ง่ายกว่า) เพื่อที่จะได้ใช้เวลาน้อยลงในการเข้าใกล้ค่าที่เหมาะสมที่สุดจาก "การเริ่มต้นที่อบอุ่น" ของคุณ