โคตรลาดและโคตรลาดคอนจูเกต


11

สำหรับโครงการฉันต้องใช้สองวิธีนี้และเปรียบเทียบวิธีที่พวกเขาทำงานกับฟังก์ชั่นที่แตกต่างกัน

ดูเหมือนว่าวิธีการไล่ระดับสีแบบคอนจูเกตนั้นหมายถึงการแก้ระบบสมการเชิงเส้นของ

Ax=b

โดยที่Aคือเมทริกซ์แบบ n - by - n ที่สมมาตร, บวกแน่นอนและเป็นจริง

ในทางกลับกันเมื่อฉันอ่านเกี่ยวกับการไล่ระดับสีฉันเห็นตัวอย่างของฟังก์ชัน Rosenbrockซึ่งก็คือ

f(x1,x2)=(1x1)2+100(x2x12)2

อย่างที่ฉันเห็นฉันไม่สามารถแก้ปัญหานี้ด้วยวิธีการไล่ระดับสีแบบคอนจูเกต หรือฉันจะพลาดบางสิ่งบางอย่าง?

คำตอบ:


14

เชื้อสาย Gradiant และวิธีการไล่ระดับสีแบบคอนจูเกตเป็นทั้งอัลกอริทึมสำหรับการลดฟังก์ชั่นที่ไม่เป็นเชิงเส้นนั่นคือฟังก์ชันเช่นฟังก์ชัน Rosenbrock

f(x1,x2)=(1x1)2+100(x2x12)2

หรือฟังก์ชันกำลังสองหลายตัวแปร (ในกรณีนี้ที่มีคำกำลังสองสมมาตร)

f(x)=12xTATAxbTAx.

อัลกอริธึมทั้งสองยังซ้ำและค้นหาตามทิศทาง สำหรับส่วนที่เหลือของโพสต์นี้และdจะเป็นเวกเตอร์ของความยาวn ; f ( x )และαเป็นสเกลาร์และตัวยกแสดงถึงดัชนีการวนซ้ำ เชื้อสายการไล่ระดับสีและวิธีการไล่ระดับสีแบบคอนจูเกตสามารถใช้เพื่อค้นหาค่าx ที่แก้xdnf(x)αx

minf(x)

ทั้งสองวิธีเริ่มต้นจากการเดาเริ่มต้นแล้วคำนวณการวนซ้ำถัดไปโดยใช้ฟังก์ชั่นของแบบฟอร์มx0

xi+1=xi+αidi.

ในคำที่คุ้มค่าต่อไปของถูกพบโดยเริ่มต้นที่ตำแหน่งปัจจุบันและไปในทิศทางค้นหาสำหรับบางระยะฉัน ในทั้งสองวิธีระยะทางที่จะย้ายอาจพบได้โดยการค้นหาบรรทัด (ย่อมากกว่า ) อาจใช้เกณฑ์อื่น ๆ ด้วย ที่ทั้งสองวิธีการที่แตกต่างกันอยู่ในทางเลือกของฉัน สำหรับวิธีการไล่ระดับสีi) สำหรับวิธีการไล่ระดับสีแบบคอนจูเกตกระบวนการ Grahm-Schmidt ใช้ในการจัดมุมเวกเตอร์เกรน โดยเฉพาะแต่แล้วจะเท่ากันx i d ฉันα i f ( x i + α i d i ) α i d i d i = - f ( x i ) d 0 = - f ( x 0 ) d 1 - f ( x 1 ) d 0 ( d 1 ) T d 0 = 0xxidiαif(xi+αidi)αididi=f(xi)d0=f(x0)d1f(x1)ลบฉายของเวกเตอร์ที่เข้าสู่เช่นว่า0 เวกเตอร์การไล่ระดับสีที่ตามมาแต่ละครั้งจะถูกจัดฉากกับมุมก่อนหน้าทั้งหมดซึ่งนำไปสู่คุณสมบัติที่ดีมากสำหรับฟังก์ชันกำลังสองข้างต้นd0(d1)Td0=0

ดังกล่าวข้างต้นฟังก์ชันกำลังสอง (และสูตรที่เกี่ยวข้อง) ยังเป็นที่ที่การอภิปรายของการแก้โดยใช้วิธีการไล่ระดับสีผันมาจากตั้งแต่ขั้นต่ำว่าจะประสบความสำเร็จที่จุดที่bf ( x ) x A x = bAx=bf(x)xAx=b


9

ในบริบทนี้ทั้งสองวิธีสามารถถูกมองว่าเป็นปัญหาการย่อขนาดของฟังก์ชัน: เมื่อสมมาตรแล้วจะลดลงเมื่อ{ข}AϕAx=b

ϕ(x)=12xTAxxTb
AϕAx=b

การไล่ระดับสีแบบไล่ระดับเป็นวิธีการที่ใช้ในการค้นหา minimizer แบบวนซ้ำโดยดูในทิศทางการไล่ระดับสี Conjugate gradient นั้นคล้ายกัน แต่ทิศทางการค้นหานั้นจำเป็นต้องตั้งฉากซึ่งกันและกันในแง่ที่ .piTApj=0i,j

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.