最优化理论
第一节课
定义
从一个可行解的集合寻找出最好的元素
- 集合->问题
- 寻找->设计算法
- 最好的->评价标准
数学模型
- 目标函数/损失函数,一般取极小 minimize min
- 约束 subject to s.t.
- 等式约束
- 不等式约束
- 最优解: x ∗ ∈ R n x^* \in R^n x∗∈Rn, x ∗ x^* x∗默认为最优解
例子
数据拟合问题(凸优化)
考虑测量重力加速度的实验,
s
=
1
/
2
g
t
2
(
+
ϵ
)
s=1/2gt^2(+\epsilon)
s=1/2gt2(+ϵ),
ϵ
\epsilon
ϵ为误差
我们有
ϵ
i
=
s
i
−
1
/
2
g
t
i
2
\epsilon_i=s_i-1/2gt_i^2
ϵi=si−1/2gti2,n 个方程,n+1 个未知数
- 我们要使 m i n ∑ i = 1 n ϵ i 2 min\sum_{i=1}^n\epsilon_i^2 min∑i=1nϵi2,即为最小二乘法
- 或者极小化范数
采取哪种评价标准取决于你认为的噪声类型,1.是高斯噪声,2.是拉普拉斯噪声
线性回归问题(凸优化)
考虑多个样本多个自变量同时影响一个因变量,要找出回归函数
b
i
=
x
1
a
11
+
…
+
x
n
a
1
n
(
+
ϵ
)
,
i
∈
(
1
,
m
)
b_i=x_1a_{11}+…+x_na_{1n}(+\epsilon),i\in(1,m)
bi=x1a11+…+xna1n(+ϵ),i∈(1,m)
- 最小二乘回归
- lasso
- 岭回归
非线形回归(非凸优化)
神经网络
x
i
=
f
i
(
x
i
−
1
,
…
w
1
,
…
)
x_i=f_i(x_{i-1},…w_1,…)
xi=fi(xi−1,…w1,…).对于一个样本
x
(
i
)
x^{(i)}
x(i)和
y
(
i
)
y^{(i)}
y(i),预测结果为
y
^
\widehat{y}
y
,此时误差为
∣
∣
y
^
−
y
(
i
)
∣
∣
||\widehat{y}-y^{(i)}||
∣∣y
−y(i)∣∣
推荐系统
Netflex
建立一个打分矩阵,横坐标是用户 id,纵坐标是电影 id,记录了每一个用户对电影的打分. 这是一稀疏矩阵,如果用这个表格的信息预测出空格的元素,就可以做推荐了
即{
m
i
j
,
(
i
,
j
)
∈
Ω
m_{ij},(i,j)\in \Omega
mij,(i,j)∈Ω}已知
这里有一个假设,即这个打分 M 矩阵本质是一个秩比较小的矩阵
m
i
n
r
a
n
k
(
Z
)
min rank(Z)
minrank(Z)
s
.
t
.
z
∗
i
j
=
m
∗
i
j
,
∀
(
i
,
j
)
∈
Ω
s.t. z*{ij}=m*{ij},\forall(i,j)\in \Omega
s.t.z∗ij=m∗ij,∀(i,j)∈Ω
这个问题可以化简,其中用到的一个知识点是 Z T Z Z^TZ ZTZ一定是半正定的,关于这个问题的证明,这里有一些相关连接
第二节课
分类
线形规划与非线性
只要目标函数和约束有一个不是线性的就是非线性规划问题
凸和非凸优化问题
- 凸集
- 线形规划问题是凸优化问题的一个特例
仿射集
定义:对于仿射集 C,
∀
x
1
,
x
2
∈
C
\forall x_1,x_2\in C
∀x1,x2∈C,有
θ
x
1
+
(
1
−
θ
)
x
2
∈
C
,
∀
θ
∈
R
\theta x_1+(1-\theta)x_2\in C,\forall \theta\in R
θx1+(1−θ)x2∈C,∀θ∈R
仿射组合:对于
x
1
,
x
2
,
,
,
,
x
n
∈
C
,
θ
1
+
θ
2
+
,
,
,
+
θ
n
=
1
x_1,x_2,,,,x_n\in C, \theta_1+\theta_2+,,,+\theta_n=1
x1,x2,,,,xn∈C,θ1+θ2+,,,+θn=1,则
θ
1
x
1
+
θ
2
x
2
+
,
,
,
+
θ
n
x
n
\theta_1 x_1+\theta_2 x_2+,,,+\theta_n x_n
θ1x1+θ2x2+,,,+θnxn为仿射组合
仿射包
凸集
定义:对于凸集 C,
∀
x
1
,
x
2
∈
C
\forall x_1,x_2\in C
∀x1,x2∈C,有
θ
x
1
+
(
1
−
θ
)
x
2
∈
C
,
∀
θ
∈
[
0
,
1
]
\theta x_1+(1-\theta)x_2\in C,\forall \theta\in [0,1]
θx1+(1−θ)x2∈C,∀θ∈[0,1]
凸组合:对于
x
1
,
x
2
,
,
,
,
x
n
∈
C
,
θ
1
+
θ
2
+
,
,
,
+
θ
n
=
1
,
∀
θ
i
≥
0
x_1,x_2,,,,x_n\in C, \theta_1+\theta_2+,,,+\theta_n=1,\forall\theta_i\geq0
x1,x2,,,,xn∈C,θ1+θ2+,,,+θn=1,∀θi≥0,则
θ
1
x
1
+
θ
2
x
2
+
,
,
,
+
θ
n
x
n
\theta_1 x_1+\theta_2 x_2+,,,+\theta_n x_n
θ1x1+θ2x2+,,,+θnxn为凸组合
凸包 Convex Hull
凸集的特例:凸锥不要求
θ
\theta
θ 和为 1
对定义的理解:
- 先定义凸组合,然后对一个集合内的所有元素进行凸组合构成的集合称为凸包,那么凸集就是一个凸包是自身子集的集合;
- 同理有仿射组合,仿射包,仿射集
第三节课
空集是凸集,仿射集,凸锥
空集+一个点是凸集,仿射集,凸锥
n 维空间是凸集,仿射集,凸锥
超平面与半空间
对任意 n 维非 0 向量 a, { x ∣ a T x = b } \{x|a^Tx=b\} {x∣aTx=b}是超平面, { x ∣ a T x ≤ b } \{x|a^Tx\leq b\} {x∣aTx≤b}是半平面
P
≻
0
P\succ 0
P≻0
对于正定对称矩阵
P
∈
S
+
+
n
P\in S^n_{++}
P∈S++n,有
{
x
∣
(
x
−
x
c
)
P
−
1
(
x
−
x
c
)
≤
1
}
\{x|(x-x_c)P^{-1}(x-x_c)\leq 1\}
{x∣(x−xc)P−1(x−xc)≤1}是椭球
S
+
b
S^b_{+}
S+b(半正定对称矩阵)是凸锥
S
+
+
b
S^b_{++}
S++b(正定对称矩阵)是凸集
保凸运算
- 交
- 仿射变换
- 和 { x 1 + x 2 ∣ x 1 ∈ S 1 , x 2 ∈ S 2 } \{x_1+x_2|x_1\in S_1,x_2\in S_2\} {x1+x2∣x1∈S1,x2∈S2}
- 直积 { ( x 1 , x 2 ) ∣ x 1 ∈ S 1 , x 2 ∈ S 2 } \{(x_1,x_2)|x_1\in S_1,x_2\in S_2\} {(x1,x2)∣x1∈S1,x2∈S2}
- 透视函数及其逆
- 性质:
P
:
R
n
+
1
→
R
n
P:R^{n+1}\rightarrow R^n
P:Rn+1→Rn
d o m P = R n × R + + domP=R^n\times R_{++} domP=Rn×R++dom 表示其定义域,x 表示直积 - def= P ( z , t ) = z t P(z,t)=\frac{z}{t} P(z,t)=tzz 是 n 维的
- 保凸:
- 性质:
P
:
R
n
+
1
→
R
n
P:R^{n+1}\rightarrow R^n
P:Rn+1→Rn
- 线形分数函数
- def: g : R n → R m + 1 g:R^n\rightarrow R^{m+1} g:Rn→Rm+1
- $g(x)= \begin{bmatrix} 1 & 2 \ 3 & 4 \ \end{bmatrix} $
- 线形分数函数再套一个透视函数就可以
向量模 x x x等于 x T x x^Tx xTx
第四节课
凸函数,domf 为凸
def: f ( θ x + ( 1 − θ ) x ) ≤ θ f ( x ) + ( 1 − θ ) f ( x ) f(\theta x+(1-\theta)x)\leq\theta f(x)+(1-\theta)f(x) f(θx+(1−θ)x)≤θf(x)+(1−θ)f(x)
def 在 θ ∈ ( 0 , 1 ) \theta\in(0,1) θ∈(0,1)严格成立(即把小于等于换成小于),则是严格凸
凹函数:f 为凸函数,-f 为凹函数
高维凸函数定义
凸函数的扩展
d
o
m
f
∈
R
n
domf\in R^n
domf∈Rn
在 domf 外的直接定义为正无穷,记为
f
~
\tilde{f}
f~
第五节课
凸函数一阶条件:可微
强凸强于严格凸强于凸函数
严格凸最小值点只有一个
二阶条件
Hession 矩阵 ∇ 2 f ( x ) \nabla^2f(x) ∇2f(x)
- 要求 f 二阶可微,则 Hession 矩阵对称 ∇ 2 f ∈ S n \nabla^2f\in S^n ∇2f∈Sn
- 要求 domf 为凸集
μ 强凸 ⇔ f ( y ) ≥ f ( x ) + ∇ f T ( x ) ( y − x ) + μ 2 ∣ ∣ y − x ∣ ∣ 2 2 , μ > 0 \mu强凸\Leftrightarrow f(y)\geq f(x)+\nabla f^T(x)(y-x)+\frac{\mu}{2}||y-x||_2^2,\mu>0 μ强凸⇔f(y)≥f(x)+∇fT(x)(y−x)+2μ∣∣y−x∣∣22,μ>0
凸函数 ⇐ ∇ 2 f ( x ) ⪰ 0 , ∀ x ∈ d o m f 凸函数\Leftarrow \nabla^2f(x)\succeq 0,\forall x\in domf 凸函数⇐∇2f(x)⪰0,∀x∈domf
严格凸 ⇐ ∇ 2 f ( x ) ≻ 0 , ∀ x ∈ d o m f 严格凸\Leftarrow \nabla^2f(x)\succ 0,\forall x\in domf 严格凸⇐∇2f(x)≻0,∀x∈domf
强凸 ⇔ ∇ 2 f ( x ) − μ I ⪰ 0 , ∀ x ∈ d o m f 强凸\Leftrightarrow\nabla^2f(x)-\mu I\succeq0,\forall x\in domf 强凸⇔∇2f(x)−μI⪰0,∀x∈domf
例子: f ( x ) = 1 2 x T P x + q T x + r , P ∈ S n , q ∈ R n , r ∈ R f(x)=\frac{1}{2}x^TPx+q^Tx+r,P\in S^n,q\in R^n,r\in R f(x)=21xTPx+qTx+r,P∈Sn,q∈Rn,r∈R
例子:范数–一定是凸函数
- 仅有原点为 0
- 满足三角不等式
- p(ax)=ap(x)
证明 p ( θ x + ( 1 − θ ) y ) 和 p ( θ x ) + p ( ( 1 − θ ) y ) p(\theta x+(1-\theta)y)和p(\theta x)+p((1-\theta)y) p(θx+(1−θ)y)和p(θx)+p((1−θ)y)的大小
凸组合的函数值和函数值的凸组合
第六节课
- 极大值函数:凸函数,用凸组合的函数值小于函数值的凸组合可以证
- logsumexp 函数:极大值函数的解析近似
f ( x 1 , . . . , x n ) = l o g ( e x 1 + . . . e x n ) f(x_1,...,x_n)=log(e^{x_1}+...e^{x_n}) f(x1,...,xn)=log(ex1+...exn) 用缩放不等式可以看出近似
m a x { x 1 , . . , x n } ≤ f ( x 1 , . . . , x n ) ≤ l o g n + m a x { x 1 , . . , x n } max\{x_1,..,x_n\}\leq f(x_1,...,x_n)\leq logn+max\{x_1,..,x_n\} max{x1,..,xn}≤f(x1,...,xn)≤logn+max{x1,..,xn}
∂ f ∂ x i = e x i e x 1 + . . . + e x n \frac{\partial f}{\partial x_i}=\frac{e^{x_i}}{e^{x_1}+...+e^{x_n}} ∂xi∂f=ex1+...+exnexi
∂ 2 f ∂ x i ∂ x j = i ≠ j − e x i e x j ( e x 1 + . . . + e x n ) 2 = i = j e x i e x 1 + . . . + e x n − ( e x i ) 2 ( e x 1 + . . . + e x n ) 2 \frac{\partial^2 f}{\partial x_i\partial x_j}\overset{i\neq j}{=}\frac{-e^{x_i}e^{x_j}}{(e^{x_1}+...+e^{x_n})^2}\overset{i=j}{=}\frac{e^{x_i}}{e^{x_1}+...+e^{x_n}}-\frac{(e^{x_i})^2}{(e^{x_1}+...+e^{x_n})^2} ∂xi∂xj∂2f=i=j(ex1+...+exn)2−exiexj=i=jex1+...+exnexi−(ex1+...+exn)2(exi)2
d e f z = ( e x 1 + . . . + e x n ) T def z=(e^{x_1}+...+e^{x_n})^T defz=(ex1+...+exn)T H = 1 ( 1 T z ) 2 ( 1 T z D i a g ( z ) − z z T ) H=\frac{1}{(1^Tz)^2}(1^TzDiag(z)-zz^T) H=(1Tz)21(1TzDiag(z)−zzT)
判断半正定, ∀ V ∈ R n , V T K V \forall V\in R^n,V^TKV ∀V∈Rn,VTKV
保凸操作
- 非负加权和
- 非负积分
f ( x , y ) , ∀ y ∈ A f(x,y),\forall y\in A f(x,y),∀y∈A,均为 x 的凸函数,A 可以为凸或非凸 - 仿射映射
f : R m → R , A ∈ R m × n , b ∈ R m , g ( x ) = f ( A x + b ) , d o m g = { x ∣ A x + b ∈ d o m f } f:R^m\rightarrow R, A\in R^{m\times n},b\in R^m,g(x)=f(Ax+b),domg=\{x|Ax+b\in domf\} f:Rm→R,A∈Rm×n,b∈Rm,g(x)=f(Ax+b),domg={x∣Ax+b∈domf}
若 f 为凸,则 g 为凸 - 两个函数的极大
- 多个函数的极大,例 Piecewise Linear
分段线性函数:多个线性函数的极大为 凸函数
sup 上确界
f ( x , y ) 对于 x 为凹 , ∀ y ∈ A , g ( x ) = s u p y ∈ A f ( x , y ) f(x,y)对于x为凹,\forall y\in A,g(x)=\mathop{sup}\limits_{y\in A} f(x,y) f(x,y)对于x为凹,∀y∈A,g(x)=y∈Asupf(x,y)
第七节课
函数的组合
证明函数的组合的凸性
h
:
R
→
R
,
g
:
R
n
→
R
h:R\rightarrow R,g:R^n\rightarrow R
h:R→R,g:Rn→R
f(x)=h(g(x))记为
f
=
h
∘
g
f=h\circ g
f=h∘g
4 个凸性证明条件 原始条件 一阶条件 二阶条件(要求二阶可微)
这里用二阶条件(若 h,g 二阶可微)给出充分不必要条件
f
′
′
(
x
)
=
h
′
′
(
g
(
x
)
)
(
g
′
(
x
)
)
2
+
h
′
(
g
(
x
)
)
g
′
′
(
x
)
f^{''}(x)=h^{''}(g(x))(g^{'}(x))^2+h^{'}(g(x))g^{''}(x)
f′′(x)=h′′(g(x))(g′(x))2+h′(g(x))g′′(x)
h,g 为凸函数,h 单调递增 f 为凸
h 为凸函数,g 为凹函数,h 单调递减 f 为凸
函数的透视
f
:
R
n
→
R
,
g
:
R
n
×
R
+
+
→
R
f:R^n\rightarrow R,g:R^n \times R_{++}\rightarrow R
f:Rn→R,g:Rn×R++→R
g
(
x
,
t
)
=
t
f
(
x
t
)
g(x,t)=tf(\frac{x}{t})
g(x,t)=tf(tx)
f 和 g 同凹同凸
函数的共轭
定义
f
∗
(
y
)
=
s
u
p
x
∈
d
o
m
f
{
y
T
x
−
f
(
x
)
}
f^*(y)=\mathop{sup}\limits_{x\in domf}\{y^Tx-f(x)\}
f∗(y)=x∈domfsup{yTx−f(x)}
类似于上节课的多个线性函数的极大
凸集和凸函数的联系
- 凸函数的定义域是凸集
α
次水平集
:
f
:
R
n
→
R
,
C
α
=
{
x
∈
d
o
m
f
∣
f
(
x
)
≤
α
}
\alpha次水平集: f:R^n\rightarrow R ,C_\alpha=\{x\in domf|f(x)\leq\alpha\}
α次水平集:f:Rn→R,Cα={x∈domf∣f(x)≤α}
如果一个函数是凸函数,则他的所有
α
\alpha
α 次水平集都是凸集
第八节课
α \alpha α 次水平集的性质可以由 1.凸函数的 dom 是凸集 2.对于凸函数,凸组合的函数值小于函数值的凸组合
所有的 α \alpha α 次水平集都是凸集,不一定说明该函数为凸函数
例子: f ( x ) = x 1 2 + x 2 2 f(x)=x_1^2+x_2^2 f(x)=x12+x22 由等高线的疏密可以看到
拟凸函数 单模态函数
- def1:所有的 α \alpha α 次水平集都是凸集,该函数被称为拟凸函数
- def2:
f
:
R
n
→
R
⇄
d
o
m
f
为凸
,
∀
x
,
y
∈
d
o
m
f
,
m
a
x
{
f
(
x
)
,
f
(
y
)
}
≥
f
(
θ
x
+
(
1
−
θ
)
y
)
f:R^n\rightarrow R\rightleftarrows domf为凸,\forall x,y \in domf, max\{f(x),f(y)\}\geq f(\theta x+(1-\theta)y)
f:Rn→R⇄domf为凸,∀x,y∈domf,max{f(x),f(y)}≥f(θx+(1−θ)y)
这个定义可以看出,如果是凸函数则一定是拟凸函数
ps:拟凸函数只有一个山谷,所以凸函数的优化算法一般也会适用于拟凸函数
例:
f
(
x
)
=
a
T
x
+
b
c
T
x
+
d
f(x)=\frac{a^Tx+b}{c^Tx+d}
f(x)=cTx+daTx+b 线性分数函数是非凸,但是是拟凸
C
α
=
{
a
T
x
+
b
c
T
x
+
d
≤
α
,
c
T
x
+
d
≥
0
}
C_\alpha=\{\frac{a^Tx+b}{c^Tx+d}\leq\alpha,c^Tx+d\geq 0\}
Cα={cTx+daTx+b≤α,cTx+d≥0}
可以看出是线性的交集,所以是拟凸函数
什么是凸优化问题
一般优化问题:min f(x) 约束
无约束优化/有约束优化
- 定义域 D,所有函数定义域的交集
- 可行解集 X(点满足约束且在定义域内),
- 最优值 p ∗ = inf { f 0 ( x ) ∣ x ∈ X } p^*=\inf\{f_0(x)|x\in X\} p∗=inf{f0(x)∣x∈X},
- 最优解 x ∗ ∈ X , f 0 ( x ∗ ) = p ∗ x^*\in X ,f_0(x^*)=p^* x∗∈X,f0(x∗)=p∗,
- 最优解集(如果有多个最优解,那么他们可以组成集合)
- ϵ 次优解集 , x ϵ = { x ∣ f ( x ) ≤ p ∗ + ϵ , x ∈ X \epsilon 次优解集,x_\epsilon=\{x|f_(x)\leq p^*+\epsilon,x\in X ϵ次优解集,xϵ={x∣f(x)≤p∗+ϵ,x∈X x ϵ x_\epsilon xϵ不一定靠近 x ∗ x^* x∗
- 局部最优解 ∃ R > 0 s . t . f 0 ( x ) = i n f { f 0 ( z ) ∣ x ∈ X , z ∈ X , ∣ ∣ x − z ∣ ∣ 2 ≤ R } \exist R>0 s.t.f_0(x)=inf\{f_0(z)|x\in X,z\in X,||x-z||_2\leq R\} ∃R>0s.t.f0(x)=inf{f0(z)∣x∈X,z∈X,∣∣x−z∣∣2≤R} 局部最优解集
广义:
f
0
(
x
)
f_0(x)
f0(x)是凸函数,X 是凸集
狭义:
f
0
(
x
)
f_0(x)
f0(x)是凸函数,
f
i
(
x
)
f_i(x)
fi(x)为凸函数,
h
j
(
x
)
h_j(x)
hj(x)为仿射函数
其中 f i ( x ) f_i(x) fi(x)为不等式约束, h j ( x ) h_j(x) hj(x)为等式约束
例:
m
i
n
f
0
(
x
)
=
x
1
2
+
x
2
2
,
s
.
t
.
f
1
(
x
)
=
x
1
1
+
x
2
2
≤
0
,
h
1
(
x
)
=
(
x
1
+
x
2
)
2
=
0
min f_0(x)=x_1^2+x_2^2,s.t.f_1(x)=\frac{x_1}{1+x_2^2}\leq0,h_1(x)=(x_1+x_2)^2=0
minf0(x)=x12+x22,s.t.f1(x)=1+x22x1≤0,h1(x)=(x1+x2)2=0
广义凸优化,不是狭义凸优化
后面的课程默认凸优化问题为狭义凸优化问题
凸优化问题性质
- 局部最优等价全局最优(凸函数性质)
证明:反证法若 x 为局部 R 最优,y 为全局最优,取 R 范围内和 xy 连线的交集上一点,证明这点比 f(x)更小 - 若
f
0
(
x
)
f_0(x)
f0(x)可微,
∀
y
∈
X
,
∇
T
f
0
(
x
∗
)
(
y
−
x
∗
)
≥
0
,
x
∗
∈
X
\forall y\in X,\nabla^Tf_0(x^*)(y-x^*)\geq0,x^*\in X
∀y∈X,∇Tf0(x∗)(y−x∗)≥0,x∗∈X等价于
x
∗
x^*
x∗为最优解
简单来说就是无约束可微下梯度为 0 代表最优解,有约束下则是说明梯度和所有 y 都在等高线切线同一侧(点积大于 0)
第九节课
例子 1
m
i
n
f
0
(
x
)
,
s
.
t
.
A
x
=
b
min f_0(x), s.t.Ax=b
minf0(x),s.t.Ax=b
A
x
∗
=
b
,
∀
y
∈
X
,
A
y
=
b
则
y
=
x
∗
+
v
.
A
y
=
A
x
∗
+
A
v
→
v
∈
N
(
A
)
Ax^*=b,\forall y\in X, Ay=b则y=x^*+v. Ay=Ax^*+Av\rightarrow v\in N(A)
Ax∗=b,∀y∈X,Ay=b则y=x∗+v.Ay=Ax∗+Av→v∈N(A)
若 A 可逆,则 y − x ∗ y-x^* y−x∗是 0
例子 2
m
i
n
f
0
(
x
)
,
s
.
t
.
x
≥
0
minf_0(x),s.t.x\geq 0
minf0(x),s.t.x≥0x 的每一维都要大于 0
∇ T f 0 ( x ∗ ) ≱ 0 \nabla^Tf_0(x^*)\ngeq0 ∇Tf0(x∗)≱0
线性规划问题
m i n x C T x + d , s . t . G x ≤ h , A x = b \mathop{min}\limits_x C^Tx+d,s.t.Gx\leq h,Ax=b xminCTx+d,s.t.Gx≤h,Ax=b
引入松弛变量小技巧 上面的条件可以转化为
m
i
n
x
,
S
C
T
x
+
d
,
s
.
t
.
G
x
+
S
=
h
,
A
x
=
b
,
S
≥
0
\mathop{min}\limits_{x,S} C^Tx+d,s.t.Gx+S=h,Ax=b,S\geq0
x,SminCTx+d,s.t.Gx+S=h,Ax=b,S≥0
S 为 slack variable 松弛变量
m i n x + , x − , S C T ( x + − x − ) + d , s . t . G ( x + − x − ) + S = h , A ( x + − x − ) = b , S ≥ 0 , x + ≥ 0 , x − ≥ 0 \mathop{min}\limits_{x^+,x^-,S} C^T(x^+-x^-)+d,s.t.G(x^+-x^-)+S=h,A(x^+-x^-)=b,S\geq0,x^+\geq0,x^-\geq0 x+,x−,SminCT(x+−x−)+d,s.t.G(x+−x−)+S=h,A(x+−x−)=b,S≥0,x+≥0,x−≥0
标准形式
m
i
n
C
T
x
,
s
.
t
.
A
x
=
b
,
x
≥
0
min C^Tx,s.t.Ax=b,x\geq0
minCTx,s.t.Ax=b,x≥0
例子 食谱问题
m 种营养 不低于 b1,……,bm
n 种食物 单位食物 j 营养 aij,……,amj
单位食物 j 价格 cj
目标 花钱最少,满足需求
二次规划问题
m i n 1 2 x T P x + q T x + r , s . t . G x = h , A x = b min\frac{1}{2}x^TPx+q^Tx+r,s.t.Gx=h,Ax=b min21xTPx+qTx+r,s.t.Gx=h,Ax=b其中 P ∈ S + n , q ∈ R n , r ∈ R P\in S^n_+,q\in R^n,r\in R P∈S+n,q∈Rn,r∈R
quadprog
二次约束的二次规划
m i n 1 2 x T P 0 x + q 0 T x + r 0 , s . t . 1 2 x T P i x + q i T x + r i , A x = b min\frac{1}{2}x^TP_0x+q_0^Tx+r_0,s.t.\frac{1}{2}x^TP_ix+q_i^Tx+r_i,Ax=b min21xTP0x+q0Tx+r0,s.t.21xTPix+qiTx+ri,Ax=b其中 P i ∈ S + n , q i ∈ R n , r i ∈ R P_i\in S^n_+,q_i\in R^n,r_i\in R Pi∈S+n,qi∈Rn,ri∈R
第十节课
例子 最小二乘问题
本质是带噪的测量
m
i
n
x
1
2
∣
∣
A
x
−
b
∣
∣
2
2
\mathop{min}\limits_x\frac{1}{2}||Ax-b||_2^2
xmin21∣∣Ax−b∣∣22
A T A A^TA ATA肯定是半正定矩阵,任意 v 乘起来就可以知道
最小二乘解 x = ( A T A ) − 1 A T b x=(A^TA)^{-1}A^Tb x=(ATA)−1ATb
但实际中通常考虑 m i n x 1 2 ∣ ∣ A x − b ∣ ∣ 2 2 + λ 0 ∣ ∣ x ∣ ∣ 0 \mathop{min}\limits_x\frac{1}{2}||Ax-b||_2^2+\lambda_0||x||_0 xmin21∣∣Ax−b∣∣22+λ0∣∣x∣∣0,希望零范数尽可能大(即解尽可能稀疏),但是这个问题就变成了非凸问题了
不过陶哲轩证明了上面的最优解等价于
m
i
n
x
1
2
∣
∣
A
x
−
b
∣
∣
2
2
+
λ
1
∣
∣
x
∣
∣
1
\mathop{min}\limits_x\frac{1}{2}||Ax-b||_2^2+\lambda_1||x||_1
xmin21∣∣Ax−b∣∣22+λ1∣∣x∣∣1的最优解
1 范数最小化的最小值
通常我们对于 λ \lambda λ是有一个估计的,接下来我们尝试将这个 1 范数移到约束上 m i n x 1 2 ∣ ∣ A x − b ∣ ∣ 2 2 , s . t . ∣ ∣ x ∣ ∣ 1 ≤ ϵ 1 \mathop{min}\limits_x\frac{1}{2}||Ax-b||_2^2,s.t.||x||_1\leq\epsilon_1 xmin21∣∣Ax−b∣∣22,s.t.∣∣x∣∣1≤ϵ1,1 范数正则化的最小二乘
上面的几个问题都是二次规划问题, λ \lambda λ一般大于 0
m
i
n
x
1
2
∣
∣
A
x
−
b
∣
∣
2
2
+
λ
2
2
∣
∣
x
∣
∣
2
2
\mathop{min}\limits_x\frac{1}{2}||Ax-b||_2^2+\frac{\lambda_2}{2}||x||_2^2
xmin21∣∣Ax−b∣∣22+2λ2∣∣x∣∣22 QP 问题(二次规划)
最优解为
x
=
(
A
T
A
+
λ
2
I
)
−
1
A
T
b
x=(A^TA+\lambda_2I)^{-1}A^Tb
x=(ATA+λ2I)−1ATb
这个问题有叫岭回归,基于每个向量的各个分量都大小比较接近的假设
上面的式子又等于 m i n x 1 2 ∣ ∣ A x − b ∣ ∣ 2 2 , s . t . ∣ ∣ x ∣ ∣ 2 2 ≤ ϵ 2 \mathop{min}\limits_x\frac{1}{2}||Ax-b||_2^2,s.t.||x||_2^2\leq\epsilon_2 xmin21∣∣Ax−b∣∣22,s.t.∣∣x∣∣22≤ϵ2,这是 QCQP 问题(二次约束的二次规划问题)
例子 投资组合问题
m
a
x
P
1
x
1
+
.
.
.
+
P
n
x
n
,
s
.
t
.
x
1
+
.
.
.
+
x
n
≤
B
,
x
≥
0
maxP_1x_1+...+P_nx_n,s.t.x_1+...+x_n\leq B,x\geq0
maxP1x1+...+Pnxn,s.t.x1+...+xn≤B,x≥0
x 代表投入资金,最后获得 Px 的回报
但我们通常不知道 P,不过对于 P 这些随机变量我们可以知道其协方差 Σ \Sigma Σ和房车
这时目标函数变为极小化风险
m
i
n
x
T
Σ
x
min x^T\Sigma x
minxTΣx,
约束为
s
.
t
.
P
1
ˉ
x
1
+
.
.
.
+
P
n
ˉ
x
n
≥
r
m
i
n
,
x
1
+
.
.
.
+
x
n
=
B
,
x
≥
0
s.t.\bar{P_1}x_1+...+\bar{P_n}x_n\geq r_{min},x_1+...+x_n=B,x\geq0
s.t.P1ˉx1+...+Pnˉxn≥rmin,x1+...+xn=B,x≥0,
这里的协方差根据定义是正定的,所以这是 QP 问题
上面的模型由Markowitz提出
例子 线性分数规划
半定规划 SDP
第十一节课
多目标优化
对于好解的定义比较困难,到底是各个目标都好还是某几项突出为好呢
帕累托最优解是一个向量,可能是有很多个解的组合
一个问题的所有帕累托最优解的集合是帕累托最优面
m
i
n
{
f
01
(
x
)
.
.
.
f
0
q
(
x
)
}
,
s
.
t
.
x
∈
X
min \{f_{01}(x)...f_{0q}(x)\},s.t.x\in X
min{f01(x)...f0q(x)},s.t.x∈X若这里的目标函数和约束都是凸则可以转化为下面的形式
m
i
n
λ
1
f
01
(
x
)
+
.
.
.
+
λ
q
f
0
q
(
x
)
,
λ
1
,
.
.
.
,
λ
q
≥
0
,
s
.
t
.
x
∈
X
min \lambda_1f_{01}(x)+...+\lambda_qf_{0q}(x),\lambda_1,...,\lambda_q\geq0,s.t.x\in X
minλ1f01(x)+...+λqf0q(x),λ1,...,λq≥0,s.t.x∈X
这里求解帕累托最优面的方法其实就是将一个多目标最优化变为多次单目标最优化的求解
对偶性
本章分析的是一般优化问题(可能非凸)
m
i
n
f
0
(
x
)
,
s
.
t
.
f
i
(
x
)
≤
0
,
h
j
=
0
min f_0(x),s.t.f_i(x)\leq0,h_j=0
minf0(x),s.t.fi(x)≤0,hj=0
可行域 X,定义域 D
拉格朗日函数
L
(
x
,
λ
,
v
)
=
f
0
(
x
)
+
∑
i
=
1
m
λ
i
f
i
(
x
)
+
∑
j
=
1
p
v
i
h
j
(
x
)
,
x
∈
R
n
,
λ
∈
R
m
,
v
∈
R
p
L(x,\lambda,v)=f_0(x)+\sum\limits_{i=1}^m\lambda_if_i(x)+\sum\limits_{j=1}^pv_ih_j(x),x\in R^n,\lambda\in R^m,v\in R^p
L(x,λ,v)=f0(x)+i=1∑mλifi(x)+j=1∑pvihj(x),x∈Rn,λ∈Rm,v∈Rp
d
o
m
L
=
D
×
R
m
×
R
p
domL=D\times R^m\times R^p
domL=D×Rm×Rp,其中
λ
,
v
\lambda,v
λ,v又叫拉格朗日乘子或对偶变量(dual variable),x 叫原变量(primal variable)
拉格朗日对偶函数
g ( λ , v ) = i n f x ∈ D L ( x , λ , v ) g(\lambda,v)=\mathop{inf}\limits_{x\in D}L(x,\lambda,v) g(λ,v)=x∈DinfL(x,λ,v)注意这里 x 是定义域,其有以下性质
- 凹函数
-
∀
λ
≥
0
,
∀
v
,
g
(
λ
,
v
)
≤
p
∗
\forall\lambda\geq0,\forall v, g(\lambda,v)\leq p^*
∀λ≥0,∀v,g(λ,v)≤p∗
一般情况下对于 λ , v \lambda,v λ,v没有任何限制,只有在研究性质二的时候才会引入对于 λ \lambda λ的限制
于是对于一个一般的优化问题我们可以转化为 max 一个凹函数,即 min 一个凸优化问题来取得 p ∗ p^* p∗的下界估计
证明 ∀ λ ≥ 0 , ∀ v , g ( λ , v ) ≤ p ∗ \forall\lambda\geq0,\forall v, g(\lambda,v)\leq p^* ∀λ≥0,∀v,g(λ,v)≤p∗
g ( λ , v ) ≤ L ( x ∗ , λ , v ) ≤ p ∗ g(\lambda,v)\leq L(x^*,\lambda,v)\leq p^* g(λ,v)≤L(x∗,λ,v)≤p∗
例子
m i n x T x , s . t . A x = b min x^Tx,s.t.Ax=b minxTx,s.t.Ax=b
必考拉格朗日函数的计算
L
=
x
T
x
+
∑
j
=
1
p
v
j
(
a
j
T
x
−
b
j
)
=
x
T
x
+
(
A
x
−
b
)
T
v
=
x
T
x
+
v
T
A
x
−
b
T
v
L=x^Tx+\sum\limits_{j=1}^pv_j(a_j^Tx-b_j)=x^Tx+(Ax-b)^Tv=x^Tx+v^TAx-b^Tv
L=xTx+j=1∑pvj(ajTx−bj)=xTx+(Ax−b)Tv=xTx+vTAx−bTv
求梯度得到 x = − A T v 2 x=-\frac{A^Tv}{2} x=−2ATv最小,所以 g ( v ) = − 1 4 v T A A T v − b T v g(v)=-\frac{1}{4}v^TAA^Tv-b^Tv g(v)=−41vTAATv−bTv这是凹函数,符合结论
m i n C T x , s . t . A x = b , x ≥ 0 min C^Tx,s.t.Ax=b,x\geq0 minCTx,s.t.Ax=b,x≥0
L = C T x − x T λ + ( A x − b ) T v = ( C − λ + A T v ) T x − b T v L=C^Tx-x^T\lambda+(Ax-b)^Tv=(C-\lambda+A^Tv)^Tx-b^Tv L=CTx−xTλ+(Ax−b)Tv=(C−λ+ATv)Tx−bTv
这里对于下界要分情况讨论
−
b
T
v
:
A
T
v
−
λ
+
c
=
0
-b^Tv:A^Tv-\lambda+c=0
−bTv:ATv−λ+c=0
−
∞
:
其他
-\infin:其他
−∞:其他
第十二节课
例子 m i n x T w x , s . t . x i = ± 1 minx^Twx,s.t.x_i=\pm1 minxTwx,s.t.xi=±1
可行解集是非凸,因为是散点
做等价变换
x
i
2
−
1
=
0
x_i^2-1=0
xi2−1=0
L
(
x
,
v
)
=
x
T
w
x
+
∑
i
=
1
n
v
i
(
x
i
2
−
1
)
=
x
T
(
w
+
D
i
a
g
(
v
)
)
x
−
1
T
v
L(x,v)=x^Twx+\sum\limits_{i=1}^nv_i(x_i^2-1)=x^T(w+Diag(v))x-1^Tv
L(x,v)=xTwx+i=1∑nvi(xi2−1)=xT(w+Diag(v))x−1Tv
g
(
v
)
g(v)
g(v):若
w
+
D
i
a
g
(
v
)
w+Diag(v)
w+Diag(v)半正定则最小值为
−
1
T
v
-1^Tv
−1Tv,否则是负无穷
w
+
D
i
a
g
(
v
)
⪰
0
w+Diag(v)\succeq0
w+Diag(v)⪰0是关于 v 的凸集
对偶问题
对于 m a x g ( λ , v ) , s . t . λ ≥ 0 maxg(\lambda,v),s.t.\lambda\geq0 maxg(λ,v),s.t.λ≥0是原来一般问题的对偶问题
- d ∗ d^* d∗最优值 ≤ p ∗ \leq p^* ≤p∗
- λ ∗ , v ∗ \lambda^*,v^* λ∗,v∗最优解
和函数的共轭的关系
f → f ∗ : f ∗ ( y ) = s u p x ∈ d o m f ( y T x − f ( x ) f\rightarrow f^* :f^*(y)=\mathop{sup}\limits_{x\in domf}(y^Tx-f(x) f→f∗:f∗(y)=x∈domfsup(yTx−f(x)
g
(
λ
,
v
)
=
i
n
f
x
∈
D
L
(
x
,
λ
,
v
)
=
−
s
u
p
x
∈
d
o
m
f
(
−
L
(
x
,
λ
,
v
)
)
g(\lambda,v)=\mathop{inf}\limits_{x\in D}L(x,\lambda,v)=-\mathop{sup}\limits_{x\in domf}(-L(x,\lambda,v))
g(λ,v)=x∈DinfL(x,λ,v)=−x∈domfsup(−L(x,λ,v))
当
f
i
,
h
j
f_i,h_j
fi,hj是 x 的线性的话,这个形式就和共轭一样了
例子 m i n f 0 ( x ) , s . t . A x ≤ b , C x = d minf_0(x),s.t.Ax\leq b,Cx=d minf0(x),s.t.Ax≤b,Cx=d
L
=
f
0
(
x
)
+
(
A
T
λ
+
C
T
v
)
T
x
−
λ
T
b
−
v
T
d
L=f_0(x)+(A^T\lambda+C^Tv)^Tx-\lambda^Tb-v^Td
L=f0(x)+(ATλ+CTv)Tx−λTb−vTd
g
=
−
s
u
p
x
∈
D
(
−
(
A
T
λ
+
C
T
v
)
T
x
−
f
0
(
x
)
)
−
λ
T
b
−
v
T
d
g=-\mathop{sup}\limits_{x\in D}(-(A^T\lambda+C^Tv)^Tx-f_0(x))-\lambda^Tb-v^Td
g=−x∈Dsup(−(ATλ+CTv)Tx−f0(x))−λTb−vTd
验证了对偶和共轭的关系
对于线性规划问题 m i n C T x , s . t . A x = b , x ≥ 0 min C^Tx,s.t.Ax=b,x\geq0 minCTx,s.t.Ax=b,x≥0
L = C T x − x T λ + ( A x − b ) T v = ( C − λ + A T v ) T x − b T v L=C^Tx-x^T\lambda+(Ax-b)^Tv=(C-\lambda+A^Tv)^Tx-b^Tv L=CTx−xTλ+(Ax−b)Tv=(C−λ+ATv)Tx−bTv
g=
−
b
T
v
:
A
T
v
−
λ
+
c
=
0
-b^Tv:A^Tv-\lambda+c=0
−bTv:ATv−λ+c=0
−
∞
:
其他
-\infin:其他
−∞:其他
这次我们看他的对偶问题
m
a
x
g
(
λ
,
v
)
,
s
.
t
.
λ
≥
0
→
m
a
x
−
b
T
v
,
s
.
t
.
A
T
v
−
λ
+
c
=
0
,
λ
≥
0
→
m
a
x
−
b
T
v
,
s
.
t
.
A
T
v
+
c
≥
0
maxg(\lambda,v),s.t.\lambda\geq0\rightarrow max-b^Tv,s.t.A^Tv-\lambda+c=0,\lambda\geq0\rightarrow max-b^Tv,s.t.A^Tv+c\geq0
maxg(λ,v),s.t.λ≥0→max−bTv,s.t.ATv−λ+c=0,λ≥0→max−bTv,s.t.ATv+c≥0
如果我们只关注最优解
m
i
n
b
T
v
,
s
.
t
.
A
T
v
+
c
≥
0
min b^Tv,s.t.A^Tv+c\geq0
minbTv,s.t.ATv+c≥0
而且我们也可以证明线性规划问题的对偶的对偶等于自身
m i n x T x , s . t . A x = b min x^Tx,s.t.Ax=b minxTx,s.t.Ax=b
g
(
v
)
=
−
1
4
v
T
A
A
T
v
−
b
T
v
g(v)=-\frac{1}{4}v^TAA^Tv-b^Tv
g(v)=−41vTAATv−bTv
m
i
n
1
4
v
T
A
A
T
v
−
b
T
v
min \frac{1}{4}v^TAA^Tv-b^Tv
min41vTAATv−bTv没法对偶了
凸优化问题的对偶的对偶不一定是自己
对于 d ∗ d^* d∗和 p ∗ p^* p∗的讨论
注意下面的 d ∗ d^* d∗是根据 max 的原本的对偶问题说的
- d ∗ ≥ p ∗ d^*\geq p^* d∗≥p∗弱对偶性质
- d ∗ = p ∗ d^*= p^* d∗=p∗ 强对偶性质
-
d
∗
−
p
∗
d^*- p^*
d∗−p∗对偶间隙
强对偶成立时,有对偶间隙为 0
对偶间隙为 0 的一个充分条件
def 相对内部
r
e
l
i
n
t
D
=
{
x
∈
D
∣
B
(
x
,
r
)
∩
a
f
f
D
⊆
D
,
∃
r
>
0
}
relint D=\{x\in D|B(x,r)\cap affD\subseteq D,\exist r>0\}
relintD={x∈D∣B(x,r)∩affD⊆D,∃r>0}
- 对于非凸问题,一般没有强对偶性
- 对于凸问题,如果满足 slater 条件,则有强对偶性
slater 条件
∃
x
∈
r
e
l
i
n
t
D
,
使
f
i
(
x
)
<
0
,
A
x
=
b
\exist x\in relintD,使f_i(x)<0,Ax=b
∃x∈relintD,使fi(x)<0,Ax=b
当 x 的定义域是全空间的时候,
x
∈
r
e
l
i
n
t
D
x\in relintD
x∈relintD可以直接忽略
例子
QCQP 二次约束二次规划问题
$
slater 充分不必要
m i n x , s . t . x ≤ 0 , − x ≤ 0 min x,s.t.x\leq0,-x\leq0 minx,s.t.x≤0,−x≤0
m
i
n
x
T
A
x
,
s
.
t
.
x
T
x
≤
1
,
A
∈
S
n
minx^TAx,s.t.x^Tx\leq1,A\in S^n
minxTAx,s.t.xTx≤1,A∈Sn
这个例子中
p
∗
=
d
∗
p^*=d^*
p∗=d∗
第十三节课
对于对偶问题的理解
几何解释
m
i
n
f
0
(
x
)
,
s
.
t
.
f
1
(
x
)
≤
0
minf_0(x),s.t.f_1(x)\leq0
minf0(x),s.t.f1(x)≤0
定义
G
=
{
(
f
1
(
x
)
,
f
0
(
x
)
)
∣
x
∈
D
}
G=\{(f_1(x),f_0(x))|x\in D\}
G={(f1(x),f0(x))∣x∈D}则对偶函数
g
(
λ
)
=
i
n
f
{
t
+
λ
u
∣
(
u
,
t
)
∈
G
g(\lambda)=inf\{t+\lambda u|(u,t)\in G
g(λ)=inf{t+λu∣(u,t)∈G
经济学解释 指定生产计划
m
i
n
f
0
(
x
)
,
s
.
t
.
f
i
(
x
)
≤
0
minf_0(x),s.t.f_i(x)\leq0
minf0(x),s.t.fi(x)≤0,-f0 是利润.fi 是原材料限制
如果考虑用剩余的原材料可以买卖,设原材料价格
λ
i
≥
0
\lambda_i\geq0
λi≥0
这时的损失(负利润)就是
L
(
x
,
λ
)
=
f
0
(
x
)
+
∑
i
=
1
m
λ
i
f
i
(
x
)
L(x,\lambda)=f_0(x)+\sum\limits_{i=1}^m\lambda_if_i(x)
L(x,λ)=f0(x)+i=1∑mλifi(x)
这时的 g 则是会取 L 的下界,d* 还是会比 p*小,因为允许买卖肯定会赚更多钱
相等的情况要么不剩余资源,要么价格为 0
多目标优化解释 目标和约束可以相互转化
对于一个凸优化问题
m
i
n
f
0
(
x
)
,
s
.
t
.
f
i
(
x
)
≤
0
minf_0(x),s.t.f_i(x)\leq0
minf0(x),s.t.fi(x)≤0
L
(
x
,
λ
)
=
f
0
(
x
)
+
∑
i
=
1
m
λ
i
f
i
(
x
)
L(x,\lambda)=f_0(x)+\sum\limits_{i=1}^m\lambda_if_i(x)
L(x,λ)=f0(x)+i=1∑mλifi(x)
考虑多目标优化问题
m
i
n
f
0
(
x
)
,
m
i
n
f
1
(
x
)
,
,
,
f
m
(
x
)
minf_0(x),minf_1(x),,,f_m(x)
minf0(x),minf1(x),,,fm(x)
可以通过求帕累托最优解变成
m
i
n
{
f
0
(
x
)
+
λ
1
f
1
(
x
)
+
.
.
.
+
λ
m
f
m
(
x
)
,
λ
i
≥
0
min\{f_0(x)+\lambda_1f_1(x)+...+\lambda_mf_m(x),\lambda_i\geq0
min{f0(x)+λ1f1(x)+...+λmfm(x),λi≥0和 L 就一样了
鞍点解释
min-max 不等式
s
u
p
z
∈
S
z
i
n
f
w
∈
S
w
f
(
w
,
z
)
≤
i
n
f
w
∈
S
w
s
u
p
z
∈
S
z
f
(
w
,
z
)
\mathop{sup}\limits_{z\in S_z}\mathop{inf}\limits_{w\in S_w}f(w,z)\leq\mathop{inf}\limits_{w\in S_w}\mathop{sup}\limits_{z\in S_z}f(w,z)
z∈Szsupw∈Swinff(w,z)≤w∈Swinfz∈Szsupf(w,z)
我们更关心什么时候等于号会成立
若求解左边问题和右边问题的解是同一个元素,则等号成立
则对于这个点,是 w 方向最小,z 方向最高,称为鞍点
对于一般凸优化问题
s
u
p
λ
≥
0
L
=
f
0
(
x
)
,
f
i
(
x
)
≤
0
/
+
∞
,
e
l
s
e
\mathop{sup}\limits_{\lambda\geq0}L=f_0(x),f_i(x)\leq0/+\infin,else
λ≥0supL=f0(x),fi(x)≤0/+∞,else
p
∗
=
i
n
f
x
{
f
0
(
x
)
∣
f
i
(
x
)
≤
0
}
=
i
n
f
x
s
u
p
λ
≥
0
L
p^*=\mathop{inf}\limits_x\{f_0(x)|f_i(x)\leq0\}=\mathop{inf}\limits_x\mathop{sup}\limits_{\lambda\geq0}L
p∗=xinf{f0(x)∣fi(x)≤0}=xinfλ≥0supL
d
∗
=
s
u
p
λ
≥
0
i
n
f
x
L
d^*=\mathop{sup}\limits_{\lambda\geq0}\mathop{inf}\limits_xL
d∗=λ≥0supxinfL
结论
- p ∗ ≤ d ∗ p^*\leq d^* p∗≤d∗
- L ( x , λ ) L(x,\lambda) L(x,λ)有鞍点等价 p ∗ = d ∗ p^*=d^* p∗=d∗且最优解是同一个
第十四节课
证明 p ∗ = d ∗ p^*=d^* p∗=d∗且最优解是同一个,设原对偶问题最优解为 ( x ~ , λ ~ ) → (\tilde{x},\tilde{\lambda})\rightarrow (x~,λ~)→
KKT 条件
一般优化问题最优解满足的性质(可能非凸, p ∗ = d ∗ p^*=d^* p∗=d∗),(可微,去掉也没关系,证明可能用到)
- 原问题 m i n f 0 ( x ) , s . t . f i ( x ) ≤ 0 , h j = 0 minf_0(x),s.t.f_i(x)\leq0,h_j=0 minf0(x),s.t.fi(x)≤0,hj=0
- 对偶问题 m a x g ( λ , v ) , s . t . λ > 0 maxg(\lambda,v),s.t.\lambda>0 maxg(λ,v),s.t.λ>0
f 0 ( x ∗ ) = g ( λ ∗ , v ∗ ) = m i n x L ( x , λ ∗ , v ∗ ) f_0(x^*)=g(\lambda^*,v^*)=\mathop{min}\limits_xL(x,\lambda^*,v^*) f0(x∗)=g(λ∗,v∗)=xminL(x,λ∗,v∗)
若 p ∗ = d ∗ p^*=d^* p∗=d∗,则满足下面三类条件(合称 KKT 条件)
- λ i ∗ f i ( x ∗ ) = 0 \lambda^*_if_i(x^*)=0 λi∗fi(x∗)=0,即互补松弛条件
- 梯度为 0 不一定是最优解,但最优解一定梯度为 0,要求 ∇ L ( x ∗ , λ ∗ , v ∗ ) = 0 \nabla L(x^*,\lambda^*,v^*)=0 ∇L(x∗,λ∗,v∗)=0 稳定性条件(如果不可微这个条件会变成次梯度=0)
- 可行性条件,原问题和对偶问题的所有约束都应该被满足
结论一:优化问题满足 KKT 条件+这个优化问题是凸的
→
p
∗
=
d
∗
\rightarrow p^*=d^*
→p∗=d∗
结论二:
p
∗
=
d
∗
→
p^*=d^*\rightarrow
p∗=d∗→满足 KKT 条件
证明结论一, L ( x , λ ~ , v ~ ) L(x,\tilde{\lambda},\tilde{v}) L(x,λ~,v~)是凸函数
第十五节课
灌水问题 m i n − ∑ i = 1 N ( α i + x i ) , s . t . x ≥ 0 , 1 T x = 1 min-\sum\limits_{i=1}^N(\alpha_i+x_i),s.t.x\geq0,1^Tx=1 min−i=1∑N(αi+xi),s.t.x≥0,1Tx=1
KKT 条件等价如下
- x ∗ ≥ 0 x^*\geq0 x∗≥0
- 1 T x = 1 1^Tx=1 1Tx=1
- v ∗ ≥ 1 α i + x i v^*\geq\frac{1}{\alpha_i+x_i} v∗≥αi+xi1
- x i ∗ ( v ∗ + 1 α i + x i ) = 0 x_i^*(v^*+\frac{1}{\alpha_i+x_i})=0 xi∗(v∗+αi+xi1)=0
分类讨论得到 x i ∗ = m a x { 0 , 1 v ∗ − α i } x^*_i=max\{0,\frac{1}{v^*}-\alpha_i\} xi∗=max{0,v∗1−αi}
SVM m a x 2 ∣ ∣ w ∣ ∣ 2 , s . t . y i ( w T x i + b ) ≥ 1 max\frac{2}{||w||^2},s.t.y_i(w^Tx_i+b)\geq1 max∣∣w∣∣22,s.t.yi(wTxi+b)≥1
等价于 m i n ∣ ∣ w ∣ ∣ 2 2 , s . t . y i ( w T x i + b ) ≥ 1 min\frac{||w||^2}{2},s.t.y_i(w^Tx_i+b)\geq1 min2∣∣w∣∣2,s.t.yi(wTxi+b)≥1
由于这个问题符合 slater 条件,所以可以使用 KKT 条件
最短路径问题
第十六节课
干扰问题
m
i
n
f
0
(
x
)
,
s
.
t
.
f
i
(
x
)
≤
0
,
h
j
(
x
)
=
0
minf_0(x),s.t.f_i(x)\leq0,h_j(x)=0
minf0(x),s.t.fi(x)≤0,hj(x)=0
m
i
n
f
0
(
x
)
,
s
.
t
.
f
i
(
x
)
≤
u
i
,
h
j
(
x
)
=
w
j
minf_0(x),s.t.f_i(x)\leq u_i,h_j(x)=w_j
minf0(x),s.t.fi(x)≤ui,hj(x)=wj
这时最优解为 p ∗ ( u , w ) p^*(u,w) p∗(u,w)
一个不重要的性质:若原问题为凸,则 p ∗ ( u , w ) p^*(u,w) p∗(u,w)是关于(u,w)为凸
一个重要的性质:若原问题为凸且对偶间隙为 0,
p
∗
(
u
,
w
)
≥
p
∗
(
0
,
0
)
−
(
λ
∗
)
T
u
−
(
v
∗
)
T
w
p^*(u,w)\geq p^*(0,0)-(\lambda^*)^Tu-(v^*)^Tw
p∗(u,w)≥p∗(0,0)−(λ∗)Tu−(v∗)Tw.
λ
∗
,
v
∗
\lambda^*,v^*
λ∗,v∗是原对偶问题的解
证明见于照片
上面的式子类似于泰勒展开,什么时候大于等于能够看成约等于?这时要考虑局部敏感性
若原问题为凸,对偶间隙为 0, p ∗ ( u , w ) p^*(u,w) p∗(u,w)在 0 点可微,则 λ i ∗ = − ∂ p ∗ ( 0 , 0 ) ∂ u i \lambda_i^*=\frac{-\partial p^*(0,0)}{\partial u_i} λi∗=∂ui−∂p∗(0,0), v j ∗ = − ∂ p ∗ ( 0 , 0 ) ∂ w i v_j^*=\frac{-\partial p^*(0,0)}{\partial w_i} vj∗=∂wi−∂p∗(0,0)
启发式算法
Boolean LP 布尔线性规划问题 m i n c T x , s . t . A x ≤ b , x i ∈ { 0 , 1 } minc^Tx,s.t.Ax\leq b,x_i\in\{0,1\} mincTx,s.t.Ax≤b,xi∈{0,1}
线性规划松弛:将 x i ∈ { 0 , 1 } x_i\in\{0,1\} xi∈{0,1}变为 0 ≤ x i ≤ 1 0\leq x_i\leq 1 0≤xi≤1,再考虑满足约束
下面从原对偶问题的角度来看
先考虑原问题的对偶问题
m
i
n
c
T
x
,
s
.
t
.
A
x
≤
b
,
x
i
(
x
i
−
1
)
=
0
minc^Tx,s.t.Ax\leq b,x_i(x_i-1)=0
mincTx,s.t.Ax≤b,xi(xi−1)=0
g ( λ , v ) = { − λ T b − 1 4 ∑ i = 1 m ( c i + a i T λ − v i ) 2 / v i , ∀ i , v i ≥ 0 − ∞ , e l s e g(\lambda,v)= \left\{ \begin{aligned} &-\lambda^Tb-\frac{1}{4}\sum^m_{i=1}(c_i+a_i^T\lambda-v_i)^2/v_i,\forall i,v_i\geq0\\ &-\infin,else \end{aligned} \right. g(λ,v)=⎩ ⎨ ⎧−λTb−41i=1∑m(ci+aiTλ−vi)2/vi,∀i,vi≥0−∞,else
m a x λ , v g ( λ , v ) , s . t . λ ≥ 0 \mathop{max}\limits_{\lambda,v}g(\lambda,v),s.t.\lambda\geq0 λ,vmaxg(λ,v),s.t.λ≥0
m a x λ , w − λ T b + ∑ i = 1 n w i , s . t . λ ≥ 0 , w i ≤ 0 , w i ≤ c i + a i T λ \mathop{max}\limits_{\lambda,w}-\lambda^Tb+\sum\limits^n_{i=1}w_i,s.t.\lambda\geq0,w_i\leq0,w_i\leq c_i+a_i^T\lambda λ,wmax−λTb+i=1∑nwi,s.t.λ≥0,wi≤0,wi≤ci+aiTλ
再考虑 LP 松弛问题的对偶问题