正定矩阵
我们之前已经介绍过正定矩阵, 这里在回顾一遍
首先我们讨论的矩阵必须是对称矩阵 A ⊤ = A \bm{A}^\top=\bm{A} A⊤=A, 其次,我们希望它满足
- 所有特征值都是正数,or
- 所有pivots都是正数, or
- 所有子行列式都是正数,or
- x ⊤ A x > 0 \bm{x}^\top\bm{A}\bm{x}>0 x⊤Ax>0, ∀ x ≠ 0 \forall \bm{x}\neq\bm{0} ∀x=0.
之前没涉及到的就是第四点,实际上这一点也是大多数教科书用来定义正定矩阵的性质。这一节,Prof. Strang 展开讲了第四点,大概就是想讲二次型 quadratic form。
我们考虑一个简单的二阶矩阵
A
=
[
a
b
c
d
]
\bm{A}=\begin{bmatrix} a & b \\ c & d \\ \end{bmatrix}
A=[acbd]
x ⊤ A x = [ x 1 x 2 ] [ a b c d ] [ x 1 x 2 ] = a x 1 2 + ( b + c ) x 1 x 2 + d x 2 2 \bm{x^\top Ax}=\begin{bmatrix} x_1 & x_2 \end{bmatrix} \begin{bmatrix} a & b \\ c & d \\ \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ \end{bmatrix}= ax^2_1+(b+c)x_1x_2+dx^2_2 x⊤Ax=[x1x2][acbd][x1x2]=ax12+(b+c)x1x2+dx22
可以看到,所有项都是二次,我们只需要研究这个二次型的正负性 (对于所有的 x 1 x_1 x1, x 2 x_2 x2) 即可判断 A \bm{A} A 是否正定。
在这节课接下来的内容里,Prof. Strang 用一个例子来讲什么时候这个二次型取正,什么时候取负。但实际上对于具体的例子,最快的判别方法还是pivots的正负。不过在这里Prof. Strang 点到了很重要的 Hessian matrix 判别极小值,所以我们来讲一下这一部分内容。
极小值判别
我相信大家都知道极小值和最小值的区别。Optimization problem 一般都是找极小值,因为全局最小值很难找到。那么问题是怎么找极小值尼?
单变量函数
高数里我们学过,找一阶导数为 0 的点。比如如果有一个单变量函数,我们令
d
f
(
x
)
d
x
=
0
\frac{df(x)}{dx}=0
dxdf(x)=0
然后找到 x ∗ x^* x∗ 使得 f ′ ( x ∗ ) = 0 f'(x^*)=0 f′(x∗)=0 即可。但这个结论并不完全对,比如 f ( x ) = x 3 f(x)=x^3 f(x)=x3, f ′ ( 0 ) = 0 f'(0)=0 f′(0)=0 但显然 0 0 0 并不是一个极小值点。但是,如果我们加上一个限制条件这个结论就对了:
Fact 1: 如果 f ( x ) f(x) f(x) 是一个凸函数,则满足 f ′ ( x ∗ ) = 0 f'(x^*)=0 f′(x∗)=0 的点 x ∗ x^* x∗ 是极小值点
那么,对于一般的函数怎么办尼?我们得研究函数的曲率 curvature,也就是二阶导数
Fact 2: 任意函数
f
(
x
)
f(x)
f(x) 在
x
∗
x^*
x∗ 处取得极小值的必要条件是
f
′
(
x
∗
)
=
0
,
f
′
′
(
x
∗
)
≥
0
f'(x^*)=0,~~~~f''(x^*)\geq 0
f′(x∗)=0, f′′(x∗)≥0
Fact 3: 任意函数
f
(
x
)
f(x)
f(x) 在
x
∗
x^*
x∗ 处取得极小值的充分条件是
f
′
(
x
∗
)
=
0
,
f
′
′
(
x
∗
)
>
0
f'(x^*)=0,~~~~f''(x^*)> 0
f′(x∗)=0, f′′(x∗)>0
也就是说,极小值点的二阶导一定是大于零的,但是等于零的那些点也有可能是极小值点。
多变量函数
现在我们来看多变量函数
f
(
x
)
f(\bm{x})
f(x) 其中
x
=
[
x
1
,
x
2
,
.
.
.
,
x
n
]
⊤
\bm{x}=[x_1,x_2,...,x_n]^\top
x=[x1,x2,...,xn]⊤ 是一个vector,此时,一阶导变成了
f
′
(
x
)
=
[
∂
f
∂
x
1
,
∂
f
∂
x
2
,
.
.
.
,
∂
f
∂
x
n
]
⊤
f'(\bm{x})=\left[\frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2}, ...,\frac{\partial f}{\partial x_n}\right]^\top
f′(x)=[∂x1∂f,∂x2∂f,...,∂xn∂f]⊤
一阶导条件也就变成了 f ′ ( x ) = 0 f'(\bm{x})=\bm{0} f′(x)=0.
二阶导变成了
f
′
′
(
x
)
=
[
∂
f
∂
2
x
1
∂
f
∂
x
1
∂
x
2
.
.
.
∂
f
∂
x
1
∂
x
n
∂
f
∂
x
2
∂
x
1
∂
f
∂
2
x
2
.
.
.
∂
f
∂
x
2
∂
x
n
⋮
⋮
⋱
⋮
∂
f
∂
x
1
∂
x
n
∂
f
∂
x
2
∂
x
n
.
.
.
∂
f
∂
2
x
n
]
f''(\bm{x})=\begin{bmatrix} \frac{\partial f}{\partial^2 x_1} & \frac{\partial f}{\partial x_1 \partial x_2} & ... & \frac{\partial f}{\partial x_1 \partial x_n} \\ \frac{\partial f}{\partial x_2\partial x_1} & \frac{\partial f}{\partial^2 x_2} & ... & \frac{\partial f}{\partial x_2 \partial x_n} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial f}{\partial x_1\partial x_n} & \frac{\partial f}{\partial x_2 \partial x_n} & ... & \frac{\partial f}{\partial^2 x_n} \\ \end{bmatrix}
f′′(x)=⎣⎢⎢⎢⎢⎡∂2x1∂f∂x2∂x1∂f⋮∂x1∂xn∂f∂x1∂x2∂f∂2x2∂f⋮∂x2∂xn∂f......⋱...∂x1∂xn∂f∂x2∂xn∂f⋮∂2xn∂f⎦⎥⎥⎥⎥⎤
这也就是 Hessian matrix, 显然它是一个对称矩阵,我们只需要看它在某点取到的具体矩阵的正定性便可判断该点是不是极小值点。此时,以上fact 2 & 3 中的二阶导充分条件 f ′ ′ ( x ∗ ) > 0 f''(x^*)> 0 f′′(x∗)>0 的含义就是正定矩阵,而二阶导必要条件 f ′ ′ ( x ∗ ) ≥ 0 f''(x^*)\geq 0 f′′(x∗)≥0 的含义就是半正定矩阵。