ความสับสนเกี่ยวกับกฎของ Armijo


13

ฉันมีความสับสนเกี่ยวกับกฎ Armijo ที่ใช้ในการค้นหาบรรทัด ฉันอ่านการติดตามการค้นหาย้อนหลัง แต่ไม่เข้าใจว่ากฎ Armijo นี้เกี่ยวกับอะไร ทุกคนสามารถอธิบายได้ว่ากฎของ Armijo คืออะไร? วิกิพีเดียดูเหมือนจะอธิบายไม่ดี ขอบคุณ


เกิดอะไรขึ้นถ้าในสมการตัวแปร x ไม่ใช่เวกเตอร์ แต่เป็นเมทริกซ์? กฎ Armijo ควรได้รับการอัพเดตอย่างไร?
Frank Puk

ไม่มีอะไรเปลี่ยนแปลง คุณก็ควรจะปรับรูปร่างของคุณ -matrix เป็น (คอลัมน์) เวกเตอร์x_kx kXkxk
GoHokies

นั่นคือสิ่งที่ฉันติดอยู่ เมื่อกลายเป็นเมทริกซ์ค่าทางด้านซ้ายมือ ( f ( x k + α p k ) ) ยังคงเป็นสเกลาร์ แต่คุ้มค่าในด้านขวามือคือไม่ได้ - แทนมันเป็นเมทริกซ์ ( F ( x k )เป็นสเกลาร์และบีตาอัลฟ่า F ( x k ) T P kเป็นเมทริกซ์.)xkf(xk+αpk)f(xk)βαf(xk)Tpk
แฟรงก์ปึก

คุณจะต้องทำงานกับเวกเตอร์ไม่ใช่เมทริกซ์ เพื่อให้คุณปรับรูปร่างของคุณเมทริกซ์ของตัวแปรในการควบคุม (ผมเคยเขียนแทนได้โดยX k ) เป็นเวกเตอร์x kกับN 2องค์ประกอบ ทิศทางการค้นหาและการไล่ระดับสีจะเป็นเวกเตอร์ที่มีองค์ประกอบN 2 วิธีนี้ทั้ง RHS และ LHS ของเงื่อนไข Armijo เป็น scalars และสามารถเปรียบเทียบได้ N×NXkxkN2N2
GoHokies

คำตอบ:


19

เมื่อคุณได้รับทิศทางโคตรสำหรับฟังก์ชันวัตถุประสงค์f ( x ) ของคุณคุณจะต้องเลือกความยาวของขั้นตอน "ดี" คุณไม่ต้องการทำขั้นตอนที่ใหญ่เกินไปจนฟังก์ชันที่จุดใหม่ของคุณใหญ่กว่าจุดปัจจุบันของคุณ ในเวลาเดียวกันคุณไม่ต้องการทำให้ขั้นตอนเล็กเกินไปจนต้องใช้เวลานานในการรวมเข้าด้วยกันpf(x)

โดยทั่วไปสภาพของ Armijo แสดงให้เห็นว่าความยาวก้าวที่ "ดี" เป็นเช่นนั้นซึ่งคุณมี "การลดลงที่เพียงพอ" ในที่จุดใหม่ เงื่อนไขที่ระบุไว้ในทางคณิตศาสตร์เป็นF ( x k + α พีk ) F ( x k ) + บีตาα F ( x k ) T P kที่P kเป็นทิศทางเชื้อสายที่x kและบีตา( 0 , 1 ) . f

f(xk+αpk)f(xk)+βαf(xk)Tpk
pkxkβ(0,1)

สัญชาตญาณที่อยู่เบื้องหลังนี้คือค่าฟังก์ชั่นที่จุดใหม่ควรอยู่ภายใต้ลดลง "เส้นสัมผัส" ที่x kในทิศทางของP k ดูหนังสือของ Nocedal & Wright "การเพิ่มประสิทธิภาพเชิงตัวเลข" ในบทที่ 3 มีคำอธิบายแบบกราฟิกที่ยอดเยี่ยมเกี่ยวกับเงื่อนไขการลดที่เพียงพอของ armijof(xk+αpk)xkpk


1
βα

เหตุผลที่สำคัญคือทำไมขั้นตอน "ดี" จึงมีความจำเป็นคือแผนการเพิ่มประสิทธิภาพจำนวนมากจะมาบรรจบกันช้ากว่าที่เปาโลกล่าวหรืออาจไม่เข้าหากันเลย ดังนั้นการค้นหาสาย - ซึ่งมีหลายสายพันธุ์ Armijo จึงเป็นที่นิยมที่สุด - สามารถใช้เพื่อให้อัลกอริธึมมีคุณสมบัติการลู่เข้าที่แข็งแกร่งยิ่งขึ้น
cjordan1

1
Paul: คำอธิบายของคุณไม่สมบูรณ์ ความไม่เท่าเทียมนี้เพียงอย่างเดียวไม่รับประกันการลดลง 'เพียงพอ' ในความเป็นจริงคุณสามารถมีอัลฟา = 0 และยังคงตอบสนองความไม่เท่าเทียมกันที่คุณเขียน คุณลักษณะที่สำคัญคือกฎ Armijo คือการ จำกัด ขนาดขั้นตอนให้ห่างจากศูนย์ซึ่งดำเนินการโดยความไม่เท่าเทียมอื่น: f (gamma * x_new) -f (x_old)> beta * (gamma * x_new-x_old) ^ T * grad (f (x_old))

f(x)=x2xk=1pk=2αf(xk+αpk)α=1/2β>1/2f(xk+1/2pk)=0>12β=f(xk)+βαf(xk)pkβ

β>1/2β=104β

0

ห้าปีต่อมาคำถามนี้ยังใช้ได้อยู่

ที่นี่ (หน้า 16 และ 17) คุณสามารถค้นหาคำอธิบายที่ดีรวมถึงอัลกอริทึม

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