凸优化中凸函数定义、直线与线段、凸集、仿射集合、仿射函数

凸优化(Stephen Boyd)中自学部分

凸函数定义

函数f:RnRf:\mathbf{R}^{n} \rightarrow \mathbf{R}是凸的,如果ff在定义域(domdom)上是凸集,且对于任意x,ydomfx,y∈\mathbf{dom}f和任意0θ10⩽θ⩽1,有

f(θx+(1θ)y)θf(x)+(1θ)f(y)f(\theta x+(1-\theta) y) \leqslant \theta f(x)+(1-\theta) f(y)
凸优化中凸函数定义、直线与线段、凸集、仿射集合、仿射函数
凸函数示意图,图中点(x,f(x))(x,f(x))(y,f(y))(y,f(y))之间的线段都在函数ff的图像上方。函数是凸函数,当且仅当其在与其定义域相交的任何直线上都是凸的。

为了理解,补充直线和线段的知识:

直线和线段

x1x2x_{1} \neq x_{2}RnR^n空间中的两个点,则y=θx1+(1θ)x2,θRy=\theta x_{1}+(1-\theta) x_{2}, \theta \in \mathbf{R}组成一条穿越x1x_{1}x2x_{2}的直线,参数θ\theta的值在0和1之间变动。这里的x1x_{1}x2x_{2}可以类比上述提到的(x,f(x))(x,f(x))(y,f(y))(y,f(y))
凸优化中凸函数定义、直线与线段、凸集、仿射集合、仿射函数
个人理解:一般我们在实际应用中,用到的凸函数偏多,凹函数可以取负号变换为凸函数。

仿射集合

判断集合CRnC∈R^n为仿射集合,则对于任意的x1x2Cx_{1} ,x_{2}∈CθR\theta∈R,有θx1+(1θ)x2C\theta x_{1}+(1-\theta) x_{2} \in C,也就是CC包含了CC中任意两点的系数之和为1的线性组合。此概念拓展到多个点也适用。

例子:
线性方程组的解集C={xAx=b}C=\{x | A x=b\}是一个仿射集合,其中ARm×nA \in \mathbf{R}^{m \times n},BRmB \in \mathbf{R}^{m}.

证明:可设x1x2Cx_{1} ,x_{2}∈C,有Ax1=b,Ax2=bA x_{1}=b, A x_{2}=b,对于任意θ\thetaA(θx1+(1θ)x2)=θAx1+(1θ)Ax2=θb+(1θ)b=bA\left(\theta x_{1}+(1-\theta) x_{2}\right)=\theta A x_{1}+(1-\theta) A x_{2}=\theta b+(1-\theta) b=b,说明任意的仿射组合θx1+(1θ)x2\theta x_{1}+(1-\theta) x_{2}也在CC中。

凸集

注意:这里的凸集和凸函数不是一个概念。
判断某个集合是否为凸集,看集合中任意两点之间的线段是否在集合中。举个例子:
凸优化中凸函数定义、直线与线段、凸集、仿射集合、仿射函数
上图中,(1)包含其边界的六边形是凸的。(2)肾形集合不是凸的,因为图中所示集合中两点间的线段不为集合所包含。(3)仅包含部分边界的正方形不是凸的。

仿射函数

白话理解就是仿射函数是一个线性函数和一个常数的和,也就是具有f(x)=Ax+bf(x)=A x+b的形式,其中ARm×nA \in \mathbf{R}^{m \times n},BRmB \in \mathbf{R}^{m}

假设SRnS \subseteq \mathbf{R}^{n}是凸的(即SS为凸集),并且f:RnRmf: \mathbf{R}^{n} \rightarrow \mathbf{R}^{m}是仿射函数,则SSff下的象f(S)={f(x)xS}f(S)=\{f(x) | x \in S\}是凸的。