凸优化学习
今天学习保持函数凸性的操作。
学习笔记
一、非负加权和。
形如:
若f1⋯fm,则f∑i=1mwifi为凸wi≥0,∀i
若f_1\cdots f_m,则f\sum^{m}_{i=1}w_if_i为凸\qquad w_i\ge0,\forall i
若f1⋯fm,则fi=1∑mwifi为凸wi≥0,∀i
或:
若f(x,y)对任意y∈A,f(x,y)均为凸,且∀y∈Aw(y)≥0,则g(x)=∫y∈Aw(y)f(x,y)dy为凸
若f(x,y)对任意y\in A,f(x,y)均为凸,且\forall y\in A\quad w(y)\ge0,则\\
g(x)=\int _{y\in A}w(y)f(x,y)\text dy为凸
若f(x,y)对任意y∈A,f(x,y)均为凸,且∀y∈Aw(y)≥0,则g(x)=∫y∈Aw(y)f(x,y)dy为凸
第二个其实就是无数凸函数非负加权和。需要说明的是,其中f(x,y)f(x,y)f(x,y)对于x,yx,yx,y是联合凸的,即jointly convex\text{jointly convex}jointly convex,对于xxx或yyy则不一定凸。
二、仿射映射
1.变量仿射
有凸函数f:Rn→R,则函数g(x)=f(Ax+b)为凸,其中A∈Rm×nb∈Rmdomg={Ax+b∈domf} 有凸函数f:R^n\rightarrow R,则函数g(x)=f(\textbf{A}x+b)为凸,其中\\ \textbf A \in R^{m×n}\quad b\in R^m\quad \text{dom}g=\lbrace\textbf Ax+b\in \text{dom}f\rbrace 有凸函数f:Rn→R,则函数g(x)=f(Ax+b)为凸,其中A∈Rm×nb∈Rmdomg={Ax+b∈domf}
2.函数仿射
若:fi:Rn→R,i=1,⋯ ,m为凸,则g(x)=AT[f1(x)⋯fm(x)]T+bA∈Rn,b∈R为凸。 若: f_i:R^n\rightarrow R,i=1,\cdots,m为凸,则g(x)=A^T[f_1(x)\cdots f_m(x)]^T+b \quad A\in R^n,b\in R为凸。 若:fi:Rn→R,i=1,⋯,m为凸,则g(x)=AT[f1(x)⋯fm(x)]T+bA∈Rn,b∈R为凸。
三、多个凸函数的极大值函数为凸
形如:
f(x)=max{fi(x)}i=1,⋯ ,n,fi(x)为凸函数
f(x)=\max \lbrace f_i(x)\rbrace\qquad i=1,\cdots,n,f_i(x)为凸函数
f(x)=max{fi(x)}i=1,⋯,n,fi(x)为凸函数
f(x)f(x)f(x)为凸函数,domf=domf1∩domf2\text{dom}f=\text{dom}f_1\cap \text{dom}f_2domf=domf1∩domf2
当n→+∞n\rightarrow +\inftyn→+∞时,也可写为:
若f(x,y)对x为凸函数,∀y∈A则g=supy∈Af(x,y)为凸函数
若f(x,y)对x为凸函数,\forall y\in A则\\
g=\sup\limits_{y\in A}f(x,y)为凸函数
若f(x,y)对x为凸函数,∀y∈A则g=y∈Asupf(x,y)为凸函数
例1:
f(x)=max{x2,x}f(x)=\max\lbrace x^2,x\rbracef(x)=max{x2,x}
例2:向量中r个最大元素和
形如:
f(x)=∑i=1rx[i]=max{xi1+⋯+xir∣1≤i1≤⋯≤ir≤n}
\begin{aligned}
f(x)
&=\sum^r_{i=1}x[i]\\
& =\max\lbrace x_{i_1}+\cdots+x_{i_r}\mid 1\le i_1\le\cdots\le i_r\le n\rbrace
\end{aligned}
f(x)=i=1∑rx[i]=max{xi1+⋯+xir∣1≤i1≤⋯≤ir≤n}
其中x[i]x[i]x[i]是指排序第iii大的元素。
这个问题等价于任意rrr个求和找最大,相当于极大值函数的仿射映射。
例3:实对称阵的最大特征值为凸
形如:
f(x)=λmax(X)domf=Sm
f(x)=\lambda_{\max}(\textbf X)\qquad \text{dom}f=S^m
f(x)=λmax(X)domf=Sm
是凸函数。
证明:
设λ为一个特征值,y为特征向量,有:设\lambda为一个特征值,y为特征向量,有:设λ为一个特征值,y为特征向量,有:
X⋅y=λ⋅yyTXy=yTλy⇔yTXy=λ∥y∥22⇔λ=yTXyλ∥y∥22⇔λ=yTXy,∥y∥22=1时⇔λmax(X)=sup{yTXy∣∥y∥22=1}
\begin{aligned}
& & \textbf X\cdot y&=\lambda\cdot y\\
& &y^T \textbf X y&=y^T\lambda y\\
\Leftrightarrow& & y^T \textbf X y&=\lambda\|y\|_2^2\\
\Leftrightarrow& &\lambda&=\frac{y^T \textbf X y}{\lambda\|y\|_2^2}\\
\Leftrightarrow& &\lambda&= y^T \textbf X y,\|y\|_2^2=1时\\
\Leftrightarrow& &\lambda_{max}(\textbf X)&=\sup\lbrace y^T\textbf X y\mid\|y\|_2^2=1\rbrace\\
\end{aligned}
⇔⇔⇔⇔X⋅yyTXyyTXyλλλmax(X)=λ⋅y=yTλy=λ∥y∥22=λ∥y∥22yTXy=yTXy,∥y∥22=1时=sup{yTXy∣∥y∥22=1}
四、函数组合
八条结论很重要,需要判断函数凸性的时候勤查询。
形如:
f(x)=h(g(x))domf={x∈domg∣g(x)∈domh}h:Rk→Rg:Rn→Rkf:h∘g:Rn→R
f(x)=h\big(g(x)\big)\qquad \text{dom}f=\lbrace x\in\text{dom}g\mid g(x)\in \text{dom} h\rbrace\\
h:R^k\rightarrow R\qquad g:R^n\rightarrow R^k\qquad f:h\circ g:R^n\rightarrow R
f(x)=h(g(x))domf={x∈domg∣g(x)∈domh}h:Rk→Rg:Rn→Rkf:h∘g:Rn→R
1°.设所有函数二阶可微
f′′(x)=h′′(g(x))g′(x)2+h′(g(x))g′′(x)
f''(x)=h''\big(g(x)\big)g'(x)^2+h'\big(g(x)\big)g''(x)
f′′(x)=h′′(g(x))g′(x)2+h′(g(x))g′′(x)
有如下四条结论:
f凸⇔1.h为凸,不降,g为凸2.h为凸,不增,g为凹f凹⇔3.h为凹,不降,g为凹4.h为凹,不增,g为凸
\begin{aligned}
f凸& & \Leftrightarrow & 1.h为凸,不降,g为凸\\
&& &2.h为凸,不增,g为凹\\
f凹&& \Leftrightarrow& 3.h为凹,不降,g为凹\\
&& &4.h为凹,不增,g为凸\\
\end{aligned}
f凸f凹⇔⇔1.h为凸,不降,g为凸2.h为凸,不增,g为凹3.h为凹,不降,g为凹4.h为凹,不增,g为凸
2°.设所有函数二阶不可微
f凸⇔5.h为凸,h~不降,g为凸6.h为凸,h~不增,g为凹f凹⇔7.h为凹,h~不降,g为凹8.h为凹,h~不增,g为凸
\begin{aligned}
f凸& & \Leftrightarrow & 5.h为凸,\widetilde{h}不降,g为凸\\
&& &6.h为凸,\widetilde{h}不增,g为凹\\
f凹&& \Leftrightarrow& 7.h为凹,\widetilde{h}不降,g为凹\\
&& &8.h为凹,\widetilde{h}不增,g为凸\\
\end{aligned}
f凸f凹⇔⇔5.h为凸,h不降,g为凸6.h为凸,h不增,g为凹7.h为凹,h不降,g为凹8.h为凹,h不增,g为凸
例1:
若ggg为凸,exp{g(x)}\exp\lbrace g(x)\rbraceexp{g(x)}为凸。
利用准则1判断即可。
例2:
若ggg为凹,g>0g>0g>0,log(g(x))\log\big(g(x)\big)log(g(x))为凹。
利用准则7判断即可。
例3:
若ggg为凹,g>0,1g(x)g>0,\frac{1}{g(x)}g>0,g(x)1为凸。
个人思考
八个准则要使用好,个人总结遇到函数凸性判断步骤:
1.先判断定义域是不是凸集。
2.通过函数组合判断。
3.通过定义判断。
纸质笔记