想象一个蒙着眼睛的登山者站在山坡上,任务是找到山谷的最低点。他用手杖戳一戳脚下,只能感觉到“这边更陡、那边更平”,然后沿着最陡的那条路颤颤巍巍地挪一小步,再戳再挪。这种“摸一步走一步”的笨办法,就是梯度下降——每一步只看得到脚下的一阶信息(坡度),对前方的地形一无所知。 现在换成一位戴着“曲率眼镜”的工程师:镜片不仅能显示当前坡度,还能瞬间测出脚下这方圆几步的地面是怎么弯曲的——是碗状还是马鞍形,弧线的开口朝哪。有了这段弧线,他可以直接推算谷底的位置,然后一大步跳过去。如果地形恰好是完美的抛物线山谷,他甚至只需要跳一次就精准落地。这副“曲率眼镜”的学名叫做海森矩阵(二阶导数构成的矩阵),而“看一眼弧线再起跳”的整套动作,就是牛顿法。 为什么牛顿法快如闪电?因为它的误差按平方塌缩:原来误差是 0.1,下一步变成 0.001,再下一步 0.000001——有效数字的位数翻着跟头往上涨。相比之下,梯度下降的误差只能按固定比例缓慢压缩。这篇文章会讲清楚:牛顿法到底是怎么算的、为什么能“一步顶百步”、哪些地形会让它翻车、以及镜片失灵(海森不正定)时工程师如何救场。
对 AI 从业者而言,理解牛顿法的收敛性,等于看穿了“为什么有的优化器几步就收敛、有的却在原地打转”。无论你在训练神经网络、调参校准模型,还是做高精度数值模拟,这份直觉都会帮你选对工具、少走弯路。
可视化演示
展示CPU指令执行的五个阶段:取指、译码、执行、访存、写回。点击各阶段按钮或自动播放查看指令在CPU内部的流转过程。
本节配有交互动效(进入视口后自动加载,约 3KB)。
取指阶段 IF PC寄存器值送入MAR,从内存读取指令到IR PC → MAR → MBR → IR
梯度下降为何慢
你蒙着眼睛站在山坡上,手杖只能告诉你“脚下这边斜、那边平”。你每次都朝最陡的方向挪一小步,再探、再挪。这种走法虽然永远在下降,但每一步都只用了坡度的信息(一阶导数),完全不知道前方是缓坡还是悬崖——所以你不敢迈大步,只能小碎步前进。这就是梯度下降的真实处境。
把“下山”翻译成数学语言:目标函数就是地形,梯度 $\displaystyle \nabla f(\boldsymbol{x}_k)$ 是当前脚下的坡向,迭代公式为:
其中 $\alpha$ 是步长。当最优解 $\boldsymbol{x}^*$ 附近的地形近似为抛物线时,设误差 $\displaystyle e_k = \boldsymbol{x}_k - \boldsymbol{x}^*$,并记海森矩阵的最小特征值为 $\lambda_{\min}$、最大特征值为 $\lambda_{\max}$。当步长取 $\displaystyle \alpha = \frac{2}{\lambda_{\min} + \lambda_{\max}}$ 时,误差按如下方式演化:
注意这个递推式的关键:误差每次乘以一个固定比例。就像蒙眼者的每一步只能把与谷底的距离缩小同样的倍数,如果这个比例接近 0.99(地形又长又窄,即条件数很大),走一百步也只挪动一点点,还会走出令人头疼的“之字形”。梯度下降本质上是线性收敛——误差的位数每次只能增加固定的几位。
- 写出最速下降迭代每次沿负梯度方向走一固定步长 α,这是蒙眼者“摸坡度迈一步”的数学化。
- 在最优解附近线性化把梯度在 x\* 处做一阶泰勒展开,忽略高阶项,得到误差的递推关系。
- 代入并提取误差将上式代回迭代式,两边同时减去 x\*,误差就变成一个线性递推。
- 转换到特征值坐标系海森矩阵的每个特征方向各自独立压缩,压缩比例由特征值决定。
牛顿的迭代公式
现在换装备:工程师戴上了曲率眼镜。镜片里除了坡度,还有脚下的弧线。他知道面前这段地形是向上弯的碗还是向下弯的丘,因此不再试探,而是直接计算这段弧线的顶点在哪里。一次测量,一次起跳。
这个“测量弧线”的动作在数学上叫二阶泰勒展开:在当前位置 $\boldsymbol{x}_k$ 附近,用一条抛物线去贴合真实地形。抛物线的顶点就是我们下一步要跳到的位置。
注意式子里的 $\boldsymbol{H}_k^{-1}$:海森矩阵的逆本质上是地形弯曲信息的反演。坡度(梯度)告诉你方向,而曲率(海森)告诉你前方的弧线;两者结合,才能算出“该跳多远、往哪拐”。如果目标是标准二次函数,这一次起跳就精确落到谷底——这正是动画里绿点一步到位的原理。
- 写出二阶泰勒近似在当前位置 x_k 附近,把目标函数展开到二次项,用抛物面代替真实曲面进行局部建模。
- 求近似函数的极小点对上面的近似式求梯度并令其为零,相当于找抛物面最低点的位置。
- 解出跳跃偏移量把方程整理,解出从当前位置指向抛物线顶点的偏移向量,这是曲率眼镜给出的“起跳方向与距离”。
- 合成一步迭代公式把偏移量加到当前点,完整的一次“测量—跳跃”就结束了。
二阶收敛的秘密
为什么测量一次弧线就这么厉害?秘密在于:局部弧线的信息量比坡度大得多。坡度只能告诉你“现在往下”,而弧线还告诉你“再往下坡会变陡还是变缓”。有了这个趋势,你不再按比例磨蹭,而是直接结算——误差不是被压缩,而是被平方。
二阶收敛的数学定义是:存在常数 $C > 0$,使得误差满足
假设当前误差是 $10^{-1}$(即约 1 位有效数字),梯度下降每步只能把有效数字增加固定的 1 位:$10^{-1} \to 10^{-2} \to 10^{-3}$,慢吞吞线性爬升;而牛顿法让位数翻倍:$10^{-1} \to 10^{-2} \to 10^{-4} \to 10^{-8}$,不到十步就能逼近机器精度的极限。这就是故事里“一步顶百步”的准确含义——误差的位数像滚雪球一样越滚越快。
- 记误差向量 e_k定义第 k 步迭代点与最优解之间的差距,衡量“还差多远到谷底”。
- 写出误差递推将牛顿迭代式两边减去最优解,把“跳跃”写成误差之间的递推关系。
- 对梯度做二阶展开把∇f在 x\* 处展开到二阶项,利用最优解处梯度为零的条件,误差的主要项精确抵消。
- 代入并取范数化简后右边只剩下误差平方的高阶小量,这正是二阶收敛定义的形式。
收敛的前提条件
曲率眼镜再神,也有使用前提:地形必须是碗状的。如果脚下是马鞍形、山脊或乱石堆,镜片算出的“抛物线顶点”根本不对,跳过去反而会更糟。这就引出了海森矩阵的正定性要求。
数学上,若在最优解 $\boldsymbol{x}^*$ 的某个邻域内,海森矩阵满足一致正定且有界(即强凸条件),牛顿法的收敛才有保障:
除了海森要正定,另一个隐形前提是初始点足够靠近谷底——曲率眼镜的测量只在“眼前这一小块”有效。离得太远,抛物线的近似就像用放大镜看世界地图,算出的弧线是远处某座山丘的形状,跳过去直接飞过山脊。这也是牛顿法被称为“局部收敛方法”的原因:它快,但需要你站在“碗沿以内”才敢起跳。
- 设置任意方向 y取一个任意非零向量 y,用来“探测”各个方向的曲率,就像用手指压一压各个方向的软硬。
- 下界 m 保证正定海森与 y 构成的二次型的最小值被 m>0 托底,说明任何方向的曲率都向上弯——地形是碗不是丘。
- 上界 M 保证曲率不爆炸曲率不会突然变成无穷大,局部抛物线近似的误差可控,不会“看花眼”。
- 条件数控制收敛速度把常数 C 与 M、m 的关系代入二阶收敛式,比值越大收敛常数的绝对值越大,速度就越慢。
海森不正定怎么办
如果地形是马鞍形——x 方向向上弯、y 方向向下弯——镜片测出的曲率就有正有负。此时 $\boldsymbol{H}_k$ 可能非正定,而 $\boldsymbol{H}_k^{-1}$ 给出的跃迁方向会指向错误的“谷底”(其实是一个山脊)。工程师的应急方案是:给镜片加一层柔光滤镜,让不确定的曲率信息衰减,把跳跃变成保守的小步。
这就是阻尼牛顿法(也称正则化牛顿法),核心是给海森矩阵加上一个单位阵的倍数:
这就像摄影师遇到逆光:不敢确信测光读数时,就加一层中灰滤镜再拍。滤镜越厚(λ 越大),看到的画面越“糊”,但也越不会犯错。工程上常用的 Levenberg-Marquardt 算法就是这种思路:地形平坦时调大 λ 慢慢摸,靠近谷底时调小 λ 恢复大步。
- 对海森加正则项每次迭代前检查海森的特征值,若发现负值或太接近零,就加上 λI 把特征值整体抬高。
- 正定性被修复λ 足够大时,新矩阵的所有特征值都大于零,保证“曲率眼镜”重新能看到碗状地形。
- 代入迭代公式用修正后的矩阵替换原来的海森,求出保守的、安全的跳跃方向。
- λ 控制的折中λ 很大时,修正矩阵接近单位阵的倍数,牛顿法退化成小步的梯度下降;λ 很小则恢复纯牛顿的猛冲。
失效场景分析
牛顿法并非万能。故事里最惨的一幕是:山顶上雾气太大,工程师戴着曲率眼镜却只能看清脚下三寸地,他自信地朝着“推算出的谷底”跳过去——结果那是另一座山的半山腰,从此越跳越远,最终在山谷间来回弹跳甚至飞出场外。
数学上,局部收敛的保证需要一个明确的启动半径。若初始误差 $\|\boldsymbol{e}_0\|$ 满足以下条件,迭代才会被“吸”进谷底:
其中 $L$ 是海森矩阵在邻域内的 Lipschitz 常数(衡量曲率变化有多剧烈),$m$ 是海森的最小特征值下界。
除此之外,还有两大致命伤。第一是鞍点困局:在鞍点处梯度为零,牛顿法会以为到了谷底直接停下,而实际上那是山脊上的隘口。第二是计算成本:海森矩阵需要 $O(n^2)$ 的存储,求逆需要 $O(n^3)$ 的运算,当参数维度达到百万级(比如深度神经网络),这副“精密眼镜”根本背不动。
- 引入 Lipschitz 常数 L描述“曲率的变化率”——地形是平稳过渡还是急剧起伏,L 越大表示越颠簸。
- 产生局部二次误差上界在启动邻域内,二阶泰勒近似的舍弃项可以用 L 和误差平方来界定。
- 要求近似误差压过一阶项牛顿法得以收敛的核心不等式,保证“抛物线拟合”在半径内可信。
- 反解出安全半径整理后得到一个启动条件,初始点必须落在这个半径以内。
工程中的组合战术
既然精确测量代价高、还容易翻车,聪明的登山队不会只依赖一种装备。实际下山路线往往是:刚开始雾大路远时用手杖慢探(梯度下降),等摸到碗状区域附近再换曲率眼镜精确起跳(牛顿法)。这种“先粗后精”的策略,正是现代优化库的常规操作。
在两者之间架起桥梁的是拟牛顿法:它不直接计算海森矩阵,而是用相邻两步的梯度差来倒推曲率信息。它的理论基石的“割线条件”:
其中 $\displaystyle \boldsymbol{s}_k = \boldsymbol{x}_{k+1} - \boldsymbol{x}_k$,$\displaystyle \boldsymbol{y}_k = \nabla f(\boldsymbol{x}_{k+1}) - \nabla f(\boldsymbol{x}_k)$。
故事里把“精确测量弧线”变成了“根据走过的路估趋势”:每走一步,都从历史数据里更新自己脑中的虚拟曲率眼镜。虽然镜片是近似打磨的,但胜在便宜——只要梯度能算,海森就能被一只只“攒”出来。于是,L-BFGS 成为机器学习领域解决大规模参数优化时最常用的二阶方法之一,在逻辑回归、条件随机场、机器人位姿图优化等场景中四处可见。
回到最初的登山故事:蒙眼者靠耐力,工程师靠精度,而真正的登山队两者都带。理解牛顿法,就是理解“局部曲率”这份额外信息能换来多大的速度红利,以及面对不完美地形时,如何用阻尼、线搜索、信赖域这些保险丝把危险化为可控。这不仅是数学,更是一种“用更多信息换更快收敛”的工程哲学。
- 定义位置差 s_k记录上一步实际走了多远,这是“脚移动的轨迹”。
- 定义梯度差 y_k记录上一步前后坡度的变化量,这是“地形的实际弯曲量”。
- 写出割线条件让下一轮的海森近似矩阵 B 在这组“位移—梯度差”上保持精确的线性关系。
- 叠加正定修正BFGS 等算法在满足上述条件的所有矩阵中,选一个离上一轮最近且保持正定的,兼顾效率与安全。
AI 应用场景
逻辑回归模型的高精度求解
阶段:模型训练 / 优化求解
解决的问题:当特征之间存在强相关性时,逻辑回归的损失函数变得“又长又窄”,梯度下降会走出严重的之字形,收敛极其缓慢;而牛顿法利用批量数据的二阶曲率信息,能直接沿谷底方向大步前进。配合 L-BFGS 这类拟牛顿变体,既保留二阶加速又不需要显式存储海森矩阵。
具体案例:在 scikit-learn 中训练逻辑回归时,求解器参数选择 lbfgs 就是在用“虚拟曲率眼镜”——它在中小规模特征下通常十几步就完成收敛,而纯梯度下降动辄需要几百个 epoch。广告点击率预估、信用评分卡建模中都能看到它的身影。
机器人 SLAM 中的位姿图优化
阶段:感知与定位 / 后端优化
解决的问题:机器人建图时,需要同时调整成千上万个位姿节点让误差最小。这是一个大规模非线性最小二乘问题,雅可比矩阵的结构天然稀疏,高斯-牛顿法(用 JᵀJ 近似海森)每次迭代解得又快又稳。当近似海森出现不正定时,正是借助前面讲的“阻尼”思路——加一个 λI 再求解。
具体案例:自动驾驶汽车和扫地机器人在回环检测后,用 g2o 或 Ceres 求解器进行图优化。打开 Ceres 的源码,你会发现它默认就是“先信赖域、再阻尼策略”的组合拳,每一步都在权衡“敢不敢跳”。
金融模型参数校准
阶段:模型验证 / 参数反演
解决的问题:利率模型需要根据市场报价反推隐含波动率与均值回归参数,目标函数往往光滑但非凸。直接套用纯牛顿法很容易在海森负定处翻车,实践中的标准做法就是阻尼牛顿法:先大步试,遇到异常特征值就加大 λ 转为保守更新,保证每次迭代都稳定下降。
具体案例:期权定价部门的量化研究员校准 Hull-White 模型时,内部工具通常内置了 Levenberg-Marquardt 算法。他们每天收盘后跑一轮校准,几秒钟内就能把模型参数调到与市场价格误差小于基点的水平——这正是“曲率眼镜+柔光滤镜”在金融领域的日常应用。
Python 演示
import math def f_and_derivs(x): """返回目标函数值、一阶导数和二阶导数""" fval = 0.5 * x * x g = x h = 1.0 return fval, g, h def newton_1d(x0, tol=1e-12, max_iter=100): x = x0 n = 0 for n in range(1, max_iter + 1): _, g, h = f_and_derivs(x) if abs(g) < tol: break if abs(h) < 1e-12: break x -= g / h return x, n def gradient_1d(x0, lr=0.9, tol=1e-12, max_iter=1000): x = x0 n = 0 for n in range(1, max_iter + 1): _, g, _ = f_and_derivs(x) if abs(g) < tol: break x -= lr * g return x, n def main(): start = 10.0 xn, nn = newton_1d(start) xg, ng = gradient_1d(start) print("newton_final_x = %s, steps = %d" % (xn, nn)) print("gradient_final_x = %s, steps = %d" % (xg, ng)) print("ratio_steps = %s" % (ng / float(nn))) if __name__ == "__main__": main()
_, g, h = f_and_derivs(x)一次性取出一阶导(坡度)和二阶导(曲率),牛顿法二者缺一不可。x -= g / h核心的牛顿步:当前值减去“坡度除以曲率”,这就是曲率眼镜算出的一跳。if abs(g) < tol: break收敛判据:坡度接近零时,说明已经站在谷底附近。x -= lr * g梯度下降的更新:只乘一个固定学习率,完全不使用曲率信息。ng / float(nn)计算两种方法的步数比,直观展示“一步顶十步”的差距。
常见误区
误区既然叫二阶收敛,那随便什么函数,牛顿法都应该两三步搞定。
正解二阶收敛仅仅是局部性质,它告诉我们“一旦进入最优解附近的碗状区域,速度会越来越快”。对于一般的非二次函数,前期的迭代可能很慢,甚至在区域外绕圈。真正的“一步到位”只发生在标准二次函数上——就像只有在标准抛物线山谷里,曲率眼镜才能一次算准谷底。
为何常见:教科书和演示动画都喜欢拿二次函数为例,导致初学者把“理想情况”当成了普遍承诺。
误区既然要用海森求逆、要曲率信息,那海森矩阵总该是好的(正定)吧?
正解完全不对。在非凸区域(比如神经网络损失函数的鞍点、山脊附近),海森矩阵的特征值可正可负。负特征值意味着某个方向地形向下弯曲,此时 $\boldsymbol{H}^{-1}$ 会让迭代点沿错误方向飞出去。这正是阻尼牛顿法和信赖域方法存在的意义。
为何常见:人们习惯了凸优化的教科书假设,遇到真实非凸场景时,潜意识里仍把海森当作“可靠向导”。
误区以后所有优化问题都用牛顿法,反正它收敛最快。
正解快是有代价的:海森矩阵需要 $O(n^2)$ 的存储、$O(n^3)$ 的求逆计算量。深度学习里参数动辄上亿,光存海森矩阵就已内存爆炸。而且小批量随机梯度上的二阶信息噪声巨大,海森估计极不稳定。所以实际工程中往往用 L-BFGS 这类拟牛顿法,或者让梯度下降配自适应学习率如 Adam 来打主力。
为何常见:只比较了“收敛步数”,却忽略了“单步成本”这个同样重要的维度。
误区反正牛顿法收敛快,那从任何地方出发都能快速找到最优解。
正解牛顿法是局部收敛方法,对初始点非常敏感。离谷底太远时,局部抛物线近似完全失真,跳跃可能把人送到更远的地方,形成振荡甚至发散。收敛性证明里普遍需要“初始误差小于安全半径”这类条件。实践中必须先跑一段梯度下降,或者用多起点随机初始化,摸到碗边再换牛顿法。
为何常见:可视化动画总是从较近的起点演示,让人误以为牛顿法“全局可用”。这就像看跳水运动员站在跳板上完美入水,却忘了他也是从地面爬上跳台的。
面试题
Q1. 牛顿法每一步的更新公式 $\boldsymbol{x}_{k+1}=\boldsymbol{x}_k-\boldsymbol{H}_k^{-1}\nabla f(\boldsymbol{x}_k)$ 中,海森矩阵 $\boldsymbol{H}_k$ 对应故事里的哪个角色?
- A.蒙眼者的手杖
- B.曲率眼镜,提供地形弯曲信息← 正确答案
- C.下山时的背包
- D.终点的旗帜
答案:B。海森矩阵由二阶偏导构成,刻画的是局部曲率,就像故事里能测出地面弧线的“曲率眼镜”。手杖只提供一阶的坡度(梯度),背包和旗帜都是干扰项。
Q2. 对标准二次凸函数 $f(x)=0.5x^2$,从任意非零起点 $x_0$ 出发使用精确牛顿法(不做步长缩放),通常需要几步到达最优点?
- A.1 步← 正确答案
- B.需要无限步
- C.取决于 $x_0$ 的大小
- D.根本不收敛
答案:A。二次函数本身就是抛物线,二阶泰勒展开等于原函数,一次牛顿步就能精确跳到顶点。这就像面对标准抛物线山谷,曲率眼镜一次测量就能算出谷底,与起点无关。
Q3. 关于二阶收敛关系 $\|\boldsymbol{e}_{k+1}\| \le C\|\boldsymbol{e}_k\|^2$,以下哪种说法正确?
- A.误差每一轮按固定比例缩小
- B.误差的有效数字位数大约翻倍增长← 正确答案
- C.每轮只前进一个固定距离
- D.收敛速度与海森矩阵无关
答案:B。误差被平方意味着量级从 $10^{-k}$ 变为 $10^{-2k}$,有效位数从 k 变成 2k,即翻倍。A 描述的是线性收敛的固定压缩比例,C 和 D 与二阶收敛的定义不符。
Q4. 阻尼牛顿法 $\boldsymbol{x}_{k+1}=\boldsymbol{x}_k-(\boldsymbol{H}_k+\lambda\boldsymbol{I})^{-1}\nabla f(\boldsymbol{x}_k)$ 中,增大 $\lambda$ 会产生什么效果?
- A.恢复纯牛顿方向的猛冲
- B.使 $\boldsymbol{H}_k+\lambda\boldsymbol{I}$ 更难求逆
- C.步长变小,行为更接近梯度下降← 正确答案
- D.完全消除收敛能力
答案:C。$\lambda$ 增大时,修正后的矩阵特征值整体抬高,$(\boldsymbol{H}+\lambda\boldsymbol{I})^{-1}\approx\frac{1}{\lambda}\boldsymbol{I}$,公式近似退化为沿负梯度方向的小步更新。这就是“柔光滤镜加厚,跳跃变保守”的数学表现。
Q5. 哪些情形下牛顿法可能不收敛或明显变慢?
- A.初始点离最优解太远,抛物线近似失真← 正确答案
- B.迭代点的海森矩阵出现负特征值← 正确答案
- C.目标函数在最优解附近严格凸且光滑
- D.求解牛顿方程时线性系统的数值误差过大← 正确答案
答案:ABD。A 是定理要求的启动半径被破坏;B 是海森非正定导致方向错误;D 是数值实现中的舍入误差放大。C 恰恰是牛顿法收敛的有利条件,不会导致失败。
Q6. 设目标函数在最优解 $\boldsymbol{x}^*$ 处满足 $m\boldsymbol{I}\preceq\boldsymbol{H}\preceq M\boldsymbol{I}$($m>0$),且初始点足够接近最优解。此时牛顿法的收敛阶是?
- A.线性收敛
- B.至少二阶收敛← 正确答案
- C.不保证收敛
- D.发散
答案:B。海森一致正定且有界,加上初始点在盆地区域内,满足牛顿法局部收敛定理的全部前提,误差满足 $\|\boldsymbol{e}_{k+1}\|\le C\|\boldsymbol{e}_k\|^2$,即至少二阶收敛。线性收敛是梯度下降的典型表现。
Q7. 相比梯度下降,牛顿法在收敛性上的本质优势是?
- A.使用动量缓存了历史梯度
- B.利用二阶曲率信息直接定位局部抛物线的顶点← 正确答案
- C.每次沿坐标轴依次搜索
- D.随机采样方向进行试探
答案:B。牛顿法通过海森矩阵刻画局部弯曲,求解二阶泰勒展开的极小点,误差按平方塌缩。动量是梯度下降的改进技巧,坐标下降和随机方向与牛顿法无关。
Q8. 在深度学习的百万级参数场景中,直接套用牛顿法通常遇到哪些困难?
- A.海森矩阵需 $O(n^2)$ 存储、$O(n^3)$ 求逆,成本无法接受← 正确答案
- B.非凸损失函数的海森可能不正定← 正确答案
- C.小批量采样使二阶信息噪声很大← 正确答案
- D.梯度完全无法用反向传播计算
答案:ABC。A 是规模瓶颈,B 是非凸性导致的方向错误,C 是随机性导致的估计不稳定。D 错误——反向传播计算梯度是可行的,真正困难的在于二阶信息。
Q9. 拟牛顿法(如 BFGS)中“拟”字的含义是?
- A.用相邻迭代的梯度差近似海森矩阵或其逆← 正确答案
- B.完全不计算梯度
- C.只能适用于二次函数
- D.没有任何收敛性保证
答案:A。拟牛顿法通过割线条件 $\boldsymbol{B}_{k+1}\boldsymbol{s}_k=\boldsymbol{y}_k$,用低秩修正逐步逼近真实海森,避免显式计算二阶导数。它仍然需要梯度,也适用于一般光滑函数,并有相应的收敛性理论。
Q10. 用牛顿法求解时发现迭代点处海森矩阵负定,以下哪些策略是可行的补救?
- A.加入正的正则项 $\lambda\boldsymbol{I}$,让修正矩阵正定← 正确答案
- B.改用负梯度方向的保守步长临时应急← 正确答案
- C.用信赖域方法限制每一步的跳跃半径← 正确答案
- D.无视负特征值继续大步迭代
答案:ABC。A 是阻尼牛顿法的核心思想;B 是退化为梯度下降的保守做法;C 是信赖域方法,在置信范围内用近似模型避免误跳。D 会让迭代沿错误方向飞走,在实践中必须避免。