seegongsik
工程数学

二次型

xᵀAx 是以特征向量为轴、特征值为曲率的碗,符号决定最小、最大或鞍点

直线是一次的。这次上一个台阶,看从平面上弯起来的高度。q(x) = xᵀAx,把对称矩阵 A = [a, b; b, c] 展开就是 q = a·x² + 2b·xy + c·y²。把这张曲面在固定高度切开,等高线是椭圆或双曲线。决定那个形状的,全是这个矩阵的特征值和特征向量。特征向量指向碗的主轴,特征值决定每根轴弯得有多陡。两个特征值都是正的,就是只有一个底的碗。符号相反,就是鞍。任何光滑函数的二阶导数,也就是黑塞矩阵,正是二次型,所以这一件把二阶导数判定和主成分穿成一行的是 PCA。 碗的符号把最小、最大和鞍分开。

用滑块定下对称矩阵的三个值 a, b, c。画面用等高线画出高度 q = a·x² + 2b·xy + c·y²。两个特征值都是正的,等高线变成闭合椭圆,看得见朝中间下降的蓝色的碗。两个都是负的,同样是椭圆,可是中间最高的红色穹顶。一边正一边负,等高线变成开口的双曲线,一个方向上坡、另一个方向下坡的金色的鞍。一个特征值几乎没有,就成绿色的槽。把 b 调大,等高线就斜着倾斜。同一个 q² 式只改 a, b, c 三个数,就在碗、穹顶和鞍之间来回。 颜色原样跟着符号走。

这次只看一条等高线。在高度 q = 1 切开的等位集,也就是 xᵀAx = 1。把矩阵放在正定附近,这条曲线是干净的椭圆。椭圆并不是随便躺着,两根轴恰好沿着特征向量。每根半轴的长度是 1/√λ。特征值大,那个方向弯得陡,椭圆就短。特征值小,就平缓,椭圆就长。用滑块改变矩阵,主轴也就是特征向量和特征值一起更新。半轴为 1/√λ 的这个椭圆,和主成分的协方差椭圆是一支。 长度和方向从同一个矩阵里一起出来。

现在直接把两个特征值推过 0。移动滑块 λ1 和 λ2,画面马上给出判定。第一个数是绿色,第二个数是橙色。两个都正是正定,涂成绿色的碗,中间是唯一的最小。两个都负是负定,红色的穹顶,中间是最大。符号相反是不定,金色的鞍。一边恰好是 0 就是半定,一个方向弯、另一个方向平的槽。两个符号决定一切。 判定的文字也跟着那个符号的颜色。

看交叉项 b·xy 为什么麻烦,又怎样消失。两个特征值 λ1, λ2 不动,只转角度,就做出 A = R Λ Rᵀ。角度不是 0,交叉项就活着,椭圆斜着躺。用滑块转动角度、旋转椭圆,主轴和 x, y 轴恰好对齐的那一瞬间,交叉项掉到 0。在那个坐标里,它干净地展开成 q = λ1·y1² + λ2·y2²,没有交叉项的形式。这就是对角化。在 A = Q Λ Qᵀ 里用正交矩阵转动坐标,混合消失,两根轴各自成为纯粹的和。下面写出当前坐标的 q 式。 把角度对齐,就是抹掉交叉项的全部。

最后看这一切为什么是优化的心脏。任何光滑函数在一个点附近,都由它的二阶导数收成的对称矩阵,也就是黑塞矩阵,来弯曲。黑塞矩阵就是二次型。所以在斜率变成 0 的临界点,黑塞矩阵正定则那个点是碗底,局部最小。负定则是穹顶,局部最大。不定则是鞍点。这就是二阶导数判定。用滑块改变黑塞矩阵,等高线地形和判定一起变。梯度下降在正定的碗里滚得顺,在鞍点上迷路,理由就在这里。一个点上的曲率是正、是负、还是相反,决定答案。 曲率的符号就是那个点的名字。

实际应用二次型 q(x) = xᵀAx 用对称矩阵在平面上做出弯曲的高度。q = a·x² + 2b·xy + c·y²,等位集 q = 常数是椭圆或双曲线。特征向量是那条曲线的主轴,特征值决定曲率。等位集 xᵀAx = 1 的半轴长度是 1/√λ。两个特征值都正是正定,碗并且是唯一最小。都负是负定,穹顶并且是最大。符号相反是不定的鞍,一个是 0 就是半定的槽。用对角化 A = Q Λ Qᵀ 转动坐标,交叉项消失,变成 q = λ1·y1² + λ2·y2²。任何光滑函数的黑塞矩阵都是二次型,所以黑塞矩阵的定号性就是二阶导数判定,也是梯度下降落到碗里的理由。主成分的协方差和 SVD、凸优化,都从这一个碗里出来。 两个符号把碗、穹顶和鞍分开。
← 工程数学
如果有帮助,请支持我们