计算非线性函数的 Hessian 矩阵

现有函数 f(w)=w12+2w22+3w32f(w)=w_1^2+2w_2^2+3w_3^2,其中 w=[w1,w2,w3]Tw=[w_1,w_2,w_3]^T

  1. 计算一阶导数(梯度)

    首先对每个变量 wiw_i 求一阶偏导数:

    fw1=2w1fw2=4w2fw3=6w3\frac{\partial f}{\partial w_1}=2w_1 \\ \frac{\partial f}{\partial w_2}=4w_2 \\ \frac{\partial f}{\partial w_3}=6w_3

    因此,梯度向量 f(w)=(w21,4w2,6w3)T\nabla f(w) = (w2_1,4w_2,6w_3)^T

  2. 计算二阶导数: Hessian 矩阵

    矩阵元素 HijH_{ij}ffwiw_iwjw_j 的二阶偏导数:

    Hji=2fwiwjH_{ji} = \frac{\partial^2 f}{\partial w_i \partial w_j}

    逐个计算得到下面的结果,其他二阶偏导数都为 00

    2fw12=22fw22=42fw32=6\frac{\partial^2 f}{\partial w_1^2} = 2 \\ \frac{\partial^2 f}{\partial w_2^2} = 4 \\ \frac{\partial^2 f}{\partial w_3^2} = 6

    因此, Hessian 矩阵如下:

    [200040006]\left[\begin{array}{ccc} 2 & 0 & 0 \\ 0 & 4 & 0 \\ 0 & 0 & 6 \end{array}\right]

特征值的求法

矩阵特征值和特征向量定义

AAnn 阶矩阵,若有常数 λ\lambdann 维非 00 列向量 xx 满足 Ax=λxAx = \lambda x ,则称 λ\lambdaAA特征值xxAA 对应于特征值 λ\lambda特征向量

Ax=λxAx = \lambda x 可写作 (AλE)x=0(A - \lambda E)x = 0 ,且 AλE|A - \lambda E|AA特征多项式,称 AλE=0|A - \lambda E| = 0AA特征方程。特征方程是一个齐次线性方程组,求解特征值的过程就是求解特征方程的解的过程。

三阶矩阵特征值的快速求法

不妨令:

A=[a11a12a13a21a22a23a31a32a33]A= \left[\begin{array}{ccc} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{array}\right]

其特征多项式为:

λEA=λa11a12a13a21λa22a23a31a32λa33|\lambda E - A| = \left|\begin{array}{ccc} \lambda - a_{11} & -a_{12} & -a_{13} \\ -a_{21} & \lambda - a_{22} & -a_{23} \\ -a_{31} & -a_{32} & \lambda - a_{33} \end{array}\right|

直接展开得到:

λEA=λ3(a11+a22+a33)λ2+kλA|\lambda E - A| = \lambda ^3 - (a_{11}+a_{22}+a_{33}) \lambda^2 + k\lambda - |A|

即:

λEA=λ3tr(A)λ2+kλA|\lambda E - A| = \lambda ^3 - tr(A) \cdot \lambda^2 + k\lambda - |A|

此处 kk (主对角线元素错乘 - 对称位置元素相乘):

k=(a11a22+a11a33+a22a33)(a12a21+a13a31+a23a32)k = (a_{11}a_{22}+a_{11}a_{33}+a_{22}a_{33}) - (a_{12}a_{21}+a_{13}a_{31}+a_{23}a_{32})

特征值的意义

Ax=λxAx = \lambda x 来看, AxAx 表示对向量 xx 进行一次线性变换(旋转或拉伸),而该转换的效果为 λx\lambda x,即只进行拉伸。

求解特征值和特征向量,可以看作求出矩阵能使哪些向量只发生拉伸、拉伸的程度如何(特征值大小)。这样做的意义在于,看一个矩阵在哪些方面能产生最大的效果,并根据所产生的每个特征向量(一般研究特征值最大的那几个)进行分类讨论与研究。

几何意义

谱范数

对于任意两点间来说,直线距离最短。而计算两点间距离的公式就是源于众所周知的勾股定理的基础上推导而来的。事实上,不仅对于人们所熟知的二维空间和三维空间如此,对于高维空间亦是如此。在数学上,一般将高维空间的点表示为一个多维向量,而任意一个点到原点的直线距离则称为该点的二范数。

下面主要讨论一种拓展版的二范数,即矩阵的二范数。不过,人们一般称之为矩阵的谱范数。在科研中,该范数也有着极为广泛的应用,例如度量一个矩阵的大小,判断算法是否收敛等。

对于实矩阵 AA ,其谱范数定义如下:

ρ=maxλi(eig(AT×A))\rho = \sqrt{max_{\lambda_i}(eig(A^T \times A))}

其中 eig(A)eig(A) 表示计算方阵 AA 特征值,返回向量 [λ1,λ2,,λn]T[\lambda_1,\lambda_2,\dots,\lambda_n]^T ,其中 λi\lambda_i 表示第 ii 个特征值。向量的二范数表示一个空间点到原点的距离/向量长度,矩阵的谱范数表示什么?

意义

如果将矩阵看作一种对于向量的变换方式(拉伸、转向、映射等),则矩阵谱范数的物理意义是对于任意一个向量,在矩阵变换后,新向量的长度小于等于原来向量的长度乘以该矩阵的谱范数,即:

x2ρx2||x^`||_2 \leq \rho \cdot ||x||_2

换句话说,任何一个向量经过该矩阵变换后,其长度变化是有限的。

二次型

参考:

https://szup.github.io/2021/03/04/0303-square-form/

定义

nn 个变量的二次多项式称为二次型,即在一个多项式中,未知数的个数为任意多个,但每一项的次数都为 22 的多项式。

二次型的矩阵表示

img

img

对称矩阵A的秩就是二次型的秩。