Bài giảng Tối ưu hóa nâng cao: Chương 4 - Hoàng Nam Dũng

0 105 0
Bài giảng Tối ưu hóa nâng cao: Chương 4 - Hoàng Nam Dũng

Đang tải... (xem toàn văn)

Thông tin tài liệu

Bài giảng Tối ưu hóa nâng cao - Chương 4: Line search method cung cấp cho người học các kiến thức: Line search method, hướng giảm, hướng giảm nhanh/dốc nhất, hướng giảm phổ biến, lựa chọn độ dài bước,.... Mời các bạn cùng tham khảo.

Line search method Hồng Nam Dũng Khoa Tốn - Cơ - Tin học, Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội Line search method Tại bước, từ điểm xk tại, phương pháp line search tính hướng tìm kiếm (search direction) pk định tiến bao xa theo hướng Line search method Tại bước, từ điểm xk tại, phương pháp line search tính hướng tìm kiếm (search direction) pk định tiến bao xa theo hướng Cơng thức lặp để tính điểm cho xk+1 = xk + αk pk αk > gọi độ dài bước (step length) Line search method Tại bước, từ điểm xk tại, phương pháp line search tính hướng tìm kiếm (search direction) pk định tiến bao xa theo hướng Cơng thức lặp để tính điểm cho xk+1 = xk + αk pk αk > gọi độ dài bước (step length) Hiệu phương pháp phụ thuộc vào việc chọn hướng pk độ dài bước αk thích hợp Line search method Tại bước, từ điểm xk tại, phương pháp line search tính hướng tìm kiếm (search direction) pk định tiến bao xa theo hướng Cơng thức lặp để tính điểm cho xk+1 = xk + αk pk αk > gọi độ dài bước (step length) Hiệu phương pháp phụ thuộc vào việc chọn hướng pk độ dài bước αk thích hợp Hầu hết phương pháp line search đòi hỏi pk hướng giảm (descent direction) pkT ∇f (xk ) < đảm bảo giá trị hàm f giảm xuống theo hướng Hướng giảm (descent direction) Giả sử p hướng giảm, tức p T ∇f (xk ) < Hướng giảm (descent direction) Giả sử p hướng giảm, tức p T ∇f (xk ) < Theo cơng thức khai triển Taylor ta có f (xk + αp) = f (xk ) + αp T ∇f (xk ) + O(α2 ) Hướng giảm (descent direction) Giả sử p hướng giảm, tức p T ∇f (xk ) < Theo công thức khai triển Taylor ta có f (xk + αp) = f (xk ) + αp T ∇f (xk ) + O(α2 ) Suy f (xk + αp) < f (xk ) với α > đủ nhỏ Tức ta giảm giá trị hàm số f theo hướng p Hướng giảm nhanh/dốc (steepest descent direction) Hướng giảm nhanh nghiệm toán tối ưu p T ∇f (xk ), s.t p = p Hướng giảm nhanh/dốc (steepest descent direction) Hướng giảm nhanh nghiệm toán tối ưu p T ∇f (xk ), s.t p = p Gọi θ góc p ∇f (xk ) Hướng giảm nhanh/dốc (steepest descent direction) Hướng giảm nhanh nghiệm toán tối ưu p T ∇f (xk ), s.t p = p Gọi θ góc p ∇f (xk ) Ta có p T ∇f (xk ) = p ∇f (xk ) cos θ = ∇f (xk ) cos θ, Hướng giảm nhanh/dốc (steepest descent direction) Hướng giảm nhanh nghiệm toán tối ưu p T ∇f (xk ), s.t p = p Gọi θ góc p ∇f (xk ) Ta có p T ∇f (xk ) = p ∇f (xk ) cos θ = ∇f (xk ) cos θ, tức đạt giá trị bé cos θ = −1 hay ∇f (xk ) p=− ∇f (xk ) Hướng giảm nhanh/dốc (steepest descent direction) Hướng giảm nhanh nghiệm toán tối ưu p T ∇f (xk ), s.t p = p Gọi θ góc p ∇f (xk ) Ta có p T ∇f (xk ) = p ∇f (xk ) cos θ = ∇f (xk ) cos θ, tức đạt giá trị bé cos θ = −1 hay ∇f (xk ) p=− ∇f (xk ) Phương pháp line search với pk = −∇f (xk ) gọi steepest descent method hay gradient descent method Hướng giảm phổ biến Ta thường chọn hướng giảm có dạng pk = −Bk1 ∇f (xk ) Bk ma trận đối xứng không suy biến Hướng giảm phổ biến Ta thường chọn hướng giảm có dạng pk = −Bk1 ∇f (xk ) Bk ma trận đối xứng không suy biến Phương pháp gradient descent: Bk = I Phương pháp Newton: Bk = ∇2 f (xk ) Phương pháp tựa Newton: Bk xấp xỉ ma trận Hessian ∇2 f (xk ) Hướng giảm phổ biến Ta thường chọn hướng giảm có dạng pk = −Bk1 ∇f (xk ) Bk ma trận đối xứng không suy biến Phương pháp gradient descent: Bk = I Phương pháp Newton: Bk = ∇2 f (xk ) Phương pháp tựa Newton: Bk xấp xỉ ma trận Hessian ∇2 f (xk ) Phần tìm hiểu xem chọn hướng độ dài bước để thuật toán hội tụ Lựa chọn độ dài bước Ta phải cân nhắc lựa chọn hai yếu tố Tìm αk để cải thiện đáng kể giá trị hàm mục tiêu Đồng thời không nhiều thời gian Lựa chọn độ dài bước Ta phải cân nhắc lựa chọn hai yếu tố Tìm αk để cải thiện đáng kể giá trị hàm mục tiêu Đồng thời không nhiều thời gian Lý tưởng αk nghiệm tốn tối ưu φ(α) = f (xk + αpk ), α > Lựa chọn độ dài bước Ta phải cân nhắc lựa chọn hai yếu tố Tìm αk để cải thiện đáng kể giá trị hàm mục tiêu Đồng thời không nhiều thời gian Lý tưởng αk nghiệm tốn tối ưu φ(α) = f (xk + αpk ), α > Tuy nhiên q tốn (ví dụ xem hình vẽ) Lựa chọn độ dài bước Để tìm cực tiểu địa phương với độ xác vừa phải ta phải tính nhiều lần hàm mục tiêu f gradient ∇f Lựa chọn độ dài bước Để tìm cực tiểu địa phương với độ xác vừa phải ta phải tính nhiều lần hàm mục tiêu f gradient ∇f Chiến lược thực tế tìm độ dài bước đủ tốt theo nghĩa hàm mục tiêu phải giảm đủ nhiều Lựa chọn độ dài bước Để tìm cực tiểu địa phương với độ xác vừa phải ta phải tính nhiều lần hàm mục tiêu f gradient ∇f Chiến lược thực tế tìm độ dài bước đủ tốt theo nghĩa hàm mục tiêu phải giảm đủ nhiều Yêu cầu giảm f (xk + αk pk ) < f (xk ) chưa đủ Lựa chọn độ dài bước Để tìm cực tiểu địa phương với độ xác vừa phải ta phải tính nhiều lần hàm mục tiêu f gradient ∇f Chiến lược thực tế tìm độ dài bước đủ tốt theo nghĩa hàm mục tiêu phải giảm đủ nhiều Yêu cầu giảm f (xk + αk pk ) < f (xk ) chưa đủ Ví dụ: Giá trị tối ưu f ∗ = −1 chuỗi xk với f (xk ) = k5 hội tụ đến Các điều kiện Wolfe Điều kiện 1: hàm mục tiêu phải giảm đủ nhiều f (xk + αk pk ) ≤ f (xk ) + c1 αk ∇fkT pk , với c1 ∈ (0, 1) Các điều kiện Wolfe Điều kiện 1: hàm mục tiêu phải giảm đủ nhiều f (xk + αk pk ) ≤ f (xk ) + c1 αk ∇fkT pk , với c1 ∈ (0, 1) Lưu ý pk hướng giảm, ∇fkT pk < Các điều kiện Wolfe Điều kiện 1: hàm mục tiêu phải giảm đủ nhiều f (xk + αk pk ) ≤ f (xk ) + c1 αk ∇fkT pk , với c1 ∈ (0, 1) Lưu ý pk hướng giảm, ∇fkT pk < Độ giảm f tỉ lệ với độ dài bước αk ∇fkT pk Các điều kiện Wolfe Điều kiện 1: hàm mục tiêu phải giảm đủ nhiều f (xk + αk pk ) ≤ f (xk ) + c1 αk ∇fkT pk , với c1 ∈ (0, 1) Lưu ý pk hướng giảm, ∇fkT pk < Độ giảm f tỉ lệ với độ dài bước αk ∇fkT pk Trong thực tế c1 chọn nhỏ, ví dụ c1 = 10−4 Điều kiện Wolfe - minh họa điều kiện l(α) := f (xk ) + c1 α∇fkT pk (là đường thẳng có hệ số góc âm) Hình 1: Điều kiện giảm đủ Điều kiện Wolfe Hình cho thấy Điều kiện thỏa mãn với α đủ nhỏ Điều kiện Wolfe Hình cho thấy Điều kiện thỏa mãn với α đủ nhỏ Để loại trừ bước ngắn ta đòi hòi thêm Điều kiện (curvature condition) ∇f (xk + αk pk )T pk ≥ c2 ∇fkT pk với c2 ∈ (c1 , 1) Điều kiện Wolfe Hình cho thấy Điều kiện thỏa mãn với α đủ nhỏ Để loại trừ bước ngắn ta đòi hòi thêm Điều kiện (curvature condition) ∇f (xk + αk pk )T pk ≥ c2 ∇fkT pk với c2 ∈ (c1 , 1) Lưu ý vế trái φ (αk ) Điều kiện Wolfe Hình cho thấy Điều kiện thỏa mãn với α đủ nhỏ Để loại trừ bước ngắn ta đòi hòi thêm Điều kiện (curvature condition) ∇f (xk + αk pk )T pk ≥ c2 ∇fkT pk với c2 ∈ (c1 , 1) Lưu ý vế trái φ (αk ) Điều kiện đòi hỏi độ dốc φ αk lớn c2 lần độ dốc ban đầu φ (0) Điều kiện Wolfe Hình cho thấy Điều kiện thỏa mãn với α đủ nhỏ Để loại trừ bước ngắn ta đòi hòi thêm Điều kiện (curvature condition) ∇f (xk + αk pk )T pk ≥ c2 ∇fkT pk với c2 ∈ (c1 , 1) Lưu ý vế trái φ (αk ) Điều kiện đòi hỏi độ dốc φ αk lớn c2 lần độ dốc ban đầu φ (0) Trong thực tế ta chọn c2 = 0.9 với thuật toán Newton, tựa Newton c2 = 0.1 với thuật toán conjugate gradient Diễn giải điều kiện φ (αk ) = ∇f (xk + αk pk )T pk ≥ c2 ∇fkT pk = c2 φ (0) Lưu ý φ (0) < < c2 < 10 Diễn giải điều kiện φ (αk ) = ∇f (xk + αk pk )T pk ≥ c2 ∇fkT pk = c2 φ (0) Lưu ý φ (0) < < c2 < Như để thỏa mãn điều kiện αk khơng q gần Đồng thời điều kiện loại α có độ dốc đủ lớn φ (α) Điều hợp lí dấu hiệu ta tiếp tục xa theo hướng pk 10 Minh họa điều kiện Hình 2: Độ dài bước thỏa mãn điều kiện 11 Minh họa điều kiện Wolfe Điều kiện Wolfe f (xk + αk pk ) ≤ f (xk ) + c1 αk ∇fkT pk , ∇f (xk + αk pk )T pk ≥ c2 ∇fkT pk với < c1 < c2 < Hình 3: Độ dài bước thỏa mãn hai điều kiện Wolfe 12 Điều kiện Wolfe mạnh Hình cho thấy có độ dài bước thỏa mãn điều kiện Wolfe khơng đủ gần cực tiểu 13 Điều kiện Wolfe mạnh Hình cho thấy có độ dài bước thỏa mãn điều kiện Wolfe khơng đủ gần cực tiểu Ta điều chỉnh điều kiện để ép αk nằm lân cận cực tiểu địa phương 13 Điều kiện Wolfe mạnh Hình cho thấy có độ dài bước thỏa mãn điều kiện Wolfe khơng đủ gần cực tiểu Ta điều chỉnh điều kiện để ép αk nằm lân cận cực tiểu địa phương Điều kiện Wolfe mạnh: f (xk + αk pk ) ≤ f (xk ) + c1 αk ∇fkT pk , |∇f (xk + αk pk )T pk | ≤ c2 ∇|fkT pk | với < c1 < c2 < 13 Sự tồn độ dài bước thỏa mãn điều kiện Wolfe Bổ đề Cho f : Rn → R khả vi liên tục, pk hướng giảm xk giả sử f bị chặn dọc theo tia {xk + αk | α > 0} Nếu < c1 < c2 < tồn độ dài bước thỏa mãn điều kiện Wolfe điều kiện Wolfe mạnh Chứng minh Xem chứng minh Bổ đề 3.1, sách Nocedal 14 Điều kiện Goldstein Với < c < 12 , điều kiện Goldstein đòi hỏi αk thỏa mãn f (xk ) + (1 − c)αk ∇fkT pk ≤ f (xk + αk pk ) ≤ f (xk ) + cαk ∇fkT pk Về ý nghĩa nhận xét xem trang 36 sách Nocedal 15 Backtracking line search Phương pháp backtracking tìm độ dài bước thỏa mãn điều kiện Wolfe thứ theo cách thích hợp (mà khơng cần đòi hỏi điều kiện 2) 16 Backtracking line search Phương pháp backtracking tìm độ dài bước thỏa mãn điều kiện Wolfe thứ theo cách thích hợp (mà khơng cần đòi hỏi điều kiện 2) Algorithm Backtracking line search 1: Chọn α ¯ > 0, ρ ∈ (0, 1), c ∈ (0, 1) 2: Lấy α := α ¯ 3: while f (xk + αk pk ) > f (xk ) + cαk ∇fkT pk 4: α := ρα 5: end while 6: αk := α Nhận xét: Sau số bước α đủ nhỏ để thỏa mãn điều kiện 16 Minh hoạ backtracking line search 17 Minh hoạ backtracking line search α ¯ 17 Minh hoạ backtracking line search ρ¯ α α ¯ 17 Minh hoạ backtracking line search ρ2 α ¯ ρ¯ α α ¯ 17 Chọn tham số cho backtracking line search Chọn α ¯: α ¯ = với phương pháp Newton hay tựa Newton Có giá trị khác với thuật tốn gradient 18 Chọn tham số cho backtracking line search Chọn α ¯: α ¯ = với phương pháp Newton hay tựa Newton Có giá trị khác với thuật tốn gradient ρ chọn khác bước lặp phương pháp line search 18 Các phương pháp chọn độ dài bước Đọc thêm mục 3.5 sách Nocedal (quan trọng không đủ thời gian để trình bày lớp) 19 Sự hội tụ phương pháp line search tốc độ hội tụ Mục 3.2 sách Nocedal chứng minh hội tụ phương pháp line search độ dài bước thỏa mãn điều kiện Wolfe 20 Sự hội tụ phương pháp line search tốc độ hội tụ Mục 3.2 sách Nocedal chứng minh hội tụ phương pháp line search độ dài bước thỏa mãn điều kiện Wolfe Ta chứng minh công thức tốc độ hội tụ xét thuật toán Gradient descent Newton Tựa Newton 20 ... direction) Hướng giảm nhanh nghiệm toán tối ưu p T ∇f (xk ), s.t p = p Hướng giảm nhanh/dốc (steepest descent direction) Hướng giảm nhanh nghiệm toán tối ưu p T ∇f (xk ), s.t p = p Gọi θ góc p... toán tối ưu p T ∇f (xk ), s.t p = p Gọi θ góc p ∇f (xk ) Ta có p T ∇f (xk ) = p ∇f (xk ) cos θ = ∇f (xk ) cos θ, Hướng giảm nhanh/dốc (steepest descent direction) Hướng giảm nhanh nghiệm toán tối. .. αk ∇fkT pk , với c1 ∈ (0, 1) Lưu ý pk hướng giảm, ∇fkT pk < Độ giảm f tỉ lệ với độ dài bước αk ∇fkT pk Trong thực tế c1 chọn nhỏ, ví dụ c1 = 10 4 Điều kiện Wolfe - minh họa điều kiện l(α) :=

Ngày đăng: 16/05/2020, 01:53

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan