[最优化方法笔记] 凸集、凸函数、凸优化

1. 凸集

1.1 凸集的几何定义

Rn 空间中,经过两个不同的点 x1x2 可以确定一条直线,方程如下:

y=θx1+(1θ)x2,θR

特别地:

  • θ=0 时,y=x2

  • θ=1 时,y=x1

  • 0θ1 时,y 是点 x1x2 之间构成的 线段 上的点

  • θ<0θ>1 时,点 y 是在 x1x2 构成的 直线上 的但是在所构成 线段之外 的点。


仿射集:

如果经过集合 C 的任意两个点的直线都在 C 内,则称 C仿射集

x1,x2Cθx1+(1θ)x2C,θR


凸集:

如果经过集合 C 的任意两个点的 线段 都在 C 内,则称 C凸集

x1,x2Cθx1+(1θ)x2C,0θ1

显然,仿射集 都是 凸集

上图中的 (a) 为 凸集,而 (b), (c) 不是凸集。

其中,(b) 存在空隙,显然不是凸集;(c) 存在一些边不在集合中,故也不是凸集。


1.2 凸集的性质

  • S 为凸集,则 kS={ks|kR,sS} 也是凸集

  • ST 都是凸集,则 S+T={s+t|sS,tT} 也是凸集

  • ST 都是凸集,则 ST 也是凸集。任意多凸集的交都是凸集

  • 凸集的内部和闭包都是凸集




2. 凸函数

2.1 凸函数定义

凸函数

f:RnR 为适当函数,函数 f定义域凸集

f(θx+(1θ)y)θf(x)+(1θ)f(y)

对于所有的 x,ydomf,0θ1 都成立(dom即定义域),那么称 f凸函数

  • f 为凸函数,则 f凹函数

  • 若对于所有 x,ydomf,xy,0<θ<1

    f(θx+(1θ)y)<θf(x)+(1θ)f(y)

    则称 f严格凸函数


凸函数举例

  • 一元凸函数

    • 仿射函数: 对任意 a,bRax+bR 上的凸函数

    • 指数函数:对任意 aReaxR 上的凸函数

    • 幂函数:对 a1a0xaR+ 上的凸函数

  • 多元凸函数

    • 仿射函数:f(x)=aTx+b

    • 范数:||x||p=(i=1n|xi|p)1p,p1


2.2 凸函数判定条件

一阶条件

对于定义在凸集上的 可微函数 ff 是凸函数当且仅当 f(y)f(x)+f(x)T(yx)x,ydomf

显然,凸函数永远位于其切线的上方


二阶条件

对于定义在凸集上的 二阶可微函数 ff 是凸函数当且仅当

2f(x)0,xdomf

显然,函数 f 的导数是 非递减的

如果 2f(x)0,xdomf,则 f严格凸函数




3. 凸优化

3.1 凸优化问题

凸优化问题 要求目标函数为凸函数,定义域为凸集。

minf(x)s.t.gi(x)0,i=1,...,mAx=b

其中 目标函数 f不等式约束 gi 均为 凸函数等式约束 均为 仿射函数


3.2 凸优化问题最优解

凸优化问题的 任意局部极小点 都是 全局最优

x 是凸优化问题 minxXf(x) 的最优解当且仅当 x 可行且

f(x)T(yx)0,yX

可以由凸函数判定 一阶条件 得出此结论。


3.3 常见凸优化问题

  • 线性规划 (LP, Linear Program)

    minxRncTxs.t.Gxe,Ax=b

    其中 cRn,ARm×n,bRm,GRp×n,eRp

  • 二次规划 (QP, Quadradic Program)

    min12xTPx+qTx+rs.t.Gxe,Ax=b

    目标函数是凸二次型的


3.4 凸优化一般求解

凸优化问题中局部最优解即全局最优解,故求解过程可以简化为:找到一个点使得目标函数值持续减少,直到触发停止条件或达到一个最小值。

xk+1=xk+αkdk

其中 xkk 次迭代的值dkk 次迭代时的搜索方向αkk 次迭代的步长

搜索方向满足:

  • f(xk)Tdk<0,即沿着梯度相反的方向进行搜索

  • f(xk+1)=f(xk+αkdk)<f(xk)




参考

刘浩洋, 户将, 李勇锋, 文再文 《最优化:建模、算法与理论》

Convex Optimization——凸函数

机器学习必知必会:凸优化

posted @   MarisaMagic  阅读(966)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示