凸优化
- 概念
1)凸优化:是指一种比较特殊的优化,是指求取最小值的目标函数为凸函数的一类优化问题。
2)两个不等式:
两个正数的算数平均值大于几何平均值,即:
给定可逆矩阵Q,对于任意的向量x,y有:
3)凸集:集合C中任意两个不同点的线段仍在集合C内,则称集合S为凸集。
凸函数的上方区域一定是凸集ó一个函数上方是凸集,则该函数一定是凸函数。
4)几何体的向量表达:
超平面(hyperplane)
还可以表达为:
a是法向量。超平面在n为空间中是n-1维,如2维空间中1维直线,3维空间中2维平面
半平面:
半平面在n为空间中是n维。
几何体:
超平面退化到二维就是直线,几何体退化到二维就是线段。
5)仿射集(Affine Set):通过集合C中任意两个不同点的直线仍在集合C内,则称集合C为仿射集。如:直线、平面、超平面。数学表达:
仿射集一定是凸集。
仿射变换:非奇异的线性变换
6)凸包:集合C上的凸组合形成的集合,叫做集合C的凸包。
7)多面体:有限个半平面与超平面的交集,即
仿射集(超平面,直线),射线,线段,半空间都是多面体。
多面体都是凸集。
8)性质
如果两个集合是凸集,那么它们的交集也是凸集
如果一个集合x是凸集,那么它的仿射变换也是凸的,即:f=Ax+b,f是凸集。
如果一个集合x是凸集,那么它的透视变换也是凸的。
如果一个集合x是凸集,那么它的投射变换也是凸的。
9)分割超平面
C与D与不相交的凸集,那么一定存在一个超平面P,将C与D分开。
且
10)支撑(Support)超平面
设集合C,x0为集合C边界上的点,若存在a对于任意C上的点满足ax≤ax0,那么称超平面
为集合C的支撑超平面。支撑超平面就是集合C的切平面,x0为切点。
如果一个集合在边界上任何一个点上都存在支撑超平面,那么一定为凸集。
凸集的边界上任意一点都存在支撑超平面。
11)凸函数:函数f的定义域C为凸集,且满足:
为凸函数。
若f一阶可微,函数f为凸函数当且仅当f的定义域为凸集。
切线方程,
切线方程实际上可以理解为支撑超平面。
若函数f二阶可微,函数f为凸函数当且仅当f的二阶导数
若为一元函数则二阶导数大于等于0
若为多元函数则Hessian矩阵为半正定。
凸函数举例:、、、、范数函数、最大值函数、指数线性函数
12)上镜图(epigraph)
函数f的图像可以定义为:
C为定义域。上镜图可以定义为:
函数为凸函数,则上镜图一定为凸集,反之,一个函数是凹函数,则其亚图(hypograph)是凸集。
13)Jensen不等式
若f是凸函数
推广到k元
如果将θ看作x的概率,那么不等式左侧括号内可以看作x的期望E(x),那么不等式左侧可以看作期望的函数,即f(E(x)),右侧可以看作函数的期望,即E (f (x)),那么
期望的函数小于期望的函数。
Jenson不等式几乎是所有不等式的基础。
给定概率密度p(x)与q(x),证明:
其中-lnx为凸函数,所以可以用Jetson不等式。D(p||q)是概率密度,为EM算法的基础。
14)保持函数凸性的算子(保凸运算)
凸函数非负加权和也是凸函数,即
凸函数与仿射函数的复合也是凸函数
凸函数的逐点求最大值
证明:
逐点上确界,就是也是凸函数
性质:直线是即凸且凹的,那么f(x)为直线方程式时,下式
构成了凸函数,而
就构成了凹函数。
- 凸优化
优化问题的基本形式(所有的优化问题都可以化成这种形式):
优化的目标函数:
服从1:
服从2:
如果、为凸函数,为仿射函数(线性函数)那么为凸优化问题。
优化的变量为:x
不等式约束:
等式约束:
无约束优化:i, j
优化问题域:
可行解:
可行域:所有可行解的集合
拉格朗日函数:
对于固定的x,拉格朗日函数为关于λ与v的仿射函数。
根据约束条件,其中λ≥0满足:
才有等号。原始问题为求在x上的最小值,所以原问题可以描述为:
将原始问题转变一下,表示为:
那么,就是将原问题转换为对偶问题(最大最小转换为最小最大)。凸优化最为核心的解决方法。为什么要这么做?在x不定的情况下,求两个变量(λ与v)的最大值不容易做。
对于λ1而言,
其中,α剩余项,那么α表示λ1的常数,那么就是关于λ1的仿射函数。所以可以得到关于λi都是仿射的。同理关于vj也是仿射的。由于仿射变换是线性的,可以表示为空间中的好多条线。x的不同线也不同。对这若干条线逐点(下图中的黑点所示)求下界一定是一个凹函数。这个凹函数可以即为:
称为拉格朗日对偶函数。对该函数(凹函数)求最大值,即
求解过程:
领,可以得到:,然后回代到,得到关于λ, v的函数。求解最大值。
与的关系?
那么可以认为是关于x的一个函数,即为:,所以有:
那么对取最小,即
为定值(常数),所以,那么,而是关于λ, v的函数,即为,所以有:
全部还原得到:
所以通过对偶问题求解的最小值有可能比原问题的最小值小,如果能满足f(x)是凸函数,h(x)是仿射的,那么原问题与对偶问题相等。
(意味着不要输在起跑线上)
KKT是必要条件:为了满足等号,即:
有驻点。