อ่าน 4 นาที
วิธีการไล่ระดับคอนจูเกตแบบไม่เชิงเส้น
ในการหาค่าเหมาะสมที่สุดเชิงตัวเลขวิธีการไล่ระดับสังยุคแบบไม่เชิงเส้นเป็นการขยายวิธีการไล่ระดับสังยุคไปสู่การหาค่าเหมาะสมที่สุดแบบไม่เชิงเส้นสำหรับฟังก์ชันกำลังสองเอฟ(x){\displaysty...
วิธีการไล่ระดับคอนจูเกตแบบไม่เชิงเส้น
ในการหาค่าเหมาะสมที่สุดเชิงตัวเลขวิธีการไล่ระดับสังยุคแบบไม่เชิงเส้นเป็นการขยายวิธีการไล่ระดับสังยุคไปสู่การหาค่าเหมาะสมที่สุดแบบไม่เชิงเส้นสำหรับฟังก์ชันกำลังสอง
ค่าต่ำสุดของจะได้เมื่อค่าความชันเป็น 0:
- .
ในขณะที่วิธีการไล่ระดับเชิงสังยุคเชิงเส้น (Linear Conjugate Gradient) พยายามหาคำตอบของสมการเชิงเส้น วิธีการไล่ระดับเชิงสังยุคที่ไม่เป็นเชิงเส้น (Nonlinear Conjugate Gradient) โดยทั่วไปจะใช้เพื่อหาค่าต่ำสุดเฉพาะที่ของฟังก์ชันที่ไม่เป็นเชิงเส้นโดยใช้ เพียง ค่าไล่ระดับ ของฟังก์ชันนั้น วิธีนี้ใช้ได้ผลเมื่อฟังก์ชันมีลักษณะเป็นฟังก์ชันกำลังสองโดยประมาณใกล้ค่าต่ำสุด ซึ่งเป็นกรณีที่ฟังก์ชันสามารถหาอนุพันธ์อันดับสองได้ที่ค่าต่ำสุดและอนุพันธ์อันดับสองไม่เป็นเมทริกซ์เอกฐานที่จุดนั้น
เมื่อกำหนดฟังก์ชันของตัวแปรที่ต้องการหาค่าต่ำสุดแล้ว ค่าความชันของฟังก์ชันจะบ่งบอกทิศทางการเพิ่มขึ้นสูงสุด โดยเริ่มจากทิศทางตรงกันข้าม ( ทิศทาง ที่ลดลงมากที่สุด )
โดยสามารถปรับความยาวช่วงได้และทำการค้นหาเส้นในทิศทางนี้จนกว่าจะถึงค่าต่ำสุดที่:
- ,
หลังจากวนซ้ำครั้งแรกในทิศทางที่ชันที่สุดแล้วขั้นตอนต่อไปนี้จะประกอบเป็นการวนซ้ำหนึ่งครั้งของการเคลื่อนที่ไปตามทิศทางคู่ควบถัดไปโดยที่:
- คำนวณทิศทางที่ชันที่สุด: ,
- คำนวณโดยใช้สูตรใดสูตรหนึ่งด้านล่างนี้
- อัปเดตทิศทางการผันคำ:
- ทำการค้นหาแบบบรรทัด: ปรับให้เหมาะสม,
- อัปเดตตำแหน่ง: ,
สำหรับฟังก์ชันกำลังสองบริสุทธิ์ ค่าต่ำสุดจะถึงภายในNรอบการทำซ้ำ (ยกเว้นข้อผิดพลาดจากการปัดเศษ) แต่ฟังก์ชันที่ไม่ใช่กำลังสองจะมีความคืบหน้าช้ากว่า ทิศทางการค้นหาที่ตามมาจะสูญเสียความสัมพันธ์กัน ทำให้ต้องรีเซ็ตทิศทางการค้นหาไปยังทิศทางที่ชันที่สุดอย่างน้อยทุกๆNรอบการทำซ้ำ หรือเร็วกว่านั้นหากความคืบหน้าหยุดชะงัก อย่างไรก็ตาม การรีเซ็ตทุกรอบการทำซ้ำจะเปลี่ยนวิธีการนี้ให้กลายเป็นวิธี การลด ความชัน (steepest descent) อัลกอริทึมจะหยุดเมื่อพบค่าต่ำสุด ซึ่งจะกำหนดเมื่อไม่มีความคืบหน้าเกิดขึ้นหลังจากรีเซ็ตทิศทาง (เช่น ในทิศทางที่ชันที่สุด) หรือเมื่อถึงเกณฑ์ความคลาดเคลื่อนบางอย่าง
ภายใต้การประมาณเชิงเส้น พารามิเตอร์และจะเหมือนกับในวิธีการไล่ระดับเชิงสังยุคเชิงเส้น แต่ได้มาจากการค้นหาตามเส้น วิธีการไล่ระดับเชิงสังยุคสามารถติดตามหุบเขาแคบๆ ( เงื่อนไขไม่ดี ) ซึ่ง วิธี การลดระดับที่ชันที่สุดจะช้าลงและติดตามรูปแบบไขว้กัน
สี่สูตรที่รู้จักกันดีที่สุดนั้นตั้งชื่อตามผู้พัฒนาสูตรเหล่านั้น:
- เฟลตเชอร์-รีฟส์: [ 1 ]
- Polak–Ribière: [ 2 ]
- Hestenes–Stiefel: [ 3 ]
- ได-หยวน: [ 4 ]
- .
สูตรเหล่านี้เทียบเท่ากันสำหรับฟังก์ชันกำลังสอง แต่สำหรับการเพิ่มประสิทธิภาพแบบไม่เชิงเส้น สูตรที่ต้องการขึ้นอยู่กับหลักการหรือความชอบ ตัวเลือกที่นิยมคือซึ่งให้การรีเซ็ตทิศทางโดยอัตโนมัติ[ 5 ]
อัลกอริทึมที่ใช้หลักการของวิธีนิวตัน มีแนวโน้ม ที่จะลู่เข้าได้เร็วกว่ามาก โดยทั้งทิศทางและความยาวของขั้นตอนจะคำนวณจากเกรเดียนต์ซึ่งเป็นผลเฉลยของระบบสมการเชิงเส้น โดยเมทริกซ์สัมประสิทธิ์จะเป็นเมทริกซ์เฮสเซียน ที่แน่นอน (สำหรับวิธีนิวตันที่แท้จริง) หรือค่าประมาณของมัน (ในวิธีควาซี-นิวตันซึ่งการเปลี่ยนแปลงที่สังเกตได้ในเกรเดียนต์ระหว่างการวนซ้ำจะถูกนำมาใช้เพื่อปรับปรุงค่าประมาณของเมทริกซ์เฮสเซียน) สำหรับปัญหาที่มีมิติสูง การคำนวณเมทริกซ์เฮสเซียนที่แน่นอนมักจะมีค่าใช้จ่ายสูงมาก และแม้แต่การจัดเก็บก็อาจเป็นปัญหา ต้องใช้หน่วยความจำ (แต่ดู วิธีควาซี-นิวตัน L-BFGS ที่ใช้หน่วยความจำจำกัด )
วิธีการไล่ระดับคอนจูเกตยังสามารถอนุมานได้โดยใช้ทฤษฎีการควบคุมที่เหมาะสม[ 6 ]ในทฤษฎีการเพิ่มประสิทธิภาพแบบเร่งนี้ วิธีการไล่ระดับคอนจูเกตจะกลายเป็นตัวควบคุมป้อนกลับที่เหมาะสม แบบไม่เชิง เส้น
สำหรับ ระบบอินทิเกร เตอร์ คู่
ปริมาณ และ เป็นค่าเกนป้อนกลับที่แปรผันได้[ 6 ]
ดูเพิ่มเติม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ วิธีการไล่ระดับคอนจูเกตแบบไม่เชิงเส้น
ในการหาค่าเหมาะสมที่สุดเชิงตัวเลขวิธีการไล่ระดับสังยุคแบบไม่เชิงเส้นเป็นการขยายวิธีการไล่ระดับสังยุคไปสู่การหาค่าเหมาะสมที่สุดแบบไม่เชิงเส้นสำหรับฟังก์ชันกำลังสองเอฟ(x){\displaysty...
ดูเพิ่มเติม
การลดระดับความชัน อัลกอริทึม Broyden–Fletcher–Goldfarb–Shanno วิธีการไล่ระดับคอนจูเกต L-BFGS (BFGS หน่วยความจำจำกัด) วิธีเนลเดอร์-มีด เงื่อนไขของวูล์ฟ ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?