凸优化基础
来扯一些理论基础。
一些定义
凸集的定义
定义集合C为凸集当且仅当:任取x,y∈C,θ∈[0,1],都有 θx+(1-θ)y∈C
从几何意义上来说,就是凸集C中的任意线段,若他的的头尾属于该集合,则其整体属于该集合
凸函数的定义
函数f为从R^n映射到R的可积函数,且它需要满足:
1、定义域为凸集
2、f(θx+(1-θ)y) <= θ*f(x)+(1-θ)*f(y)
凸函数的判定
一阶条件
f(x)是凸函数当且仅当
1、f(x)的定义域为凸集。
2、f(y)>=f(x)+▽f(x)(y-x) 其中为点积
//条件2可以理解为单峰
一阶条件的证明
必要性
f(θx+(1-θ)y)<θf(x)+(1-θ)f(y)
⇒ (f(θx+(1-θ)y)-f(y))/θ < f(y)-f(x)
⇒ f’(x)*(y-x) <= f(y)-f(x)、
充分性
取两点x,y,取θ,取z=θx+(1-θ)y
f(x)θ >= f(z)θ + f’(z)(x-z)θ
f(y)(1-θ) >= f(z)(1-θ) + f’(z)(y-z)(1-θ)
两式相加得到:
f(θx+(1-θ)y)<=θf(x)+(1-θ)f(y)
二阶条件
f(x)是凸函数当且仅当
1、f(x)的定义域为凸集。
2、函数f为从R^n映射到R的可积函数,其二阶导存在,如果▽(2) f(x)正定,则f是凸的。
//其中▽(2) f(x)指的是二阶偏导矩阵
凸函数的性质
局部最优解等价于全局最优解
局部最优解 <==> 全局最优解
证明
假设x是局部最优解,那么任取δ>0,当0<|x-x0|<=δ,f(x)>f(x0)
根据凸函数的一阶条件:对定义域上任意点y,f(y)>=f(x)+▽f(x)*(y-x)
因为x为局部最优解,所以▽f(x)=0
所以f(y)>f(x) 对任意x!=y
即x为全局最优解。