ฉันกำลังพยายามใช้อัลกอริทึม Nelder-Mead สำหรับการปรับฟังก์ชั่นให้เหมาะสม หน้าวิกิพีเดียเกี่ยวกับ Nelder-มธุรสเป็นที่น่าแปลกใจที่ชัดเจนเกี่ยวกับขั้นตอนวิธีการทั้งหมดยกเว้นสำหรับเกณฑ์การหยุดของมัน ที่นั่นมันเศร้าพูดว่า:
ตรวจสอบการบรรจบกัน[ต้องการชี้แจง]
ฉันลองและทดสอบเกณฑ์สองสามข้อด้วยตัวเอง:
หยุดถ้าโดยที่มีขนาดเล็กและที่คือจุดยอด th ของ simplex เรียงลำดับจากต่ำ ( ) ถึงสูง ( ) ค่าฟังก์ชัน กล่าวอีกนัยหนึ่งเมื่อค่าสูงสุดของ simplex เกือบเท่ากับค่าต่ำสุด ฉันพบว่ามันทำงานไม่ถูกต้องเนื่องจากมันไม่รับประกันว่าฟังก์ชั่นจะทำงานอย่างไรภายใน simplex ตัวอย่างพิจารณาฟังก์ชั่น:แน่นอนว่ามันเป็นเรื่องเล็กน้อยที่จะปรับให้เหมาะสม แต่สมมุติว่าเราทำสิ่งนี้ด้วย NM และให้จุดสองจุดคือและϵ x ฉันฉันf ( x 1 ) f ( x N + 1 ) f ( x ) = x 2 x 1 = - 1 x 2 = 1
. อัลกอริทึมจะมาบรรจบกันที่นี่ตัวเลือกที่สองเกี่ยวข้องกับการประเมิน centroid ของเริม: หยุดถ้า<\นี่ถือว่าถ้าจุดต่ำสุดของซิมเพล็กซ์และเซนทรอยด์มีค่าใกล้เคียงกันซิมเพล็กซ์มีขนาดเล็กพอที่จะเรียกการบรรจบกัน
นี่เป็นวิธีที่เหมาะสมในการตรวจสอบการลู่เข้าหรือไม่ หรือมีวิธีการที่กำหนดขึ้นเพื่อตรวจสอบเรื่องนี้? ฉันไม่พบแหล่งที่มาเกี่ยวกับเรื่องนี้เนื่องจากการค้นหายอดนิยมส่วนใหญ่มุ่งเน้นไปที่ความซับซ้อนของอัลกอริทึม