Add a trust-region Newton optimizer
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 15/100
Hướng nghiên cứu
Start from make_lbfgs, which the issue names as the interface to match: an objective over rvars, a vector of variables, and step(). Then read how autodiff_reverse supplies exact derivatives, since the Hessian comes from it. The issue leaves the design open (dogleg versus Steihaug–CG, and the trust-region update rule), so agree on a plan with maintainers first. Done means a step()-based optimizer that handles indefinite Hessians and reaches f − f* ≤ 1e-6 on 2-D Rosenbrock in fewer calls than L-BFGS.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
The gradient-based optimizers (make_gradient_descent, make_nag, make_lbfgs) are all first-order or quasi-Newton. A trust-region Newton method would use the exact Hessian, which autodiff_reverse can already supply, and converge quadratically near a minimum.
- Dogleg for small n, Steihaug–CG (Hessian–vector products only) for large n.
- A trust region rather than a line search, so indefinite Hessians (saddles, as on Styblinski–Tang or Himmelblau) are handled.
- Same interface as
make_lbfgs: an objective onrvars and a vector of variables, withstep().
On Rosenbrock in 2-D, L-BFGS needs ~100–150 objective calls to reach f − f* ≤ 1e-6; this is the case where exact curvature should pay off.
- Ngôn ngữ chính
- C++
- Star
- 377
- Fork
- 269
- Merge trung bình
- 12 giờ 31 phút
- Pull request đã merge (30 ngày)
- 66
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của boostorg/math
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 12/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Reverse-mode autodiff: order-2 tape slows order-1 gradients, rewound tapes keep allocating blocks, rvar copies silently share a nodeCó thể đã có người làm @NAThompson đã nhận hôm nay. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 20/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Feature WishlistĐang mởenhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
boostorg/math#303 · 19 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của boostorg/math
Issue tương tự
-
`BLMPOP` with COUNT 0 or numkeys 0 hangsCó thể đã có người làm @ggyuchive đã nhận hôm nay. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
needs triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
gObjectFullbrightAlphaMaskProgram in newview/llviewershadermgr.cpp is defined but never initializedĐang mởbug triage
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
secondlife/viewer#6620 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug core p3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
RunanywhereAI/runanywhere-sdks#1258 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
ripwire-router skill: stale language list (15 vs 26 supported; Elixir/PHP/Kotlin wrongly listed as unsupported)Có thể đã có người làm @joyful-ii-V-I đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
redhat-et/ripwire#521 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày