这篇文章写一下凸优化的内容
# 凸优化主要内容
(1)凸集基本概念
a.凸集保凸运算 b.分割超平面 c.支撑超平面
(2)凸函数基本概念
a.上境图 b.Jensen不等式 c.凸函数保凸运算
(3)凸优化一般提法
a.对偶函数 b.鞍点解释 c.用对偶求解最小二乘问题 d.强对偶KKT条件
思考两个不等式
(1)两个正数的算数平均数大于等于几何平均数:
(2)给定可逆矩阵Q,对于任意的向量x,y,有:
x
T
Q
x
+
y
T
Q
−
1
y
≥
2
x
T
y
x^TQx+y^TQ^{-1}y≥2x^Ty
xTQx+yTQ−1y≥2xTy
都可以在凸函数的框架下得到解决
思考凸集和凸函数
(1)
y
=
x
2
y=x^2
y=x2是凸函数,函数图像上位于
y
=
x
2
y=x^2
y=x2上方的区域构成凸集
a.凸函数图像的上方区域,一定是凸集
b.一个函数图像的上方区域为凸集,则该函数是凸函数
因此,学习凸优化,考察凸函数,先从凸集及其性质开始。
(超)几何体的向量表达
(1)给定二维平面上的两个定点:
a
(
x
1
,
y
1
)
,
b
(
x
2
,
y
2
)
a(x_1,y_1),b(x_2,y_2)
a(x1,y1),b(x2,y2),则:
直线:
x
=
θ
a
+
(
1
−
θ
)
b
,
θ
∈
R
x=\theta a+(1-\theta)b,\theta∈R
x=θa+(1−θ)b,θ∈R
线段:
x
=
θ
a
+
(
1
−
θ
)
b
,
θ
∈
[
0
,
1
]
x=\theta a+(1-\theta)b,\theta∈[0,1]
x=θa+(1−θ)b,θ∈[0,1]
(2)一般的,
f
(
x
,
y
)
=
0
f(x,y)=0
f(x,y)=0表示定义域在
R
2
R^2
R2的曲线
特殊的,
y
=
g
(
x
)
y=g(x)
y=g(x)表示定义域在R的曲线,
f
(
x
,
y
)
=
y
−
g
(
x
)
f(x,y)=y-g(x)
f(x,y)=y−g(x)
(3)一般的,,
f
(
x
,
y
,
z
)
=
0
f(x,y,z)=0
f(x,y,z)=0表示定义域在
R
3
R^3
R3的曲面
特殊的,
z
=
h
(
x
,
y
)
z=h(x,y)
z=h(x,y)表示定义域在
R
2
R^2
R2的曲面,
f
(
x
,
y
,
z
)
=
z
−
h
(
x
,
y
)
f(x,y,z)=z-h(x,y)
f(x,y,z)=z−h(x,y)
(4)上述表达方式可以方便的推广到高维
记:
x
=
(
u
1
,
u
2
,
.
.
.
u
n
)
x=(u_1,u_2,...u_n)
x=(u1,u2,...un),则
f
(
x
)
=
0
f(x)=0
f(x)=0表示定义域在
R
n
R^n
Rn的超曲面
不特殊说明,后面将使用x1表示向量,如:定义两个点x1,x2,则
x
=
θ
x
1
+
(
1
−
θ
)
x
2
,
θ
∈
R
x=\theta x1+(1-\theta)x2 ,\theta∈R
x=θx1+(1−θ)x2,θ∈R表示经过这两点的直线
来看几个抽象又重要的概念:
仿射集(Affine set)
定义:通过集合C中任意两个不同点的直线仍然在集合C内,则称集合C为仿射集
仿射集的例子:直线、平面、超平面
超平面:
A
x
=
b
Ax=b
Ax=b
f
(
x
)
=
0
f(x)=0
f(x)=0表示定义域在
R
n
R^n
Rn的超曲面:令:
f
(
x
)
=
A
x
−
b
f(x)=Ax-b
f(x)=Ax−b,则f(x)=0表示“截距”为b的超平面
三维空间的平面是二维的;四维空间的平面是几维的?
n维空间的n-1维仿射集为n-1维超平面
仿射包
仿射包:包含集合C的最小仿射集
仿射维数:仿射包的维数
a.三角形的仿射维数为2
b.线段的仿射维数为1
c.球的仿射维数为3
内点和相对内点
(1)对于集合C中的某个点x,以x为中心做半径为r的球B(r>0,且足够小),若球B完全落在C的内部(即:B是C的子集),则x为C的内点
(2)集合C的仿射包的内点y,如果y位于C中,则称y为集合C的相对内点
求集合C的仿射包A,对于C中的某点y,以y为中心做半径为r的球B(r>0,且足够小),若球B和A的交集完全落在C的内部(即:B∩A是C的子集),则y为C的相对内点
(3)用relint C表示C的相对内点
凸集
定义:集合C内任意两点间的线段均在集合C内,则称集合C为凸集
凸包
集合C的所有点的凸组合形成的集合,叫做集合C的凸包
集合C的凸包是能够包含C的最小的凸集
锥(Cones)
锥的定义:
凸锥的定义:集合C既是凸集又是锥
锥包的定义:集合C内点的所有锥组合
锥的举例:过原点的射线、射线族、角
超平面和半空间
超平面:
{
x
∣
a
T
x
=
b
}
\lbrace x|a^Tx=b\rbrace
{x∣aTx=b}
半空间:
{
x
∣
a
T
x
≤
b
}
\lbrace x|a^Tx≤b\rbrace
{x∣aTx≤b},
{
x
∣
a
T
x
≥
b
}
\lbrace x|a^Tx≥b\rbrace
{x∣aTx≥b}
多面体
多面体有限个半空间和超平面的交集
仿射集(如超平面、直线)、射线、线段、半空间都是多面体
多面体是凸集
此外:有界的多面体有时称作多胞形(该定义略混乱,不同文献的含义不同)
保持凸性的运算
集合交运算
仿射变换:函数
f
=
A
x
+
b
f=Ax+b
f=Ax+b的形式,称函数是仿射的,即线性函数加常数的形式
透视变换
投射变换(线性分式变换)
仿射变换
f
(
x
)
=
A
x
+
b
,
A
∈
R
m
∗
n
,
b
∈
R
m
f(x)=Ax+b,A∈R^{m*n},b∈R^m
f(x)=Ax+b,A∈Rm∗n,b∈Rm:伸缩,平移,投影
若f是仿射变换,
f
:
R
n
→
R
m
,
f
(
S
)
=
{
f
(
x
)
∣
x
∈
S
}
f:R^n\to R^m,f(S)=\lbrace f(x)|x∈S\rbrace
f:Rn→Rm,f(S)={f(x)∣x∈S}
若S为凸集,则f(s)为凸集
若f(S)为凸集,则S为凸集
进一步分析仿射变换
两个凸集的和为凸集
两个凸集的笛卡尔积(直积)为凸集
两个集合的部分和为凸集(分配率)
透视变换
透视函数对向量进行伸缩(规范化),使得最后一维的分量为1并舍弃之
透视的直观意义:小孔成像
投射函数(线性分式函数)
投射函数是透视函数和仿射函数的复合
g为仿射函数:
定义f为线性分式函数
若c=0,d>0,即f为普通的仿射函数
分割超平面
设C和D为两不相交的凸集,则存在超平面P,P可以将C和D分离
注意上式中可以取到等号
a."若两个凸集C和D的分割超平面存在,C和D不想交"为假命题
b.加强条件:若两个凸集至少有一个是开集,那么当且仅当存在分割超平面,它们不想交
分割超平面的构造
两个集合的距离,定义为两个集合间元素的最短距离
做集合C和集合D最短线段的垂直平分线
支撑超平面
设集合C,
x
0
x_0
x0位C边界上的点。若存在a≠0,满足对任意x∈C,都有
a
T
x
≤
a
T
x
0
a^Tx≤a^Tx_0
aTx≤aTx0成立,则称超平面
{
x
∣
a
T
x
=
a
T
x
0
}
\lbrace x|a^Tx=a^Tx_0\rbrace
{x∣aTx=aTx0}为集合C在点
x
0
x_0
x0处的支撑超平面
凸集边界上任意一点,均存在支撑超平面
反之,若一个闭的非中空(内部点不为空)集合,在边界上的任意一点存在支撑超平面,则该集合为凸集
凸函数
若函数f的定义域domf为凸集,且满足:
即任意两点间割线位于函数上方
一阶可微
若f一阶可微,则函数f为凸函数当前仅当f的定义域domf为凸集,且:
即切线位于函数下方
进一步的思考
a.结合凸函数图像和支撑超平面理解该问题
b.对于凸函数,其一阶Taylor近似本质上是该函数的全局下估计
c.反之,如果一个函数的一阶Taylor近似总是起全局下估计,则该函数是凸函数
d.该不等式说明从一个函数的局部信息,可以得到一定程度的全局信息
二阶可微
若函数f二阶可微,则函数f为凸函数当前仅当dom(定义域)为凸集,且:
以上符号其实就是≥符号
若f是一元函数,上式表示二阶导大于等于0
若f是多元函数,上式表示二阶导Hessian矩阵半正定
凸函数举例
a.指数函数:
e
a
x
e^{ax}
eax
b.幂函数:
x
a
,
x
∈
R
+
,
a
≥
1
o
r
a
≤
0
x^a,x∈R_+,a≥1or a≤0
xa,x∈R+,a≥1ora≤0
c.负对数函数:
−
l
o
g
x
-logx
−logx
d.负熵函数:
x
l
o
g
x
xlogx
xlogx
e.范数函数:
∣
∣
x
∣
∣
p
||x||_p
∣∣x∣∣p
f
(
x
)
=
m
a
x
(
x
1
,
.
.
.
,
x
n
)
f(x)=max(x_1,...,x_n)
f(x)=max(x1,...,xn)
f
(
x
)
=
x
2
/
y
,
y
>
0
f(x)=x^2/y,y>0
f(x)=x2/y,y>0
f
(
x
)
=
l
o
g
(
e
x
1
+
.
.
.
+
e
x
n
)
f(x)=log(e^{x_1}+...+e^{x_n})
f(x)=log(ex1+...+exn)
上境图
函数f的图像定义为:
{
(
x
,
f
(
x
)
)
∣
x
∈
d
o
m
f
}
\lbrace (x,f(x))|x∈dom f \rbrace
{(x,f(x))∣x∈domf}
函数f的上境图(epigraph)定义为:
e
p
i
f
=
{
(
x
,
t
)
∣
x
∈
d
o
m
f
,
f
(
x
)
≤
t
}
epi f=\lbrace(x,t)|x∈dom f,f(x)≤t\rbrace
epif={(x,t)∣x∈domf,f(x)≤t}
凸函数与凸集
一个函数是凸函数,当且仅当其上境图是凸集。
进一步,一个函数是凹函数,当且仅当其亚图(hypograph)是凸集
h
y
p
o
f
=
{
(
x
,
t
)
∣
t
≤
f
(
x
)
}
hypo f=\lbrace (x,t)|t≤f(x)\rbrace
hypof={(x,t)∣t≤f(x)}
Jensen不等式:若f是凸函数
(1)基本Jensen不等式
若:
θ
1
,
θ
2
,
.
.
.
,
θ
k
≥
0
,
θ
1
+
θ
2
,
.
.
.
,
+
θ
k
=
1
\theta_1,\theta_2,...,\theta_k≥0,\theta_1+\theta_2,...,+\theta_k=1
θ1,θ2,...,θk≥0,θ1+θ2,...,+θk=1
则:
若:
p
(
x
)
≥
0
o
n
S
⊆
d
o
m
f
,
∫
S
p
(
x
)
d
x
=
1
p(x)≥0 on S \subseteq domf,\int_Sp(x)dx=1
p(x)≥0onS⊆domf,∫Sp(x)dx=1
则:
即: f ( E ( x ) ) ≤ E f ( x ) f(E(x))≤Ef(x) f(E(x))≤Ef(x)(这个结论很重要)
Jensen不等式是几乎所有不等式的基础
(1)利用
y
=
−
l
o
g
x
y=-logx
y=−logx是凸函数,证明:
提示:任取a,b>0,
θ
\theta
θ=0.5代入基本Jensen不等式
(2)利用
f
(
E
(
x
)
)
≤
E
(
f
(
x
)
)
,
(
f
是
凸
函
数
)
,
证
明
下
式
D
≥
0
f(E(x))≤E(f(x)),(f是凸函数),证明下式D≥0
f(E(x))≤E(f(x)),(f是凸函数),证明下式D≥0
注意到
y
=
−
l
o
g
x
y=-logx
y=−logx在定义域上是凸函数
保持函数凸性的算子
(1)凸函数的非负加权和
f
(
x
)
=
w
1
f
1
(
x
)
+
.
.
.
+
w
n
f
n
(
x
)
f(x)=w_1f_1(x)+...+w_nf_n(x)
f(x)=w1f1(x)+...+wnfn(x)
(2)凸函数与仿射函数的复合
g
(
x
)
=
f
(
A
x
+
b
)
g(x)=f(Ax+b)
g(x)=f(Ax+b)
(3)凸函数的逐点最大值、逐点上确界
f
(
x
)
=
m
a
x
(
f
1
(
x
)
,
.
.
.
,
f
n
(
x
)
)
f(x)=max(f_1(x),...,f_n(x))
f(x)=max(f1(x),...,fn(x))
f
(
x
)
=
s
u
p
g
(
x
,
y
)
f(x)=sup g(x,y)
f(x)=supg(x,y)
凸函数的逐点最大值
f1,f2均为凸函数,定义函数f:
f
(
x
)
=
m
a
x
{
f
1
(
x
)
,
f
2
(
x
)
}
f(x)=max\lbrace f_1(x),f_2(x)\rbrace
f(x)=max{f1(x),f2(x)},则函数f为凸函数
证明:
共轭函数
原函数
f
:
R
n
→
R
f:R^n\to R
f:Rn→R共轭函数定义:
显然,定义式的右端是关于y的仿射函数,它们逐点求上确界,得到的函数
f
∗
(
y
)
f^*(y)
f∗(y)一定是凸函数
该名称的原因:
凸函数的共轭函数的共轭函数是其本身
凸优化
优化问题的基本形式:
局部最优问题:
minimize
f
0
(
x
)
,
x
∈
R
n
f_0(x),x∈R^n
f0(x),x∈Rn
subject to
f
i
(
x
)
≤
0
,
i
=
1
,
.
.
.
,
m
f_i(x)≤0,i=1,...,m
fi(x)≤0,i=1,...,m
h
j
(
x
)
=
0
,
h
=
1
,
.
.
.
,
p
h_j(x)=0,h=1,...,p
hj(x)=0,h=1,...,p
∣
∣
x
−
z
∣
∣
2
≤
R
,
R
>
0
||x-z||_2≤R,R>0
∣∣x−z∣∣2≤R,R>0
其中,
f
i
(
x
)
f_i(x)
fi(x)为凸函数,
h
j
(
x
)
h_j(x)
hj(x)为仿射函数
凸优化问题的重要性质:
a.凸优化问题的可行域为凸集
b.凸优化问题的局部最优解即为全局最优解
对偶问题
一般优化问题的Lagrange乘子法
minimize
f
0
(
x
)
,
x
∈
R
n
f_0(x),x∈R^n
f0(x),x∈Rn
subject to
f
i
(
x
)
≤
0
,
i
=
1
,
.
.
.
,
m
f_i(x)≤0,i=1,...,m
fi(x)≤0,i=1,...,m
h
j
(
x
)
=
0
,
h
=
1
,
.
.
.
,
p
h_j(x)=0,h=1,...,p
hj(x)=0,h=1,...,p
lagrange函数:
对固定的x,Lagrange函数 L ( x , λ , v ) L(x,\lambda,v) L(x,λ,v)为关于 λ \lambda λ和 v v v的仿射函数
Lagrange对偶函数(dual function)
Lagrange对偶函数(拉格朗日求下确界):
若没有下确界,定义:
g
(
λ
,
v
)
=
−
∞
g(\lambda,v)=-∞
g(λ,v)=−∞
根据定义,显然有:对
∀
λ
>
0
,
∀
v
\forall\lambda>0,\forall v
∀λ>0,∀v,若原优化问题有最优值
p
∗
p^*
p∗,则:
g
(
λ
,
v
)
≤
p
∗
g(\lambda,v)≤p^*
g(λ,v)≤p∗
进一步,Lagrange对偶函数为凹函数
鞍点解释
(1)为表述方便,假设没有等式约束,只考虑不等式约束,结论可方便的扩展到等式约束。
(2)假设
x
0
x_0
x0不可行,即存在某些i,使得
f
i
(
x
)
>
0
f_i(x)>0
fi(x)>0。则选择
λ
i
→
∞
\lambda_i\to∞
λi→∞,对于其他乘子,
λ
j
=
0
,
j
≠
i
\lambda_j=0,j≠i
λj=0,j=i
(3)假设
x
0
x_0
x0可行,则有
f
i
(
x
)
≤
0
(
i
=
1
,
2
,
.
.
.
,
m
)
f_i(x)≤0(i=1,2,...,m)
fi(x)≤0(i=1,2,...,m),选择
λ
i
=
0
,
i
=
1
,
2
,
.
.
.
,
m
\lambda_i=0,i=1,2,...,m
λi=0,i=1,2,...,m
有:
ok,这篇文章暂且先到这里