跳到主要内容

梯度与多维优化

梯度的定义

对于采用欧氏坐标的可微二元函数 f(x,y)f(x, y),梯度 f\nabla f 定义为偏导数组成的向量:

f=(fx,fy)\nabla f = \left( \frac{\partial f}{\partial x}, \frac{\partial f}{\partial y} \right)

f(x,y)=x2+y2f(x, y) = x^2 + y^2 为例,其梯度为 f=(2x,2y)\nabla f = (2x, 2y)。这个向量指向函数局部增长最快的方向,其模长即为该方向上的最大变化率。在常规点上,梯度垂直于经过该点的等值线,而非与等值线相切。

特定点处的梯度

计算 f(x,y)=x2+y2f(x, y) = x^2 + y^2 在点 (2,3)(2, 3) 处的梯度,只需将坐标代入公式:

f=(22,23)=(4,6)\nabla f = (2 \cdot 2, 2 \cdot 3) = (4, 6)

结果 (4,6)(4, 6) 表示从点 (2,3)(2, 3) 出发,函数值增长最快的方向向量。

负梯度为何能在局部下降

ff 在内部点 qq 可微,uu 是欧氏范数下的单位向量。方向导数为

Duf(q)=limt0f(q+tu)f(q)t=f(q)Tu.D_u f(q)=\lim_{t\to0}\frac{f(q+tu)-f(q)}t=\nabla f(q)^Tu.

柯西–施瓦茨不等式给出 f(q)2Duf(q)f(q)2-\|\nabla f(q)\|_2\le D_u f(q)\le\|\nabla f(q)\|_2。梯度非零时,u=f(q)/f(q)2u=-\nabla f(q)/\|\nabla f(q)\|_2 取得下界。这是欧氏单位方向中的最陡下降方向,不能保证长步也下降,更不能忽略坐标尺度的影响。具体地,

f(qαf(q))=f(q)αf(q)22+o(α),f(q-\alpha\nabla f(q))=f(q)-\alpha\|\nabla f(q)\|_2^2+o(\alpha),

所以足够小的正步长能降低函数值。上例梯度为 (4,6)(4,6),最陡单位方向是 (2,3)/13(-2,-3)/\sqrt{13},变化率为 213-2\sqrt{13}。沿常规等值线对不变的函数值求导,可得切向量 vv 满足 f(q)Tv=0\nabla f(q)^Tv=0

Hessian 与方向曲率

对二阶连续可微函数,Hessian 矩阵收集所有二阶偏导数,Hij(q)=2f(q)/xixjH_{ij}(q)=\partial^2 f(q)/\partial x_i\partial x_j。混合偏导相等,因此矩阵对称。二阶局部展开为

f(q+v)=f(q)+f(q)Tv+12vTH(q)v+o(v22).f(q+v)=f(q)+\nabla f(q)^Tv+\tfrac12v^TH(q)v+o(\|v\|_2^2).

二次型 vTHvv^THv 描述沿位移方向的曲率。对实对称矩阵,若任意非零 vv 都使它为正,矩阵就正定;若都非负,则为半正定。这分别等价于全部特征值为正或非负。不定矩阵则既有正曲率方向,也有负曲率方向。矩阵定义和二阶凸性判据见 Boyd 与 Vandenberghe 的附录 A 及第 3.1.4 节

x2y2x^2-y^2H=diag(2,2)H=\operatorname{diag}(2,-2),沿 x 轴曲率为正,沿 y 轴为负。实对称 2×22\times2 矩阵正定,当且仅当 H11>0H_{11}>0detH>0\det H>0;下文回归算例就用这个判据。Hessian 为零时无法据此分类:x4+y4x^4+y^4x4y4-x^4-y^4x4y4x^4-y^4 在原点的 Hessian 都为零,却分别给出极小点、极大点和鞍点。凸优化中的全局保证,依赖 Hessian 在整个开凸域上半正定,而不是只在一个点半正定。

驻点的梯度为零;局部极小点优于附近可行点;全局最小点优于整个可行集中的点。这些概念不能混用:x2y2x^2-y^2 在原点有驻点,但它是鞍点;在 [0,1][0,1] 上最小化 xx,最优解是边界点 00,导数却为 11。对二阶连续可微函数,驻点处 Hessian 正定可保证严格局部极小,不定则说明是鞍点;奇异的半正定 Hessian 还需进一步分析。

优化中的应用

可微函数在定义域内部的局部极值点处,导数必须为零,但反过来并不成立。对于 f(x)=x2f(x)=x^2,解 f(x)=2x=0f'(x)=2x=0 得到候选点 x=0x=0;还要利用 x20x^2\ge0,才能确认它是全局最小点。边界点和不可导点需要另外检查。

对于 f(x,y)=x2+y2f(x, y) = x^2 + y^2 等多元函数,优化过程旨在寻找梯度为零的点,即 f=0\nabla f = \vec{0}。这意味着所有偏导数 fx\frac{\partial f}{\partial x}fy\frac{\partial f}{\partial y} 均为零。解方程组:

fx=2x=0fy=2y=0\begin{align*} \frac{\partial f}{\partial x} = 2x &= 0 \\ \frac{\partial f}{\partial y} = 2y &= 0 \end{align*}

得到最小值位置 (0,0)(0, 0)。这一方法可推广至任意维度的函数,但需注意:梯度为零仅标识出驻点候选。该点可能是极小值、极大值或鞍点,因此仍需二阶导数测试或其他论证来最终确认。

二维桑拿房中的优化

将桑拿房视为二维空间,允许在 5x5 的房间内任意移动,目标是根据温度分布找到最冷的点。

  • 温度函数:给定位置 (x,y)(x, y),温度由函数 T(x,y)T(x, y) 表示,在三维图中体现为高度。红色区域代表高温(高值),蓝色区域代表低温(低值)。

  • 目标:在闭正方形 [0,5]2[0,5]^2 上最小化 T(x,y)T(x,y)。全局最小点不一定在内部,也不要求其他每一点的温度都严格更高。

  • 数学方法:计算偏导数 Tx\frac{\partial T}{\partial x}Ty\frac{\partial T}{\partial y},令其为零,并求解 xxyy 以找到潜在的最小值点。

  • 示例函数T(x,y)=85190x2(x6)y2(y6)T(x, y) = 85 - \frac{1}{90}x^2(x - 6)y^2(y - 6)

  • 偏导数

    fx=190x(3x12)y2(y6)\frac{\partial f}{\partial x} = -\frac{1}{90}x(3x - 12)y^2(y - 6) fy=190x2(x6)y(3y12)\frac{\partial f}{\partial y} = -\frac{1}{90}x^2(x - 6)y(3y - 12)
  • 寻找最小值:求解 Tx=0\frac{\partial T}{\partial x}=0Ty=0\frac{\partial T}{\partial y}=0 只给出内部候选点,还需检查四条边及角点。下文的完整求解包含了边界。

桑拿房的定义域取 [0,5]2[0,5]^2。令 h(t)=t2(6t)h(t)=t^2(6-t),则 T=85h(x)h(y)/90T=85-h(x)h(y)/90。在 [0,5][0,5] 上,h0h\ge0,且 h(t)=3t(4t)h'(t)=3t(4-t):先增至 h(4)=32h(4)=32,再递减。因此唯一的全局最冷点是 (4,4)(4,4),温度 T=3313/4573.6222T=3313/45\approx73.6222x=0x=0y=0y=0 的边上温度为 8585;坐标为 55 的边上最低温度是 852532/9076.111185-25\cdot32/90\approx76.1111。这样才把边界也检查完,而不只是求驻点。

线性回归优化

线性回归是机器学习的基石模型,其优化过程同样依赖于多维微积分,核心在于为数据集寻找最佳拟合直线。

  • 问题描述:已知若干电力线的坐标,任务是将它们连接到主干光纤线,并使总成本最小。在此示意模型中,成本与竖直残差的平方成正比,而非到直线的最短距离平方。
  • 数学建模:光纤线方程为 y=mx+by = mx + b,其中 mm 为斜率,bb 为截距。优化目标是最小化总成本函数 E(m,b)E(m, b),该函数依赖于 mmbb
  • 成本函数:取示例数据 (1,2),(2,5),(3,3)(1,2),(2,5),(3,3)。竖直残差平方和为 E(m,b)=(m+b2)2+(2m+b5)2+(3m+b3)2E(m,b)=(m+b-2)^2+(2m+b-5)^2+(3m+b-3)^2,展开得 14m2+3b2+38+12mb42m20b14m^2+3b^2+38+12mb-42m-20b
  • 偏导数与优化
    • Em=28m+12b42\frac{\partial E}{\partial m} = 28m + 12b - 42
    • Eb=6b+12m20\frac{\partial E}{\partial b} = 6b + 12m - 20
  • 求解:令 Em=0\frac{\partial E}{\partial m} = 0Eb=0\frac{\partial E}{\partial b} = 0,解出 mmbb 即可得到使成本最小的最优直线参数。
  • 结果:最优值为 m=12m = \frac{1}{2}b=73b = \frac{7}{3},最小成本为 4.167。

回归二次式的 Hessian 为 (2812126)\begin{pmatrix}28&12\\12&6\end{pmatrix},顺序主子式为 28282424,均为正,所以它正定。(1/2,7/3)(1/2,7/3) 是唯一全局最小点,Emin=25/64.1667E_{\min}=25/6\approx4.1667。这里的距离平方指竖直残差 yi(mxi+b)y_i-(mx_i+b) 的平方;若用到直线的垂直距离,其平方还要除以 1+m21+m^2,优化问题就不同了。统计建模部分见线性回归

梯度下降:一种高效的优化方法

不便直接求解驻点方程时,可以用梯度下降迭代寻找候选解。它不保证比直接求解更快,函数值下降也不等于已经证明收敛或全局最优。下文从可微性说明局部下降的原因;单变量梯度下降给出了保护定义域的实现。

探索关联打开关联网络