Notation
| 符号 |
含义 |
| ∥x∥ |
向量 x 的范数 |
| Rn |
n 维实向量空间 |
| ∇f |
函数 f 的梯度向量 |
| ∇2f |
函数 f 的 Hesse 矩阵(二阶导数矩阵) |
| min / max |
最小化 / 最大化 |
| s.t. |
受约束于(subject to) |
| inf / sup |
下确界(infimum) / 上确界(supremum) |
| argmin |
使函数取得最小值的参数值 |
| θ∈[0,1] |
凸组合系数 |
| η |
学习率(步长参数) |
| x≥0 |
向量 x 的每个分量非负 |
| δk=xk+1−xk |
参数迭代差值向量 |
| yk=∇f(xk+1)−∇f(xk) |
梯度差值向量 |
| L(x,λ,ν) |
拉格朗日函数 |
| g(λ,ν) |
拉格朗日对偶函数 |
| p∗ / d∗ |
原始问题 / 对偶问题的最优值 |
| Gk / Bk |
拟牛顿法中 Hesse 矩阵逆 / 原矩阵的近似 |
| ⪰ |
广义不等式 |
| dom |
函数的定义域 |
| α / λ / ν |
标量参数(步长、拉格朗日乘数等) |
| H |
Hesse 矩阵 |
| dk |
搜索方向向量 |
| Bt |
随机梯度下降中的小批量样本集合 |
| f∈C2 |
函数 f 二阶连续可微 |
最优化问题的数学基础
范数
若实值函数∥⋅∥:Rn→Rn满足以下条件:
- 正定性:∥x∥≥0,∀x∈Rn;∥x∥=0当且仅当x=0;
- 齐次性:∥αx∥=α∥x∥,∀α∈R,x∈Rn;
- 三角不等式:∥x+y∥≤∥x∥+∥y∥,∀x,y∈Rn.
则∥⋅∥称Rn上的范数。
Hesse矩阵
设f:Rn→R是一个二阶连续可微函数,则:
∇2f(x0)=∂x12∂2f∂x2∂x1∂2f⋮∂xn∂x1∂2f∂x1∂x2∂2f∂x22∂2f⋮∂xn∂x2∂2f⋯⋯⋱⋯∂x1∂xn∂2f∂x2∂xn∂2f⋮∂xn2∂2f
称为点x0=(x1,x2,…,xn)处的 Hesse 矩阵。
锥
一个非空集合C⊆Rn称为锥,如果满足:
∀x∈C,∀λ≥0,λx∈C
即对任意点x∈C和非负标量λ,其缩放结果λx仍属于C。
半空间
设a∈Rn且a=0,b∈R,则集合
{X∣aT>b,X∈Rn}
称为Rn的半空间。
凸集
对于集合C⊆Rn,若满足:
∀x1,x2∈C, ∀θ∈[0,1],θx1+(1−θ)x2∈C
则称C为凸集。
凸锥
集合C⊆Rn称为凸锥,如果它既是锥又是凸集。等价定义为:
∀x1,x2∈C,∀θ1,θ2≥0,θ1x1+θ2x2∈C
即对任意两点x1,x2∈C和非负标量θ1,θ2,其线性组合仍属于C。
凸集分离定理
设 C1 和 C2 是 Rn 中两个非空集合,H={X∣pTX=α} 为超平面,如果对 ∀X∈C1 都有 pTX≥α,对 ∀X∈C2,都有 pTX≤α(或情形恰好相反),则称超平面 H 分离集合 C1 和 C2。
凸函数
设函数f:C→R 定义在凸集C 上,若满足:
∀x1,x2∈C, ∀θ∈[0,1],f(θx1+(1−θ)x2)≤θf(x1)+(1−θ)f(x2)
则称f 凸函数。
凸函数的判定
定理1 设 f:C⊆Rn→R1 是可微函数,其中 C 为凸集,则
(1) f 为凸函数的充要条件是 ∀X1,X2∈C,都有
f(X2)≥f(X1)+∇f(X1)T(X2−X1);
(2) f 为严格凸函数的充要条件是 ∀X1,X2∈C 且 X1=X2,都有
f(X2)>f(X1)+∇f(X1)T(X2−X1).
定理2 设 f:C⊆Rn→R1 是二次可微函数,C 为非空开凸集,则 f 为 C 上凸函数的充要条件是 Hesse矩阵 ∇2f(X) 在 C 上任意点均半正定。
次梯度
如果一个函数不可导,那如何用那些梯度方法呢?对于这类函数,我们引进了次梯度(Subgradient)的概念。对于一个凸实值函数f:Rn→R和向量g∈Rn,如果对于任意的y,都有
f(y)≥f(x)+gT(y−x)
那么称g是一个f在x点处的次梯度。
线性规划
线性规划模型的一般形式
为了讨论一般的线性规划问题的求解,我们首先给出线性规划模型的一般形式如下:
minf(x1,x2,…,xn)=c1x1+c2x2+⋯+cnxn
s.t.⎩⎨⎧a11x1+a12x2+⋯+a1nxn=(≥,≤)b1,a21x1+a22x2+⋯+a2nxn=(≥,≤)b2,⋮am1x1+am2x2+⋯+amnxn=(≥,≤)bm,x1,x2,…,xn≥0.
线性规划模型的标准形式
一般线性规划问题总可以写成下列标准形式:
mins.t.∑j=1ncjxj∑j=1nαijxj=bi,i=1,2,…,m,xj≥0,j=1,2,…,n.
或用矩阵表示:
mins.t.cxAx=b,x≥0.
其中A是m×n矩阵 ,c 是 n 维行向量 ,b 是 m 维列向量。
单纯形法
基本单纯形法解线性规划问题示例
无约束优化算法
本节考虑如下无约束优化问题:
x∈Rnminf(x)
其中f(x)是Rn→R的函数。无约束优化问题是众多优化问题中最基本的 问题,它对自变量 x 的取值范围不加限制,所以无需考虑 x 的可行性.
线搜索方法
设目标函数为f:Rn→R,当前迭代点为xk∈Rn,搜索方向为dk∈Rn(通常为下降方向,即∇f(xk)⊤dk<0)。线搜索算法的目标是寻找步长α>0,使得迭代更新
xk+1=xk+αdk
能够使f(xk+1)相对于f(xk)充分减小。
Armijo 准则
设k=0,1,2,…为第k次迭代, dk 是点 xk 处的下降方向,若
f(xk+αdk)≤f(xk)+c1α∇f(xk)Tdk,
则称步长 α 满足 Armijo 准则,其中 c1∈(0,1) 是一个常数。
在优化算法的实现中,寻找一个满足 Armijo 准则的步长是比较容易的,一个最常用的算法是 回退法。给定初值 α^,回退法通过不断以指数方式缩小试探步长,找到第一个满足 Armijo 准则 (6.1.2) 的点。具体来说,回退法选取
αk=γj0α^,
其中
j0=min{j=0,1,⋯∣f(xk+γjα^dk)≤f(xk)+c1γjα^∇f(xk)Tdk},
参数 γ∈(0,1) 为一个给定的实数。
梯度类算法
梯度下降法(Gradient Descent, GD)和随机梯度下降法(Stochastic Gradient Descent, SGD)是用于优化目标函数的迭代算法,其核心思想是通过计算梯度更新参数以逼近最小值。
梯度下降法
设目标函数为整个训练集的平均损失:
J(θ)=N1i=1∑NL(θ;xi,yi),
其中 θ 为模型参数,N 为样本总数,L(θ;xi,yi) 为第 i 个样本的损失函数。在每次迭代中,GD 计算目标函数关于 θ 的梯度,并按负梯度方向更新参数:
θt+1=θt−η⋅∇J(θt)=θt−η⋅N1i=1∑N∇L(θt;xi,yi),
其中 η>0 为学习率,∇J(θt) 表示目标函数在 θt 处的梯度。
随机梯度下降法
随机梯度下降法每次迭代仅随机选取一个样本 (xit,yit) 计算梯度,并更新参数:
θt+1=θt−η⋅∇L(θt;xit,yit),
其中 it 从 {1,2,…,N} 中均匀随机采样。若使用大小为 m 的小批量样本(Mini-batch SGD),则更新公式为:
θt+1=θt−η⋅m1i∈Bt∑∇L(θt;xi,yi),
其中 Bt 为第 t 次迭代时随机选取的样本子集,∣Bt∣=m。随机梯度下降法通过减少单次迭代的计算量,以更高的方差换取更快的收敛速度。
牛顿法
设目标函数f:Rn→R满足f∈C2(Rn)(即二次连续可微)。给定初始点x0∈Rn,牛顿法通过以下迭代公式生成序列{xk}k=0∞以寻找f的局部极小值:
xk+1=xk−(∇2f(xk))−1∇f(xk),k≥0,
其中∇f(xk)∈Rn是f在点xk处的梯度,∇2f(xk)∈Rn×n是f在点xk处的Hesse矩阵。该迭代持续进行,直到满足预设的收敛准则(如梯度范数∥∇f(xk)∥足够小或迭代步长∥xk+1−xk∥足够小)。
eg.1 设目标函数为:
f(x,y,z)=x2+2y2+3z2+xy+yz+4
试找到使 f(x,y,z)最小的点(x∗,y∗,z∗)。
1. 计算梯度(一阶导数)
梯度是一个向量,表示每个变量的变化率:
∇f=∂x∂f∂y∂f∂z∂f=2x+y4y+x+z6z+y
2. 计算 Hesse 矩阵(二阶导数)
Hesse 矩阵是一个对称矩阵,表示函数的曲率信息:
H=∂x2∂2f∂y∂x∂2f∂z∂x∂2f∂x∂y∂2f∂y2∂2f∂z∂y∂2f∂x∂z∂2f∂y∂z∂2f∂z2∂2f=210141016
具体计算演示
假设初始点为 (x0,y0,z0)=(1,1,1)。
第一步:计算梯度
∇f(1,1,1)=2(1)+14(1)+1+16(1)+1=367
第二步:计算 Hesse 矩阵的逆
Hesse 矩阵 ( H ) 是固定的(因为函数是二次的),直接求逆:
H=210141016,H−1=42123−61−612−21−27
第三步:更新参数
x1y1z1=111−42123−61−612−21−27⋅367
计算矩阵乘法:
23⋅3+(−6)⋅6+1⋅7−6⋅3+12⋅6+(−2)⋅71⋅3+(−2)⋅6+7⋅7=69−36+7−18+72−143−12+49=404040
最终更新结果:
x1y1z1=111−4240111=1−42401−42401−4240=422422422≈0.04760.04760.0476
第四步:验证是否收敛
此时梯度为:
∇f(0.0476,0.0476,0.0476)≈000
说明已到达最小值点!
拟牛顿法
拟牛顿条件
对∇f(x)做泰勒展开可得
∇f(x)=gk+Hk(x−xk)
令x=xk+1,则
gk+1−gk=Hk(xk+1−xk)
记 yk=gk+1−gk,δk=xk+1−xk,则
yk=HkδkHk−1yk=δk
上式为拟牛顿条件。
拟牛顿法将Gk作为Hk−1的近似,要求矩阵Gk满足同样的条件:每次迭代矩阵是正定的,满足拟牛顿条件。
DFP算法(Davidon-Fletcher-Powell Algorithm,DFP Algorithm)
Algorithm: DFP Algorithm
Input: 目标函数f:Rn→R,梯度函数∇f,初始点x0∈Rn,收敛阈值ϵ>0;
Output: 近似最优解x∗。
- 初始化:设初始点x=x0,近似Hesse逆矩阵H0=I(单位矩阵),计算初始梯度g=∇f(x),迭代次数k=0;
- While ∥g∥≥ϵ:
- 返回x∗=xk。
BFGS算法(Broyden-Fletcher-Goldfarb-Shanno Algorithm,BFGS Algorithm)
Algorithm: BFGS Algorithm
Input: 目标函数f:Rn→R,梯度函数∇f,初始点x0∈Rn,收敛阈值ϵ>0;
Output: 近似最优解x∗。
- 初始化:设初始点x=x0,近似Hesse矩阵B0=I(单位矩阵),计算初始梯度g=∇f(x),迭代次数k=0;
- While ∥g∥≥ϵ:
- 返回x∗=xk。
约束优化与对偶
本节考虑如下约束优化问题:
x∈Rnmins.t.f(x)Ax≤bx≥0
其中f(x)是Rn→R的函数.
线性规划下的对偶
设原线性规划问题为
maxs.t.Z=c1x1+c2x2+⋯+cnxn⎩⎨⎧a11x1+a12x2+⋯+a1nxn≤b1a21x1+a22x2+⋯+a2nxn≤b2⋯am1x1+am2x2+⋯+amnxn≤bmxj≥0(j=1,2,⋯,n)
则称下列线性规划问题
maxs.t.W=b1y1+b2y2+⋯+bmym⎩⎨⎧a11y1+a21y2+⋯+am1ym≥c1a12y1+a22y2+⋯+am2ym≥c2⋯a1ny1+a2ny2+⋯+amnym≥cnyi≥0(i=1,2,⋯,m)
上述对偶问题称为对称型对偶问题。原问题简记为 §,对偶问题简记为 (D) 。
重点:
1)目标函数的目标互为相反。(max,min)
2)目标函数的系数是另一个约束条件的右端向量
3)约束系数矩阵是另一个的约束系数矩阵的转置
4)约束方程的个数与另一个的变量的个数相等
拉格朗日对偶(Lagrange duality)
我们考虑标准形式的优化问题:
xmins.t.f(x)hi(x)≤0,i=1,…,mℓj(x)=0,j=1,…,r
其中变量为 x∈Rn。假设其定义域 D=⋂i=0mdomhi∩⋂j=1rdomℓj 非空,并将该问题的最优值记为 p∗。我们不假设该问题是凸的。
拉格朗日对偶的基本思想是通过将目标函数与约束函数的加权和相结合,将问题的约束条件纳入考虑。我们定义与该问题关联的拉格朗日函数 L:Rn×Rm×Rr→R 为:
L(x,λ,ν)=f(x)+i=1∑mλihi(x)+j=1∑rνjℓj(x),
其定义域为 domL=D×Rm×Rr。我们将 λi 称为与第 i 个不等式约束 hi(x)≤0 关联的拉格朗日乘数;类似地,νj 称为与第 j 个等式约束 ℓj(x)=0 关联的拉格朗日乘数。向量 λ 和 ν 称为该问题的对偶变量或拉格朗日乘数向量。
对于每一组满足 λ⪰0 的对偶变量 (λ,ν),拉格朗日对偶函数 g(λ,ν) 给出了优化问题最优值 p⋆ 的一个下界。因此,我们得到一个依赖于参数 λ 和 ν 的下界。我们不禁想问:从拉格朗日对偶函数中能获得的最佳下界是什么?
由此引出了以下优化问题:
maxs.t.g(λ,ν)λ⪰0
此问题称为与原问题关联的拉格朗日对偶问题。在此上下文中,原问题有时被称为原始问题。术语对偶可行(描述满足 λ⪰0 且 g(λ,ν)>−∞ 的对偶变量 (λ,ν))此时具有明确含义:它表示 (λ,ν) 对应对偶问题的可行性。若 (λ⋆,ν⋆) 是对偶问题的最优解,则称其为对偶最优解或最优拉格朗日乘数。
无论原始问题是否为凸问题,拉格朗日对偶问题始终是凸优化问题,因为其目标函数(需最大化)是凹函数,而约束条件是凸的。
弱对偶、强对偶与Slater约束条件
弱对偶性(Weak Duality)
对于任意满足 λ⪰0 的对偶可行解 (λ,ν),其对偶函数值 g(λ,ν) 始终是原始问题最优值 p⋆ 的下界,即:
g(λ,ν)≤p⋆.
这意味着拉格朗日对偶问题的最优值 d⋆(称为对偶最优值)满足:
d⋆≤p⋆.
弱对偶性对任意优化问题(无论凸或非凸)均成立,其本质为对偶问题提供了原始问题的理论下界。
强对偶性(Strong Duality)
若对偶最优值 d⋆ 与原始最优值 p⋆ 相等,即:
d⋆=p⋆
则称强对偶性成立。强对偶性并非普遍成立,其有效性依赖于问题结构与约束条件。
Slater约束准则(Slater’s Constraint Qualification)
标准形式
若原始问题为凸(即目标函数 f(x) 和不等式约束 hi(x) 均为凸函数,等式约束 ℓj(x) 为仿射函数),且存在一点 x∈relintD 满足:
{hi(x)<0,ℓj(x)=0,i=1,…,m,j=1,…,r
则称Slater条件成立,此时强对偶性必然成立。
仿射约束的弱化条件
若前 k 个不等式约束 h1,…,hk 为仿射函数,则Slater条件可放宽为:存在 x∈relintD 满足:
⎩⎨⎧hi(x)≤0,hi(x)<0,ℓj(x)=0,i=1,…,k,i=k+1,…,m,j=1,…,r.
KKT条件(Karush-Kuhn-Tucker Conditions)
- 平稳性:0∈∂x(f(x)+∑i=1muihi(x)+∑j=1rvjℓj(x))
- 互补松弛性:ui⋅hi(x)=0 (对所有 i)
- 原始可行性:hi(x)≤0,ℓj(x)=0 (对所有 i,j)
- 对偶可行性:ui≥0 (对所有 i)
实例
考虑以下凸优化问题:
xmins.t.x12+x22+x1x2x1+x2≤2x1−x2=0
- 拉格朗日对偶
对于问题:
xmins.t.x12+x22+x1x2x1+x2≤2x1−x2=0
构造拉格朗日函数:
L(x,λ,ν)=x12+x22+x1x2+λ(x1+x2−2)+ν(x1−x2),
其中 λ≥0,ν∈R。
对偶函数为:
g(λ,ν)=xinfL(x,λ,ν).
通过求解梯度 ∇xL=0,得到 x1 和 x2 的表达式:
x1=3−λ−3ν,x2=3−λ+3ν.
将 x1,x2 代入 L(x,λ,ν),化简得:
g(λ,ν)=−3λ2−ν2−2λ.
对偶问题为:
λ≥0,ν∈Rmaxg(λ,ν).
- 对 ν 求极大值,得 ν=0。
- 对 λ≥0 求极大值,得 λ=0。
对偶最优值为 g(0,0)=0,与原问题最优值一致,验证强对偶成立。
- 弱对偶、强对偶与Slater条件
- 弱对偶:对偶问题的解始终小于等于原问题的解,即 g(λ,ν)≤p∗(原问题最优值)。
- 强对偶:若对偶间隙为零(g∗=p∗),则强对偶成立。
Slater条件:
- 存在严格可行点:例如 x1=x2=0,满足 x1+x2=0<2(不等式严格成立),且 x1−x2=0。
- 因此,Slater条件成立,强对偶成立。
- KKT条件
最优解 x1=x2=0 满足以下KKT条件:
⎩⎨⎧x1+x2=0≤2,x1−x2=0.λ=0≥0.λ(x1+x2−2)=0⋅(−2)=0.∇xL=[2x1+x2+λ+ν2x2+x1+λ−ν]=[0+0+0+00+0+0−0]=0.
所有KKT条件均被满足,验证了解的最优性。