Ran Wei/数学系列
English
计算机科学与人工智能的数学基础 — Ran Wei

凸性、梯度方法与无约束优化

按明确假设证明凸性与下降,分析二次特征模态和条件,区分梯度、牛顿、坐标更新与不可靠停止启发式。

12 小时4 个时段3 个实验12 道练习与 2 道拓展10 道自测题

完成后你能够

  • 区分取得极小、下确界、局部全局及域边界。
  • 证明平方范数凸与有限Jensen,写光滑一二阶判据。
  • 分类驻点并解释凸与强凸增加什么。
  • 推Lipschitz梯度下降界、实现保障回溯。
  • 证明二次模态步长区间、解释条件与坐标尺度。
  • 解牛顿系统、比较坐标更新、诊断奇异曲率及假停止。

开始之前

模块 13:对称特征模态与正定曲率;模块 18:列梯度、Hessian与正确目标尺度。下降证明用模块 16 中值定理,不隐含额外积分先修。

目录

学习计划

12 小时

时间包含练习,是估计值;可按需要拆分时段。可选拓展练习额外需要 35 分钟。进度保存在当前浏览器,中英文版本共享。

1

优化主张需要目标与假设

梯度给局部敏感性,优化器据此寻较小目标。是否下降、收敛、留在域内、达到全局极小,还需额外假设。本课证明凸与下降,精确分析二次特征模态,对照数值训练中可能出现的停止和牛顿失败。

检索检查:用模块13对称模态、正定二次型与模块18列梯度、Hessian、损失归约。下降证明只用模块16中值定理,无隐藏积分先修。实验用课程固定NumPy基线。

2

目标、定义域、下确界与取得极小

问题指定目标f、可行域D,最小化D内f。无约束常为全Rⁿ或对数正输入等自然开域,不表示允许域外评价。全局极小x须属于D且对所有可行x有f(x)≤f(x)。下确界是目标值最大下界,未必被任何点取得,逼近该界的算法不自动产生取得点。

(0,1)上f=x下确界零但无极小点,实线exp下确界零只在x→−∞逼近;小梯度或长轨迹不能修复。−x²全实域无有限下界。非空紧致域上连续目标由最值定理取得极小,域、有界、取得都是选择求解器前的数学性质。

局部极小只比较邻域内可行点,严格版对不同点严格不等。驻点是内部可导零梯度,只是候选;边界极小可梯度非零,折点极小可无经典梯度,下一模块系统处理约束。

例题详解
有唯一答案的二次问题

f=xᵀAx/2−bᵀx,A=[[3,1],[1,3]],b=(2,−1)。特征值二、四正定,解Ax*=b得(7/8,−5/8)。围绕解展开线性消去,差=(x−x*)ᵀA(x−x*)/2,对其他点严格正。所以唯一全局极小,值−19/16=−1.1875,与迭代是否达到独立。

乘正常数保留极小集合却缩放梯度H、步长和梯度容差解释;加常数保留导数极小却改目标数值。不同日志需比较归约尺度,低目标不自动等于准确参数或好预测,优化误差与泛化不同。

可逆z=Sx且g(z)=f(S⁻¹z)时问题对应,但z欧氏梯度步映回通常是矩阵缩放更新而非原标量步。若特征变换却罚项不调整,目标可能变了,要说明再参数化还是新建模选择。

实现报告初点、步选择、接受目标和停止量。最大步数结束尝试,小更新、梯度或目标变化只认证定理联系的量。有限几个起点成功不证明任意非凸网络全局保证。

检验理解

有限下确界保证取得吗?正缩放保留固定梯度容差含义吗?无约束为何仍写自然域?

查看答案

开区间x及全域exp否定取得;缩放保留极小但改导数阈值和步长。更新可离开对数域,即使没有显式约束方程。

3

凸性、Jensen与光滑判据

凸集包含任两点的全部线段(1−t)x+ty,0≤t≤1。凸函数满足f(混合)≤(1−t)f(x)+tf(y),图在弦下。不同点、内部t严格则严格凸。凸是全局线段性质,不要求光滑:|x|有折点仍凸;光滑不必凸,如−x²。

例题详解
用精确恒等式证明平方范数凸

‖(1−t)x+ty‖²=(1−t)‖x‖²+t‖y‖²−t(1−t)‖x−y‖²。减的量非负给凸,不同点内部t严格。残差‖Xw−y‖²用X(w₁−w₂)同样凸,严格要求X无非零核方向。

有限Jensen:非负权α和一时f(Σα_i x_i)≤Σα_i f(x_i)。归纳去零权,将前k−1点按总权合成一点,与最后点用二点凸,再用前点归一权归纳。前总权零则只最后一点相等。这里是有限代数平均,期望与无限混合另需模型可积性。

开凸域可导f的凸等价支持不等式f(y)≥f(x)+∇f(x)ᵀ(y−x)。凸段不等式重排差商、t↓0得它;反过来令z为混合,分别在z对x,y写支持,再加权梯度项消去,恢复凸。判据需所有点对,不是一次切线样本。

C²开凸域H处处半正定等价凸。沿段二阶dᵀHd≥0,中值使一阶不减,给线段支持;反向凸使对称二阶差非负,除t²取极限得所有d的dᵀHd≥0。单点正曲率仅局部。

μ>0强凸定义f−μ‖x‖²/2凸。可导支持式多μ‖y−x‖²/2,C²时H处处≽μI充分。强凸给统一二次裕量,严格凸仅严格弦。x⁴全实线严格凸却零处二阶零,不能用任意正μ统一强凸。

非负和、仿射复合保凸,负倍不行;有限凸函数最大值也凸,因为每函数段值≤加权端值≤加权端最大值。故凸可不光滑,光滑方法另检查可导假设。

凸性与一阶支持平方函数在两端点弦下、在半点支持切线上,强凸常数二给统一二次裕量。凸弦与支持切线绿弦位于图上方切点 x=.5f=x²;蓝支持线 x−1/4;强凸 μ=2。
图 19.1

凸弦、支持切线和统一强凸裕量是不同断言,假设不同。

检验理解

凸总光滑吗?一点H正是否全局凸证明?残差平方严格凸需什么?

查看答案

|x|反例;全局C²判据需整凸域H半正定;X需满列秩区分全部非零参数位移。

4

驻点、局部分类与全局证书

内部可导局部极小全部一阶方向率零,即梯度零。C²下驻点H正定严格局部最小、负定最大、不定鞍点,由二阶模型统一余项得。半正定带零方向无结论,高阶决定,都是邻域分类。

例题详解
零梯度可以是鞍点或整个平坦解族

x²−y²零处梯度零、H=diag(2,−2),沿x增沿y减,是鞍点。x²−2x的H=diag(2,0),每(1,y)全局最小值−1。该零方向平坦,x⁴−y⁴零H却鞍点,仅零梯度不能区分。

凸改变证书:可导凸且可行内部梯度零,支持式使全域目标不更低。凸函数任何局部极小都全局,即使不可导:若远处更低,凸线段给任意近更低点,矛盾。严格凸让取得极小唯一,否则两同低点中点更低;仍不保证开或无界域取得。

强凸且有无约束极小x,双向支持相加得(∇f(x)−∇f(x))ᵀ(x−x*)≥μ‖x−x*‖²,极小梯度零与柯西给距离≤‖∇f(x)‖/μ。强凸下模型最小化位移给目标差≤‖梯度‖²/(2μ)。都是统一μ及取得假设下界,不是任意模型小梯度解释。

10⁻¹²(x−100)²有μ=2·10⁻¹²,零处梯度−2·10⁻¹⁰轻松过10⁻⁶容差,解距离却100,证书也是100。要距离≤.01需精确梯度≤2·10⁻¹⁴。目标差数字很小,可符合目标差标准却不符参数标准,需决定实际要哪一种精度。

仅凸下支持给目标差≤梯度范数乘到解距离;已知距离界R才得R‖梯度‖。无R或更强结构,小梯度不决定有用统一目标差。非凸驻点需分类或其他全局证据。

约束改变必要条件:[0,∞)上x在零最小、梯度一,可行方向不能向左。本课零梯度全局证书假设内部无约束和凸域,下一课改为明确乘子与边界条件。

检验理解

何时零梯度全局最优?强凸是否免查取得?如何把梯度容差转距离?

查看答案

可导凸目标有可行内部零梯度点。强凸给取得时唯一,仍需域存在检查。统一μ及无约束取得解给范数除μ,计算梯度需误差裕量。

5

梯度步、下降界与回溯

梯度下降x_new=x−η∇f(x),η正。负梯度是欧氏一阶最陡方向,有限步仍可过冲离域。设包含整段x到y的凸区域上梯度L-Lipschitz,L>0,差范数≤L‖y−x‖,则下降引理f(y)≤f(x)+∇f(x)ᵀ(y−x)+L‖y−x‖²/2。

无需积分的证明:d=y−x,φ(t)=f(x+td)−f(x)−t∇f(x)ᵀd−Lt²‖d‖²/2。导数=[∇f(x+td)−∇f(x)]ᵀd−Lt‖d‖²≤0,由柯西和L界。中值使φ不增,φ(1)≤φ(0)=0。整段须留在已知界的域。

例题详解
由有限变化界得充分步长区间

y=x−ηg后,f_new≤f−η(1−Lη/2)‖g‖²。0<η<2/L且g非零认证严格下降。L=4、η=.2下降系数.12;η=.5系数零不认证严格下降,更大也未认证,二次例可真的发散。充分界未通过与已找违反仍需区分。

固定合法η、目标下有界,累加下降得Σ‖g_k‖²≤(f₀−f_inf)/[η(1−Lη/2)],若假设始终成立,梯度范数趋零。前K最小平方梯度≤同常数/K,是驻残差保证,不证明全局最小或输入数列收敛,也不无条件套网络。

凸与取得极小给目标速率。η=1/L、e=x−x,平方距离递推与支持给‖e_next‖²≤‖e‖²−2(f−f)/L+‖g‖²/L²,下降将最后项界为2(f−f_next)/L。于是f_next−f*≤L(‖e‖²−‖e_next‖²)/2。累加,再用目标递减使末差≤平均,得到k≥1时差≤L‖e₀‖²/(2k)。需光滑凸和取得,不只贴O(1/k)标签。

若还有μ强凸,上一节‖g‖²≥2μ目标差,配下降给每步差最多因子1−μ/L。局部估曲率不自动建立统一μ、L,定理需全局或不变域假设;SPD二次的模态提供更精确参数率。

回溯无需已知全局L:方向p先满足gᵀp<0,初α正、缩因子β∈(0,1)、Armijo c∈(0,1),仅在域内且f(x+αp)≤f(x)+cαgᵀp时接受。可导使方向商趋gᵀp,严格低于c gᵀp,所以足够小α在开邻域能通过,精确算术下有限次缩减停止。非下降牛顿方向不由此变合法,也不独自证明全局收敛。

梯度步的有限变化正曲率四的二次从一点用零点二步下降到零点二,用零点五五步过冲负一点二且目标增加。下降方向仍可能被大步长过冲起点 (1,2)η=.2 → f=.08η=.55 → f=2.88f=2x²,g(1)=4;新点 1−4η。
图 19.2

局部切向与有限步上模型不同,回溯检验实际充分下降。

实际线搜索限制尝试次数并用数值容差,未成功应报告失败而非接受末个拒绝点。极小接受步可能反映曲率、域限制或错误方向,不认证小梯度或解误差,需报告不等式与停止原因,尤其求值有舍入噪声时。

检验理解

下降引理需什么?非凸下降中的梯度趋零是否全局最优?为何回溯要先下降方向?

查看答案

整合法步段梯度Lipschitz;趋零仍可能非全局驻点;负方向率提供足够小Armijo成功证明,任意方向没有。

6

二次模态、条件与坐标尺度

对称SPD二次目标唯一解Ax*=b,误差e_new=(I−ηA)e。正交特征基每模态系数乘1−ηλ_i。对每个初误差都收敛需全部幅度<1,所以精确区间0<η<2/λ_max,是本二次家族必要充分,不是把一般充分下降界误作所有目标必要。

η=2/λ_max时激发最高模态恒幅交替,更大则增长;初误差没有该分量可能仍沿其他模态收敛,一次幸运轨迹不能证全局稳定。η=0不动,和模块13动力学、模块17欧拉因素呼应。

例题详解
完整步长区间与最优最坏模态选择

A=[[3,1],[1,3]],μ=2,L=4,保证0<η<.5。η=.2因子.6,.2;1/3为±1/3;.5为0,−1;.55为−.1,−1.2。实验起点激发最高模态,所以边界和过大步失败。1/3平衡端点幅度,最小化最坏收缩。

ρ=max|1−ηλ_i|,正交给‖e_k‖≤ρ^k‖e₀‖,目标差为加权模态平方,所以≤ρ^{2k}初差。谱区间[μ,L]最优固定最坏步2/(μ+L),平衡低端1−ημ与高端ηL−1,因子(L−μ)/(L+μ)=(κ−1)/(κ+1)。仿射绝对值区间最大在端点;μ=L时η=1/L一次解完。

diag(1,100)用η=.01立刻杀刚模态却慢因子.99,200步原慢一变约.13398。平衡2/101两幅99/101更快、刚模态可交替;η=.1刚因子−9发散,即使低曲率坐标改善。

二次谱步长表特征值二四时步长零点二、三分之一、零点五、零点五五的最坏因子分别零点六、三分之一、一、一点二,严格小于一才全起点收敛。同一步作用于两个特征模态ηλ=2 因子λ=4 因子最坏幅度.2.6.2.61/31/3−1/31/3.50−11.55−.1−1.21.2ρ=max|1−ηλ|;保证全初值需 ρ<1。
图 19.3

分离模态显示慢、振荡、增长分量,一个标量步服务全部方向的能力由条件决定。

z=Sx、g=f(S⁻¹z)的H=S⁻ᵀA S⁻¹,S=diag(1,10)使diag(1,100)变单位阵,z单位步立即解。映回x_new=x−S⁻¹S⁻ᵀ∇f,是预条件更新,所有项一致变换时问题含义保留,坐标度量和算法改变,不宣称每个特征归一化总改进统计模型。

奇异PSD二次若b在C(A),解族x*+N(A),正模态可收敛、初始核分量保持;若b有核方向n的非零分量,tn目标含−t bᵀn,沿一侧无下界。只逆非零曲率或加对角不能隐藏这一问题性质。

交互演示

选二次曲率预设和步长,观察等高路径、谱乘数与固定更新次数后误差,边界及不稳定仍显示。

检验理解

严格区间为何每起点收敛必要?一条轨迹能隐藏不稳定模态吗?坐标缩放保原标量梯度法吗?

查看答案

特征向量起点隔离每乘数,幅度≥1破坏全称。未激发可隐藏,缩放保一致变换目标却映为另一预条件方法。

7

牛顿、坐标方法与有条件终止

牛顿用二次局部模型解H(x)p=−∇f,提x+p。求解系统而非显式形成逆,数学作用同而可用适当数值求解器。H对称正定、g非零时gᵀp=−pᵀHp<0,局部下降;远处全步仍需域和有限下降检查。

例题详解
精确二次一步与不定失败

SPD二次H=A、g=A(x−x*),解p=x*−x,所以精确全步到解。t⁴−3t²在.1有g=−.596、H=−5.88,p≈−.101360544、gp>0,朝零局部最大移动、目标增。实验改用−g并检验Armijo,名为牛顿不自动认证极小。

奇异H可方向不唯一或系统不一致。diag(2,0)、g=(−2,0)最小范数方向(1,0),从(0,5)到极小(1,5),保平坦坐标,最小步范数非最小解范数。g不在H像则无精确解,最小二乘方向是不同局部近似,还需下降检查。

阻尼将H改H+δI、选正定获得下降方向,修改局部步模型,不自动等于给原目标加ridge。若真改目标,梯度也要一致改。非凸保障可拒上坡,仍不无条件全局最优。

坐标下降固定其他只改一坐标,SPD二次精确沿i最小为x_i−g_i/A_ii,下降量g_i²/(2A_ii),除非坐标梯度零。循环后坐标使用刚更新值,不同于旧向量同时对角预条件步。收敛需适当日程假设,不能只凭有限坐标改善。

旋转二次从零,第一坐标3x₁+x₂=2得2/3,第二用新值解x₁+3x₂=−1得−5/9,降低但还非(7/8,−5/8)。牛顿一次耦合解、梯度用统一标量,单步工作不同,迭代数不公平比较成本。

梯度坐标牛顿比较梯度统一标量步,循环坐标用刚更新值,牛顿求耦合曲率系统,成本和非凸保障各不同。同一目标,不同更新模型梯度循环坐标牛顿x ← x−ηgxᵢ ← xᵢ−gᵢ/AᵢᵢHp=−g统一标量步后步用新坐标求解而非显式逆比较目标下降、总成本与保障;不是只数迭代。
图 19.4

同目标下梯度、坐标、牛顿局部模型与成本不同,曲率保障仍属于规格。

非退化极小附近牛顿可二次局部收敛,要求H足够正则、邻近可逆、起点在有效邻域,不适于直接套奇异极小或远起点。精确二次例整个目标等局部模型所以本课完整证明一步。回溯可能帮助到邻域,局部定理自身不证明所有起点到达。

停止需命名精度量:目标变化小可舍入、平坦、阻尼造成,梯度小可目标缩放,更新小可人为小步。已证明强凸或其他界时把计算残差转请求距离或差并加误差裕量,否则报告真实残差、步和原因。

训练目标优化不决定预测有效性,目标可能误设、评价数据可能不同、训练全局极小仍可泛化差,后面统计处理。本课成果是能推更新、检查域曲率、区分定理、有限轨迹和有用启发式。

检验理解

非凸牛顿为何查gp?最小范数步是否最小范数解?为何牛顿梯度等迭代数不够比较?

查看答案

不定曲率可上坡;平坦初坐标仍保留;系统求解、梯度求值、坐标更新成本信息不同。

8

常见误解

主张 修正
有限下确界就是取得。 开或无界域可仅逼近。
凸就是光滑。 绝对值凸折点。
零梯度总全局。 需凸或其他全局证据。
下降方向任意步都降。 检查整步和域。
二次边界2/L总收敛。 最高模态恒幅振荡。
一成功起点证明稳定。 可未激发坏模态。
牛顿总指向最小。 不定可上坡。
小移动梯度总参数准。 缩放阻尼平坦可误导。
9

三个可复现实验

实验1 · 精确二次模态与牛顿系统

下载 lab1_quadratic_modes.py

"""Eigenmodes determine the full constant-step interval of a quadratic."""
import numpy as np
np.set_printoptions(precision=6, suppress=True)
A = np.array([[3.0,1.0], [1.0,3.0]])
b = np.array([2.0,-1.0])
optimum = np.linalg.solve(A, b)
eigenvalues = np.linalg.eigvalsh(A)
def objective(x):
    return 0.5*x@A@x-b@x
start = np.array([3.0,2.0])
print("Eigenvalues / unique optimum / optimal objective:", eigenvalues, optimum, objective(optimum))
print("eta      mode factors           error after 30      objective after 30")
for eta in [0.2, 1/3, 0.5, 0.55]:
    x = start.copy()
    history = [objective(x)]
    for _ in range(30):
        x -= eta*(A@x-b)
        history.append(objective(x))
    factors = 1-eta*eigenvalues
    error = np.linalg.norm(x-optimum)
    print(f"{eta:.6f}", factors, f"{error:.10e}", f"{objective(x):.10f}")
    if np.max(np.abs(factors)) < 1:
        assert error < 1e-5
        assert all(next_value <= value+1e-12 for value, next_value in zip(history, history[1:]))
    else:
        assert error > 1
print("Strict interval: 0 < eta < 2/lambda_max =", 2/eigenvalues[-1])
newton = start-np.linalg.solve(A, A@start-b)
print("Exact quadratic Newton result:", newton)
assert np.allclose(newton, optimum, atol=1e-12, rtol=0)
输出
Eigenvalues / unique optimum / optimal objective: [2. 4.] [ 0.875 -0.625] -1.1875
eta      mode factors           error after 30      objective after 30
0.200000 [0.6 0.2] 7.8161433852e-08 -1.1875000000
0.333333 [ 0.333333 -0.333333] 1.6404273111e-14 -1.1875000000
0.500000 [ 0. -1.] 3.3587572106e+00 21.3750000000
0.550000 [-0.1 -1.2] 7.9728940561e+02 1271339.6050933360
Strict interval: 0 < eta < 2/lambda_max = 0.5
Exact quadratic Newton result: [ 0.875 -0.625]

先推解、谱和每因子,解释边界持续模态、过大增长、牛顿精确解。轨迹说明已推全称区间,不替代证明。

实验2 · 曲率、条件与坐标

下载 lab2_scaling_conditioning.py

"""A coordinate change changes curvature and the effective gradient metric."""
import numpy as np
A = np.diag([1.0,100.0])
start = np.array([1.0,1.0])
print("Raw curvature eigenvalues / condition number:", np.diag(A), np.linalg.cond(A))
print("eta      steps      endpoint                norm")
for eta, steps in [(0.01,200), (2/101,200), (0.1,10)]:
    x = start.copy()
    for _ in range(steps):
        x -= eta*(A@x)
    print(eta, steps, x, np.linalg.norm(x))
    if eta == 0.1:
        assert np.linalg.norm(x) > 1e9
    else:
        assert np.linalg.norm(x) < np.linalg.norm(start)

# z=S*x, so x=S^-1*z; preserve the mathematical objective under this change.
S = np.diag([1.0,10.0])
inverse_S = np.diag([1.0,0.1])
transformed_A = inverse_S.T@A@inverse_S
z = S@start
assert np.allclose(transformed_A, np.eye(2))
z -= transformed_A@z  # eta_z=1 on identity curvature.
recovered = inverse_S@z
print("Transformed curvature / condition number:", transformed_A, np.linalg.cond(transformed_A))
print("One transformed-coordinate step, mapped back:", recovered)
assert np.allclose(recovered, 0, atol=1e-12)
preconditioned = start-inverse_S@inverse_S.T@(A@start)
assert np.allclose(preconditioned, recovered)
print("Same objective, different coordinate geometry; the equivalent raw update uses a matrix preconditioner.")
输出
Raw curvature eigenvalues / condition number: [  1. 100.] 100.0
eta      steps      endpoint                norm
0.01 200 [0.13397967 0.        ] 0.13397967485796206
0.019801980198019802 200 [0.0183132 0.0183132] 0.0258987713130135
0.1 10 [3.4867844e-01 3.4867844e+09] 3486784401.0
Transformed curvature / condition number: [[1. 0.]
 [0. 1.]] 1.0
One transformed-coordinate step, mapped back: [0. 0.]
Same objective, different coordinate geometry; the equivalent raw update uses a matrix preconditioner.

预测.01慢因子、2/101平衡因子、.1坏因子,验证变换H为单位再映回,说明原坐标的预条件含义。

实验3 · 奇异、非下降与停止故障

下载 lab3_newton_and_stopping_faults.py

"""Singular or indefinite curvature and small gradients need qualified handling."""
import numpy as np
np.set_printoptions(precision=6, suppress=True)

H = np.diag([2.0,0.0])
b = np.array([2.0,0.0])
x = np.array([0.0,5.0])
gradient = H@x-b
try:
    np.linalg.solve(H, -gradient)
except np.linalg.LinAlgError:
    print("Singular Newton system: direct solve has no unique direction.")
direction, *_ = np.linalg.lstsq(H, -gradient, rcond=1e-12)
next_x = x+direction
print("Minimum-norm direction / resulting minimiser:", direction, next_x)
assert np.allclose(next_x, [1,5])  # Flat coordinate is preserved, not forced to zero.
print("Nonunique minima: first coordinate one, any second coordinate.")

def f(t):
    return t**4-3*t*t
t = 0.1
g, curvature = 4*t**3-6*t, 12*t*t-6
newton_direction = -g/curvature
print("Nonconvex Newton direction / gradient-dot-direction:", newton_direction, g*newton_direction)
print("Objective before / raw Newton step:", f(t), f(t+newton_direction))
assert g*newton_direction > 0 and f(t+newton_direction) > f(t)
# Replace a non-descent direction by -gradient; backtrack with explicit Armijo c.
descent, alpha, c = -g, 1.0, 1e-4
for _ in range(50):
    if f(t+alpha*descent) <= f(t)+c*alpha*g*descent:
        break
    alpha *= 0.5
else:
    raise RuntimeError("No accepted finite backtracking step")
print("Safeguarded step / objective:", alpha, f(t+alpha*descent))
assert f(t+alpha*descent) < f(t)

# Zero gradient is not sufficient for a nonconvex minimum.
print("Saddle x^2-y^2 at zero: gradient zero, value along (0,0.1) =", -0.1**2)
assert -0.1**2 < 0

coefficient, location, target = 1e-12, 0.0, 100.0
small_gradient = 2*coefficient*(location-target)
mu = 2*coefficient
gradient_tolerance = 1e-6
print("Scaled objective gradient / tolerance:", small_gradient, gradient_tolerance)
print("Naive gradient test passes / solution error:", abs(small_gradient)<gradient_tolerance, abs(location-target))
print("Strong-convexity error certificate ||gradient||/mu:", abs(small_gradient)/mu)
assert abs(small_gradient) < gradient_tolerance and abs(location-target) == 100
print("For distance tolerance 0.01, sufficient gradient threshold:", mu*0.01)
print("State which quantity termination certifies; objective scaling changes gradient thresholds.")
输出
Singular Newton system: direct solve has no unique direction.
Minimum-norm direction / resulting minimiser: [1. 0.] [1. 5.]
Nonunique minima: first coordinate one, any second coordinate.
Nonconvex Newton direction / gradient-dot-direction: -0.10136054421768709 0.06041088435374151
Objective before / raw Newton step: -0.029900000000000006 -5.553238278345991e-06
Safeguarded step / objective: 1.0 -1.218589138944
Saddle x^2-y^2 at zero: gradient zero, value along (0,0.1) = -0.010000000000000002
Scaled objective gradient / tolerance: -2e-10 1e-06
Naive gradient test passes / solution error: True 100.0
Strong-convexity error certificate ||gradient||/mu: 100.0
For distance tolerance 0.01, sufficient gradient threshold: 2e-14
State which quantity termination certifies; objective scaling changes gradient thresholds.

区分最小步范数和平坦解,查非凸方向符号、Armijo接受、缩放距离证书。小目标差可符合哪标准,却参数仍远?

10

十四道练习与完整解答

1–12必做,13–14选做额外35分钟,不计入十二小时核心。

练习 1★★★计算7 分钟

x²在(0,∞)下确界、取得与强凸常数?为何兼容?

查看解答

零下确界未取得,H=2给μ=2强凸。它只保证取得时唯一,不闭合开域,没有可行零梯度点。

练习 2★★★计算7 分钟

x²、两点零二、t=1/4,求弦界与恒等式间隙。

查看解答

混合1/2值1/4,加权端值一,间隙3/4=t(1−t)(x−y)²,非负给凸,本例严格。

练习 3★★★计算7 分钟

谱二四,给全起点固定步区间、平衡步与最坏范数因子。

查看解答

0<η<.5,步1/3因子±1/3,最坏1/3;上边界最高−1不衰减,更大激发则增。

练习 4★★★计算7 分钟

统一μ=.2、精确梯度范数.006且无约束解取得,给距离目标差界。

查看解答

距离≤.03,差≤.006²/.4=.00009。需强凸与取得,近似梯度先加误差界。

练习 5★★★proof15 分钟

不用可导证明凸函数局部极小全局。

查看解答

若可行y更低,则任意0<t<1的凸段点值≤加权端值<局部最低,段点可任意近x*,矛盾。证明存在局部解的全局性,不证明所有域存在。

练习 6★★★proof15 分钟

用比较φ推下降引理和梯度步系数。

查看解答

φ=f(x+td)−f(x)−t梯度点积d−Lt²‖d‖²/2,整段L界与柯西使导数≤0,φ(1)≤0。d=−ηg给下降系数η(1−Lη/2),正需0<η<2/L,整域界不可省。

练习 7★★★proof15 分钟

证明SPD误差递推及全初值必要充分步区间。

查看解答

Ax*=b,g=Ae,e_new=(I−ηA)e。正交基各因子1−ηλ_i,全部幅度<1恰所有初值收敛,否则对应特征向量起点反证。正谱得0<η<2/λmax,正交另给ρ^k范数界。

练习 8★★★application12 分钟

旋转二次A=[[3,1],[1,3]]、b=(2,−1),零起点一循环坐标扫,与牛顿比。

查看解答

先x₁=2/3,后用新值x₂=−5/9,下降未到(7/8,−5/8)。牛顿从零耦合一步到解,两类单步成本不等。

练习 9★★★application12 分钟

diag(1,100)选S使变换H单位,推原坐标单位更新。

查看解答

S=diag(1,10),逆diag(1,.1),变换H为I。原步x−diag(1,.01)Ax=0,为同目标再参数化的矩阵预条件方法。

练习 10★★★application12 分钟

四次非凸在.1算牛顿方向符号并给保障接受条件。

查看解答

g−.596、H−5.88、p−.101360544、gp约.060410884正。改−g=.596,试正α留域并满足Armijo c∈(0,1),负gp保证小步可接受,不证明非凸全局解。

练习 11★★★diagnosis12 分钟

谱一百,仅第一模态初值用.1成功,声称全初值收敛。修正。

查看解答

第一因子.9、第二−9,未激发第二掩盖不稳定。任意非零第二增,真实区间0<η<.02,应区分受限轨迹与谱保证。

练习 12★★★diagnosis12 分钟

缩放目标零处通过10⁻⁶梯度却承诺参数误差.01。修证书并说明奇异平坦牛顿。

查看解答

梯度2·10⁻¹⁰、μ2·10⁻¹²给距离100,不支持.01;充分阈值2·10⁻¹⁴。平坦最小范数步可保持任意核初值,所得解非唯一且未必最小范数。需报告精度量、数值裕量和选择代表。

练习 13★★★extension15 分钟

由[μ,L]推最优固定最坏步,写κ因子。

查看解答

仿射绝对值最大在端,平衡1−ημ=ηL−1得2/(μ+L),ρ=(κ−1)/(κ+1)。μ=L一次解。这是固定二次最坏模态结果,不无条件优化所有非二次步日程。

练习 14★★★extension20 分钟

对称PSD下证明二次有解当且仅当b在C(A),解释核迭代。

查看解答

C(A)=N(A)正交补,b有核分量则选n使bᵀn非零,tn目标−t bᵀn一侧无下界。b在像可解Ax*=b,差为半非负二次,等零恰x*+核。梯度的Ax,b无核投影,初核保持,正模态合法步衰减,选初始核代表。

11

十题自检

1
开域有限下确界说明什么?
2
凸蕴含光滑吗?
3
何时内部零梯度认证全局?
4
合法步域上L光滑,何区间认证非驻点严格下降?
5
坏模态未在初值激发,会怎样?
6
正缩放改变什么?
7
非凸牛顿gp>0表示什么?
8
平坦目标最小范数方向说明什么?
9
小梯度何时建立参数准确?
查看答案

SPD且Ax*=b给e_new=(I−ηA)e,因子1−ηλ,全起点需0<η<2/λmax,ρ给ρ^k范数界。边界可持续,未激发坏模态可隐藏。非凸零梯度可鞍;缩放小梯度须用如范数/μ且统一强凸、取得无约束解才成距离证书。

12

有目标的阅读

用作者Convex Optimization伴随站的凸函数与无约束极小选段,本课独立推支持、下降、谱界,实验写清约定。

时间 选读与问题
第1次 · 20分钟 凸支持:什么全局、什么局部、哪种正则?
第4次 · 20分钟 线搜索:何为下降方向、可接受步、可解释停止量?
13

检索结业任务与下一步

证明凸例、局部全局证书、L下降及各二次模态,比较梯度、循环坐标、牛顿成本保障。

结业任务:diag(1,100)全称区间0<η<.02,平衡2/101因子99/101。解释.1为何仅首模态起点可成功,坐标尺度为何改更新度量。

可以继续:你能将行为联系目标域曲率假设。下一模块加入可行方向、乘子、KKT与对偶界。见总览。

14

符号与双语术语

术语符号 含义 English
下确界、极小点 最大下界、可行取得点 Infimum, minimiser
凸、严格、强 弦不等式、严格弦、统一二次裕量 Convex, strict, strong
L、μ 梯度光滑界、强凸裕量 Smoothness, strong convexity
η、Armijo 步尺度、充分下降接受 Step, line search
ρ、κ 最坏模态幅度、曲率比 Contraction, condition number
预条件 坐标度量下矩阵缩放更新 Preconditioning
牛顿、坐标步 耦合曲率解、单坐标最小 Newton, coordinate descent
gp、终止 方向变化率、明确有限停止 Directional rate, termination