设 S ⊂ R n S \subset R^n S⊂Rn 是非空开凸集, f : S → R f:S \rightarrow R f:S→R 可微,则
(1) f f f 是 S S S 上的凸函数,当且仅当
f ( x 2 ) ⩾ f ( x 1 ) + ∇ f ( x 1 ) T ( x 2 − x 1 ) , ∀ x 1 , x 2 ∈ S f(x_2) \geqslant f(x_1) + \nabla f(x_1)^T(x_2-x_1), ~~~ \forall x_1,x_2 \in S f(x2)⩾f(x1)+∇f(x1)T(x2−x1), ∀x1,x2∈S
(2) f f f 是 S S S 上的严格凸函数,当且仅当
f ( x 2 ) > f ( x 1 ) + ∇ f ( x 1 ) T ( x 2 − x 1 ) , ∀ x 1 , x 2 ∈ S , x 1 ≠ x 2 f(x_2) > f(x_1) + \nabla f(x_1)^T(x_2-x_1), ~~~ \forall x_1,x_2 \in S, x_1 \neq x_2 f(x2)>f(x1)+∇f(x1)T(x2−x1), ∀x1,x2∈S,x1=x2
其中
∇ f ( x 1 ) = ( ∂ f ( x 1 ) ∂ x 1 , ⋯ , ∂ f ( x 1 ) ∂ x n ) T \nabla f(x_1) = (\frac{\partial f(x_1)}{\partial x_1},\cdots,\frac{\partial f(x_1)}{\partial x_n})^T ∇f(x1)=(∂x1∂f(x1),⋯,∂xn∂f(x1))T
是函数 f f f 在点 x 1 x_1 x1 处的一阶导数(即,梯度)。
给定二次函数 f ( x ) = 1 2 x T G x + b T x f(x) = \frac{1}{2}x^TGx + b^Tx f(x)=21xTGx+bTx 是 R n R^n Rn 上的严格凸函数当且仅当 G G G 是正定矩阵。
证明: 设 f ( x ) = 1 2 x T G x + b T x f(x) = \frac{1}{2}x^TGx + b^Tx f(x)=21xTGx+bTx 是严格凸的,由定义有
f ( λ x 1 + ( 1 − λ ) x 2 ) < λ f ( x 1 ) + ( 1 − λ ) f ( x 2 ) , f(\lambda x_1 + (1 - \lambda)x_2) < \lambda f(x_1) + (1 - \lambda)f(x_2), f(λx1+(1−λ)x2)<λf(x1)+(1−λ)f(x2),
对任何 x 1 , x 2 ∈ R n , x 1 ≠ x 2 , 0 < λ < 1 x_1, x_2 \in R^n, x_1 \neq x_2, 0 < \lambda < 1 x1,x2∈Rn,x1=x2,0<λ<1 成立,即
λ ( 1 2 x 1 T G x 1 + b T x 1 ) + ( 1 − λ ) ( 1 2 x 2 T G x 2 + b T x 2 ) − 1 2 ( λ x 1 + ( 1 − λ ) x 2 ) T G ( λ x 1 + ( 1 − λ ) x 2 ) − b T ( λ x 1 + ( 1 − λ ) x 2 ) > 0 \lambda(\frac{1}{2}x_1^TGx_1+b^Tx_1)+(1-\lambda)(\frac{1}{2}x_2^TGx_2+b^Tx_2) \\ -\frac{1}{2}(\lambda x_1+(1-\lambda)x_2)^TG(\lambda x_1 + (1 - \lambda)x_2) - b^T(\lambda x_1 + (1 - \lambda)x_2)>0 λ(21x1TGx1+bTx1)+(1−λ)(21x2TGx2+bTx2)−21(λx1+(1−λ)x2)TG(λx1+(1−λ)x2)−bT(λx1+(1−λ)x2)>0
化简得到
λ ( 1 − λ ) ( x 1 − x 2 ) T G ( x 1 − x 2 ) > 0 \lambda(1-\lambda)(x_1-x_2)^TG(x_1-x_2)>0 λ(1−λ)(x1−x2)TG(x1−x2)>0
因为 x 1 ≠ x 2 x_1 \neq x_2 x1=x2,故令 y = x 1 − x 2 y = x_1 - x_2 y=x1−x2,则 y ≠ 0 y \neq 0 y=0 ,又 λ ( 1 − λ ) > 0 \lambda(1-\lambda)>0 λ(1−λ)>0,故得到
y T G y > 0 y^TGy>0 yTGy>0
因为 x 1 ≠ x 2 x_1 \neq x_2 x1=x2 是任意的,故 y ≠ 0 y \neq 0 y=0 是任意的,从而 G G G 是正定的。
上述各步均可逆,从而得出。
一般地,对于二次函数
f ( x ) = 1 2 x T G x + b T x = 1 2 ∑ i , j = 1 n G i , j x i y j + ∑ i , j n b i x i + c i \begin{aligned} f(x) & = \frac{1}{2}x^TGx + b^Tx \\ & = \frac{1}{2}\sum ^n _{i,j=1}G_{i,j}x_iy_j + \sum ^n _{i,j}b_ix_i +c_i \end{aligned} f(x)=21xTGx+bTx=21i,j=1∑nGi,jxiyj+i,j∑nbixi+ci
其实 G G G 是对称矩阵,同时也是海森矩阵(Hessian matrix
):
当 G G G 是正半定时,二次函数 f ( x ) f(x) f(x) 是凸函数;
当 G G G 是正定时,二次函数 f ( x ) f(x) f(x) 是严格凸函数;
当 G G G 是负正半定时,二次函数 f ( x ) f(x) f(x) 是凹函数;
当 G G G 是负定时,二次函数 f ( x ) f(x) f(x) 是严格凹函数;
当 G G G 是不定时,二次函数 f ( x ) f(x) f(x) 既不是凸函数,也不是凹函数。
H ( x k ) = [ ∂ 2 f ( x k ) ∂ x 1 2 ∂ 2 f ( x k ) ∂ x 1 ∂ x 2 ⋯ ∂ 2 f ( x k ) ∂ x 1 ∂ x n ∂ 2 f ( x k ) ∂ x 2 ∂ x 1 ∂ 2 f ( x k ) ∂ x 2 2 ⋯ ∂ 2 f ( x k ) ∂ x 2 ∂ x n ⋯ ⋯ ⋱ ⋯ ∂ 2 f ( x k ) ∂ x n ∂ x 1 ∂ 2 f ( x k ) ∂ x n ∂ x 2 ⋯ ∂ 2 f ( x k ) ∂ x n 2 ] H(x_k) = \begin{bmatrix} \large \frac{\partial^2 f(x_k)}{\partial x_1^2} & \large \frac{\partial^2 f(x_k)}{\partial x_1 \partial x_2} & \cdots & \large \frac{\partial^2 f(x_k)}{\partial x_1 \partial x_n} \\\\ \large \frac{\partial^2 f(x_k)}{\partial x_2 \partial x_1} & \large \frac{\partial^2 f(x_k)}{\partial x_2^2} & \cdots & \large \frac{\partial^2 f(x_k)}{\partial x_2 \partial x_n} \\\\ \cdots & \cdots & \ddots & \cdots \\\\ \large \frac{\partial^2 f(x_k)}{\partial x_n \partial x_1} & \large \frac{\partial^2 f(x_k)}{\partial x_n \partial x_2} & \cdots & \large \frac{\partial^2 f(x_k)}{\partial x_n^2} \\ \end{bmatrix} H(xk)= ∂x12∂2f(xk)∂x2∂x1∂2f(xk)⋯∂xn∂x1∂2f(xk)∂x1∂x2∂2f(xk)∂x22∂2f(xk)⋯∂xn∂x2∂2f(xk)⋯⋯⋱⋯∂x1∂xn∂2f(xk)∂x2∂xn∂2f(xk)⋯∂xn2∂2f(xk)
判断函数 f ( x ) = 2 x 1 3 − 3 x 1 2 − 6 x 1 x 2 f(x) = 2x_1^3 - 3x_1^2-6x_1x_2 f(x)=2x13−3x12−6x1x2 的凹凸性。
一阶偏导数:
∂ f ∂ x 1 = 6 x 1 2 − 6 x 1 − 6 x 2 , ∂ f ∂ x 2 = − 6 x 1 \frac{\partial f}{\partial x_1} = 6x_1^2 - 6x_1 - 6x_2, ~~~ \frac{\partial f}{\partial x_2} = -6x_1 ∂x1∂f=6x12−6x1−6x2, ∂x2∂f=−6x1
二阶偏导数:
∂ 2 f ∂ x 1 2 = 12 x 1 − 6 , ∂ 2 f ∂ x 1 ∂ x 2 = − 6 , ∂ 2 f ∂ x 2 2 = 0 \frac{\partial^2 f}{\partial x_1^2} = 12x_1 - 6, ~~~ \frac{\partial^2 f}{\partial x_1 \partial x_2} = -6, ~~~ \frac{\partial^2 f}{\partial x_2^2} = 0 ∂x12∂2f=12x1−6, ∂x1∂x2∂2f=−6, ∂x22∂2f=0
用这些偏导数来构造 Hessian
矩阵
∇ 2 f ( x ) = [ 12 x 1 − 6 − 6 − 6 0 ] \nabla^2 f(x) = \begin{bmatrix} 12x_1 - 6 & -6 \\ -6 & 0 \end{bmatrix} ∇2f(x)=[12x1−6−6−60]
设实对称矩阵 A = ∇ 2 f ( x ) A = \nabla^2 f(x) A=∇2f(x) 那么,
一阶顺序主子式:
A 1 = 12 x 1 − 6 A_1 = 12x_1 - 6 A1=12x1−6
二阶顺序主子式:
A 2 = [ 12 x 1 − 6 − 6 − 6 0 ] A_2 = \begin{bmatrix} 12x_1 - 6 & -6 \\ -6 & 0 \end{bmatrix} A2=[12x1−6−6−60]
因为 ∣ A 2 ∣ = − 36 < 0 |A_2| = -36 < 0 ∣A2∣=−36<0,偶数阶小于零,故矩阵为不定矩阵,
所以,在全体定义域中,这个函数既不是凸也不是凹。