การได้มาของ BFGS นั้นง่ายกว่าเมื่อมีการพิจารณาฟังก์ชั่นการคิดต้นทุน (อย่างเคร่งครัด):
แต่บาง
พื้นหลัง ข้อมูลเป็นสิ่งที่จำเป็น: สมมติหนึ่งต้องการที่จะลดนูนทำงาน
บอกว่ามีวิธีการแก้ปัญหาโดยประมาณx_kจากนั้นหนึ่งประมาณค่าต่ำสุดของโดยค่าต่ำสุดของการขยายเทย์เลอร์ที่ถูกตัดทอน
นั่นคือหนึ่งในรูปลักษณ์สำหรับเช่นว่ามีน้อยและชุดP การคำนวณความชันของ - "ด้วยความเคารพต่อ " - และการตั้งค่าเป็นศูนย์จะให้ความสัมพันธ์
x k f f ( x k + p ) ≈ f ( x k ) + ∇ f ( x k ) T p + 1
ฉ( x ) → ขั้นต่ำx ∈ Rn.
xkฉp ( ∗ ) x k + 1 : = x k + p ( ∗ ) p H ( x k ) [ x k + 1 - x k ] = ∇ f ( x k + 1 ) - ∇ f ( x k ) , Hฉ( xk+ p ) ≈ f( xk) + ∇ f( xk)Tp + 12พีTH( xk) P( ∗ )
พี( ∗ )xk + 1: = xk+ p( ∗ )พีH( xk) [ xk + 1- xk] = ∇ f( xk + 1) - ∇ f( xk) ,
ที่คือ 'Jacobian of the gradient' หรือเมทริกซ์ของ Hessian
H
เนื่องจากการคำนวณและการผกผันของ Hessian มีราคาแพง ...
... คำตอบสั้น ๆ
(cf. การอัปเดตของ Broyden) อาจเป็นได้ว่าการอัพเดต BFGSย่อเล็กสุด
ในเกณฑ์ Frobenius ที่ถ่วงน้ำหนักอย่างชาญฉลาด ภายใต้ ‖ H - 1 k - H - 1 ‖ WH- 1k + 1
∥ H- 1k- ช- 1∥W
- H[ xk + 1- xk] = ∇ f( xk + 1) - ∇ f( xk) - นี่คือสิ่งที่เราต้องการ - และ
- HT= Hเนื่องจาก Hessian มีความสมมาตร
ดังนั้นทางเลือกของน้ำหนักในเป็นค่าผกผันของ Hessian เฉลี่ย , cf ที่นี่สำหรับคำสั่ง แต่ไม่มีหลักฐานให้สูตรการปรับปรุง BFGS (ด้วย )W∥ H∥W: = ∥ W1 / 2HW1 / 2∥F
G : = ∫10H( xk+ τp ) dταk= 1
ประเด็นสำคัญคือ:
- หนึ่งพยายามประมาณโซลูชันสำหรับต้นทุนจริงโดยโซลูชันสำหรับการประมาณกำลังสอง
- การคำนวณของ Hessian และสิ่งที่ตรงกันข้ามมันมีราคาแพง หนึ่งคนชอบการอัพเดทง่ายๆ
- การอัปเดตจะถูกเลือกให้เหมาะสมที่สุดสำหรับการกลับด้านแทนที่จะเป็น Hessian จริง
- นั่นคือการอัปเดตอันดับ 2 เป็นผลมาจากตัวเลือกเฉพาะของน้ำหนักในบรรทัดฐาน Frobenius
คำตอบอีกต่อไปควรรวมถึงวิธีการเลือกน้ำหนักวิธีที่จะทำให้งานนี้สำหรับปัญหา nonconvex (ที่โค้งสภาพปรากฏว่าต้องมีการปรับทิศทางการค้นหา ) และวิธีการที่จะได้รับจริงสูตรสำหรับการปรับปรุง การอ้างอิงอยู่ที่นี่ (เป็นภาษาเยอรมัน)พี