Dogleg 信赖域演示 · Rosenbrock 山谷
代价函数 f(x,y) = (1−x)² + 20(y−x²)² —— 弯曲狭长山谷,最小值在 (1, 1)
当前迭代
位置 (x, y)—
代价 f—
梯度模 ‖g‖—
信赖域半径 r—
‖Δ 高斯牛顿‖—
‖Δ 最速下降‖—
实际步长 ‖Δ‖—
走哪条分支—
预测下降—
实际下降—
质量比 ρ = 实际/预测—
判定—
高斯牛顿步 Δgn(用曲率,方向准)
最速下降步 Δsd(只用梯度,保守)
Dogleg 折线:起点 → Δsd → Δgn
信赖域圆(半径 r)
当前位置 最优点 (1,1)
建议按这个顺序玩:
- 先拖动半径滑块(不要点单步):看折线怎么被信赖域圆截断。
半径很小 → 走纯梯度方向(绿);半径很大 → 直接走高斯牛顿步(蓝);中间 → 落在橙色折线上。
- 再点「单步」几次:看每一步的 ρ(质量比)。ρ≈1 说明二次模型预测得准。
- 一直点下去:会遇到 ρ < 0 的步(红色拒绝)——高斯牛顿步跨过弯曲山谷冲到对面,代价反而上升,于是回滚、半径减半。
这就是动态半径的核心:步子迈大了就缩,走得好就放大。
- 看下方曲线:橙线是半径的演化,点的颜色是 ρ(绿=准/红=差)。