Nhầm lẫn về quy tắc Armijo


13

Tôi có sự nhầm lẫn này về quy tắc Armijo được sử dụng trong tìm kiếm dòng. Tôi đã đọc lại tìm kiếm dòng theo dõi nhưng không hiểu quy tắc Armijo này là gì. Bất cứ ai cũng có thể xây dựng quy tắc Armijo là gì? Các wikipedia dường như không giải thích tốt. Cảm ơn


Điều gì xảy ra nếu trong phương trình biến x không phải là vectơ mà là ma trận? Nên cập nhật quy tắc Armijo như thế nào?
Frank Puk

không có gì thay đổi. bạn chỉ cần định hình lại -matrix của bạn thành một vectơ (cột) . Xkxk
GoHokies

Đó là nơi tôi bị mắc kẹt. Khi trở thành ma trận, giá trị ở phía bên trái ( ) vẫn là một vô hướng. Nhưng giá trị ở phía bên tay phải không phải - thay vào đó, đó là một ma trận ( là một vô hướng và là một ma trận.)xkf(xk+αpk)f(xk)βαf(xk)Tpk
Frank Puk

bạn sẽ cần phải làm việc với một vectơ, không phải ma trận. do đó, bạn định hình lại ma trận của các biến điều khiển (tôi đã ký hiệu nó bằng ) thành một vectơ với phần tử. Hướng tìm kiếm và độ dốc cũng sẽ là các vectơ có phần tử. bằng cách này, cả RHS và LHS của điều kiện Armijo đều là vô hướng và có thể so sánh được. N×NXkxkN2N2
GoHokies

Câu trả lời:


19

Khi bạn có được hướng gốc cho hàm mục tiêu f ( x ) , bạn cần chọn độ dài bước "tốt". Bạn không muốn thực hiện một bước quá lớn để chức năng tại điểm mới của bạn lớn hơn điểm hiện tại của bạn. Đồng thời, bạn không muốn làm cho bước của mình quá nhỏ để mất thời gian để hội tụ.pf(x)

Điều kiện của Armijo về cơ bản gợi ý rằng độ dài bước "tốt" là như vậy bạn có "giảm đủ" trong tại điểm mới của bạn. Tình trạng này có toán học tuyên bố như f ( x k + α p k ) f ( x k ) + beta α f ( x k ) T p k nơi p k là một hướng gốc tại x kbeta ( 0 , 1 ) . f

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

Trực giác đằng sau điều này là giá trị hàm tại điểm mới phải nằm dưới "đường tiếp tuyến" giảm tại x k theo hướng p k . Xem cuốn sách "Tối ưu hóa số" của Nocedal & Wright. Trong chương 3, có một mô tả đồ họa tuyệt vời về tình trạng giảm đủ của armijo.f(xk+αpk)xkpk


1
Thay vì nghĩ về nó như một đường tiếp tuyến, bạn cũng có thể nghĩ về nó như là bản mở rộng đầu tiên của Taylor. Trong trường hợp này chỉ đảm bảo rằng đó là một bước kích thước α tồn tại. βα
cjordan1

Lý do điều này hoàn toàn quan trọng, tức là tại sao một bước "tốt" là cần thiết, là vì nhiều sơ đồ tối ưu hóa sẽ hội tụ chậm hơn, như Paul nói, hoặc có thể không hội tụ chút nào. Vì vậy, tìm kiếm dòng - có nhiều loại, Armijo là phổ biến nhất - có thể được sử dụng để cung cấp cho các thuật toán các thuộc tính hội tụ mạnh mẽ hơn.
cjordan1

1
Paul: lời giải thích của bạn không đầy đủ. Chỉ riêng sự bất bình đẳng này không đảm bảo mức giảm 'đủ'. Trên thực tế, bạn có thể có alpha = 0 và vẫn thỏa mãn bất đẳng thức mà bạn đã viết. Một tính năng quan trọng là quy tắc Armijo là giới hạn kích thước bước đi từ 0, được thực hiện bởi một bất đẳng thức khác: 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

Năm năm sau, câu hỏi này vẫn còn hiệu lực.

Tại đây (trang 16 và 17) bạn có thể tìm thấy một lời giải thích tuyệt vời, bao gồm cả Thuật toán.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.