Khi có sẵn Jacobian phân tích, tốt hơn là ước chừng Hessian của , hoặc bởi sự khác biệt hữu hạn của Jacobian?


19

Giả sử tôi đang tính toán một số tham số mô hình để giảm thiểu tổng bình phương còn lại và tôi cho rằng lỗi của mình là Gaussian. Mô hình của tôi tạo ra các dẫn xuất phân tích, vì vậy trình tối ưu hóa không cần sử dụng các khác biệt hữu hạn. Khi sự phù hợp hoàn tất, tôi muốn tính toán các lỗi tiêu chuẩn của các tham số được trang bị.

Nói chung, trong tình huống này, Hessian của hàm lỗi được coi là có liên quan đến ma trận hiệp phương sai bởi: trong đó là phương sai của phần dư.σ 2

σ2H1=C
σ2

Khi không có dẫn xuất phân tích về lỗi, việc tính toán Hessian là không thực tế, do đó, được coi là một xấp xỉ tốt.JTJ

Tuy nhiên, trong trường hợp của tôi, tôi đã có một J phân tích, do đó, nó tương đối rẻ đối với tôi để tính H bằng cách phân biệt hữu hạn J.

Vì vậy, câu hỏi của tôi là: Sẽ chính xác hơn khi ước tính H bằng cách sử dụng J chính xác của tôi và áp dụng xấp xỉ trên, hoặc để xấp xỉ H bằng cách phân biệt hữu hạn J?

Câu trả lời:


12

Câu hỏi hay. Đầu tiên, hãy nhớ lại nơi gần đúng này đến từ đâu. Đặt là các điểm dữ liệu của bạn, là mô hình của bạn và là các tham số của mô hình của bạn. Khi đó, hàm mục tiêu của bài toán bình phương tối thiểu phi tuyến tính là trong đó là vectơ của phần dư, . Hessian chính xác của hàm mục tiêu là . Vì vậy, lỗi trong phép tính gần đúng này là( x i , y i ) f ( ) beta 1HJTJ(xi,yi)f()βrri=yi-f(xi,β)H=JTJ+ri2riH-JTJ=ri2ri12rTrrri=yif(xi,β)H=JTJ+ri2riHJTJ=ri2ri. Đó là một xấp xỉ tốt khi phần dư, bản thân chúng là nhỏ; hoặc khi đạo hàm bậc 2 của phần dư nhỏ. Bình phương tối thiểu tuyến tính có thể được coi là một trường hợp đặc biệt trong đó đạo hàm bậc 2 của phần dư bằng không.

Đối với xấp xỉ sai phân hữu hạn, nó tương đối rẻ. Để tính toán một sai số trung tâm, bạn sẽ cần phải đánh giá Jacobian thêm lần (một sự khác biệt về phía trước sẽ chi phí bạn đánh giá bổ sung, vì vậy tôi sẽ không làm phiền). Lỗi của xấp xỉ chênh lệch trung tâm tỷ lệ thuận với và , trong đó là kích thước bước. Kích thước bước tối ưu là , trong đón 4 r h 2 h h ~ ε 12nn4rh2h εhϵ13ϵlà độ chính xác của máy. Vì vậy, trừ khi các dẫn xuất của phần dư đang nổ tung, khá rõ ràng rằng xấp xỉ sai phân hữu hạn sẽ tốt hơn rất nhiều. Tôi nên chỉ ra rằng, trong khi tính toán là tối thiểu, thì việc ghi sổ là không cần thiết. Mỗi khác biệt hữu hạn trên Jacobian sẽ cung cấp cho bạn một hàng Hessian cho mỗi phần dư. Sau đó, bạn sẽ phải lắp ráp lại Hessian bằng công thức trên.

Tuy nhiên, có một lựa chọn thứ 3. Nếu bộ giải của bạn sử dụng phương pháp Quasi-Newton (DFP, BFGS, Bryoden, v.v.), thì nó đã gần đúng với Hessian ở mỗi lần lặp. Phép tính gần đúng có thể khá tốt, vì nó sử dụng hàm mục tiêu và giá trị độ dốc từ mỗi lần lặp. Hầu hết các nhà giải quyết sẽ cung cấp cho bạn quyền truy cập vào ước tính Hessian cuối cùng (hoặc nghịch đảo của nó). Nếu đó là một lựa chọn cho bạn, tôi sẽ sử dụng nó như ước tính của Hessian. Nó đã được tính toán và có lẽ nó sẽ là một ước tính khá tốt.


Phản ứng tuyệt vời, cảm ơn bạn. Việc chứng minh nó bằng một so sánh về lỗi ước tính trong từng trường hợp là rất sáng tỏ. Tôi có thể hỏi làm thế nào bạn biết rằng là bước tối ưu cho sự khác biệt hữu hạn? Tôi chưa bao giờ thấy điều đó trước đây. ϵ1/3
Colin K

5
hhϵ f ( x )h2f(x) hh~ε1ϵf(x)hhhϵ13

3
Điều này chỉ giữ cho sự khác biệt trung tâm. Đối với sự khác biệt về phía trước, kích thước bước tối ưu là . Có những thủ thuật khác. Ví dụ, đảm bảo bạn thực sự biết là gì . Tôi biết điều này nghe có vẻ ngớ ngẩn, nhưng những điều kỳ lạ có thể xảy ra trong số học dấu phẩy động. Đây là một cách đơn giản để đảm bảo bạn có giá trị chính xác của : . Về mặt toán học, tất nhiên, . Nhưng nếu bạn sử dụng các giá trị không thể được biểu diễn chính xác trong dấu phẩy động (như ), bạn sẽ thấy đó không phải là trường hợp. hhhactual=hdesiredh=0,0001hϵ12hhh_actual = (x + h_desired) - xhactual=hdesiredh=0.0001
Bill Woessner

Có lẽ nội dung này có thể được thêm vào câu trả lời của bạn, thay vì các bình luận. Bằng cách đó, người dùng trong tương lai không phải lội qua phần bình luận mở rộng để tìm tài liệu trực tiếp đưa ra các yêu cầu đưa ra trong câu trả lời.
Sycorax nói Phục hồi Monica

2
Ôi Chúa ơi. Một xấp xỉ Quasi-Newton của Hessian có thể là một ước tính khủng khiếp của Hessian, và do đó dẫn đến một ước tính rất kém về ma trận hiệp phương sai. Nó có thể phục vụ tốt để tạo điều kiện cho sự phát triển của thuật toán đến mức tối ưu, nhưng có thể khá kém theo ước tính của Hessian.
Mark L. Stone
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.