美文网首页
Jacobian矩阵、Hessian矩阵和多元函数的二阶导数

Jacobian矩阵、Hessian矩阵和多元函数的二阶导数

作者: Azur_wxj | 来源:发表于2019-10-22 16:56 被阅读0次

    Jacobian矩阵和Hessian矩阵

    \mathbf{y}\in\mathbb{R}^n,\mathbf{x}\in\mathbb{R}^m,于是关于\mathbf{y},\mathbf{x}的jocobian矩阵J\in\mathbb{R}^{n\times m}定义为
    J=\frac{\partial \mathbf{y}}{\partial \mathbf{x}}=\begin{bmatrix}\frac{\partial y_1}{\partial x_1}&\frac{\partial y_1}{\partial x_2}&\cdots&\frac{\partial y_1}{\partial x_m}\\\frac{\partial y_2}{\partial x_1}&\frac{\partial y_2}{\partial x_2}&\cdots&\frac{\partial y_2}{\partial x_m}\\\vdots&\vdots&\ddots&\vdots\\\frac{\partial y_n}{\partial x_1}&\frac{\partial y_n}{\partial x_2}&\cdots&\frac{\partial y_n}{\partial x_m}\end{bmatrix}

    f:\mathbb{R}^2\mapsto\mathbb{R},则关于f的Hessian矩阵H定义为
    H_{ij}=\left[\frac{\partial^2f}{\partial x_i \partial x_j}\right]
    如果f具有二阶连续偏导数,则二阶偏导数分母可交换,即\frac{\partial^2f}{\partial x_i \partial x_j}=\frac{\partial^2f}{\partial x_j \partial x_i},这意味着Hessian矩阵此时是一个对称阵。

    命题:Hessian矩阵等价于梯度的Jacobian矩阵

    考虑f:\mathbb{R}^n\mapsto\mathbb{R}的梯度
    \nabla f=\left[\frac{\partial f}{\partial x_1},\cdots,\frac{\partial f}{\partial x_n}\right]^T
    于是其Jacobian矩阵
    J=\frac{\partial}{\partial \mathbf{x}} \nabla f=\left[\frac{\partial f/\partial x_i}{\partial x_j}\right]_{i,j}=\left[\frac{\partial f}{\partial x_i \partial x_j}\right]_{i,j}
    显然这是关于f的Hessian矩阵,记为H_{f}=J(\nabla f)。█

    方向二阶导数

    函数f\mathbf{d}的方向导数\frac{\partial f}{\partial \mathbf{d}}=\mathbf{v}^T\nabla f,其中\mathbf{v}\mathbf{d}的方向余弦向量,其中v_i=\frac{d_i}{|\mathbf{d}|},假若将\mathbf{d}归一化,即成为单位向量,令|\mathbf{d}|=1,于是\mathbf{d}=\mathbf{v}。此外设H是关于f的Hessian矩阵。

    命题:设\mathbf{d}是单位向量,f\mathbf{d}方向的二阶导数是\mathbf{d}^TH\mathbf{d}

    因为\mathbf{d}是单位向量,于是f\mathbf{d}方向的一阶导数是\mathbf{d}^T\nabla f=\sum_{i=1}^n\frac{\partial f}{\partial x_i}d_i
    于是二阶导数为
    \begin{split}\mathbf{d}^T\nabla\left(\mathbf{d}^T\nabla f\right)&=\mathbf{d}^T\nabla \left(\sum_{i=1}^n\frac{\partial f}{\partial x_i}d_i\right)\\&=\mathbf{d}^T\left[\sum_{i=1}^n\frac{\partial f}{\partial x_i\partial x_j}d_i\right]_{j,1}^{n\times 1}\\&=\sum_{i,j=1}^n\frac{\partial f}{\partial x_i\partial x_j}d_id_j\end{split}
    这个结果是一个二次型的形式,我们可以写成\mathbf{d}^T\left[\frac{\partial f}{\partial x_i \partial x_j}\right]^{n\times n}\mathbf{d},即\mathbf{d}^TH\mathbf{d}。█

    从证明中可以看出\nabla\left(\mathbf{d}^T\nabla f\right)=\nabla\left(\nabla f^T\mathbf{d}\right)=J(\nabla f)\mathbf{d}=H\mathbf{d}。特别要注意J(\nabla f)\neq \nabla^2 f,后者是拉普拉斯算子\nabla^2 f=\sum\frac{\partial^2f}{\partial x^2},运算结果是一个标量。
    其证明是,
    \begin{split} \nabla\left(\mathbf{d}^T\nabla f\right)&=\nabla\left(\sum_{i=1}^{n}\frac{\partial f}{\partial x_i}d_i\right)\\ &=\begin{bmatrix}\sum_{i=1}^n\frac{\partial f}{\partial x_i \partial x_1}d_i\\\sum_{i=1}^n\frac{\partial f}{\partial x_i \partial x_2}d_i\\\vdots\\\sum_{i=1}^n\frac{\partial f}{\partial x_i \partial x_n}d_i\end{bmatrix}=\sum_{i=1}^n\begin{bmatrix}\frac{\partial f}{\partial x_i \partial x_1}\\\frac{\partial f}{\partial x_i \partial x_2}\\\vdots\\\frac{\partial f}{\partial x_i \partial x_n}\end{bmatrix}d_i\\ &=\sum_{i=1}^nH_{i,:}^Td_i=\left[H_{1,:}^T,\cdots,H_{n,:}^T\right]^T\mathbf{d}\\ &=\begin{bmatrix}H_{1,:}\\H_{2,:}\\\vdots\\H_{n.:}\end{bmatrix}\mathbf{d}=H\mathbf{d} \end{split}

    命题:H特征向量方向的二阶导数是对应的特征值

    现在已知在单位向量\mathbf{d}方向的二阶导数是\mathbf{d}^TH\mathbf{d},如果\mathbf{d}H的特征向量,那么\mathbf{d}^TH\mathbf{d}=\mathbf{d}^T\lambda\mathbf{d}=\lambda|\mathbf{d}|^2=\lambda,即此时方向的二阶导数就是对应的特征值。█

    现在假定H是一个实对称矩阵,则根据相关定理,实对称矩阵一定能够进行正交分解,即它的特征向量互相正交,我们取它的一组单位特征向量\mathbf{D}={\mathbf{d}_1,\mathbf{d}_2,\cdots,\mathbf{d}_n}构成H列空间的一组标准正交基,对于任意一个单位方向向量\mathbf{d},设它在这组基下的坐标为\mathbf{X}=[x_1,\cdots,x_n]^T,于是\mathbf{d}=\sum x_i\mathbf{d}_i=\mathbf{D}\mathbf{X},从而在这个方向的二阶导数是\begin{split}\mathbf{d}^TH\mathbf{d}&=\left(\sum x_i\mathbf{d}_i\right)^TH\left(\sum x_i\mathbf{d}_i\right)\\ &=\sum_{i,j}x_ix_j\mathbf{d}_i^TH\mathbf{d}_j=\sum_{i,j}x_ix_j\lambda_j\mathbf{d}_i^T\mathbf{d}_j\end{split}
    因为是相互正交的基,所以\mathbf{d}_i^T\mathbf{d}_j=\mathbf{1}\{i=j\},于是\mathbf{d}^TH\mathbf{d}=\sum_i x_i^2\lambda_i,即其它方向的二阶导数是所有特征值的加权平均数,加权系数向量是[x_1^2,\cdots,x_n^2],这些权重位于0和1之间。为此我们考虑在二维平面上的直角坐标系,向量\mathbf{d}=\sum x_i\mathbf{d}_i是单位向量,则所有这些单位向量的集合是一个单位圆,构成对等关系。显然单位圆上任意点的向量都可以进行正交分解,并且在x、y轴上的投影范围是[-1,1],从而系数平方的范围就是[0,1],推广到一般向量,就是一个单位超球上的点在各个基向量的投影坐标的平方范围是[0,1]

    此外,与\mathbf{d}夹角越小的特征向量权重越大。为此,考虑特征向量\mathbf{d}_j\mathbf{d}的内积:
    \langle\sum x_i\mathbf{d}_i,\mathbf{d}_j\rangle=\sum x_i\langle\mathbf{d}_i,\mathbf{d}_j\rangle=x_i
    上式第二个等号成立是因为\mathbf{d}_i(i=1,2,\cdots,n)是一组标准正交基,因此互异内积是0,自内积是1。
    另一方面,\langle\mathbf{d},\mathbf{d}_j\rangle=\|\mathbf{d}\|\|\mathbf{d}_j\|\cos\theta=\cos\theta,于是我们有\cos\theta=x_i,因此夹角越小,权重越大。这也证明了权重的平方范围x_i^2=\cos^2\theta\in[0,1]

    命题:设f在某点\mathbf{x}邻域内有二阶连续偏导数,且f(\mathbf{x})=0,如果在此点处的Hessian矩阵是正定的,那么f\mathbf{x}处取得极小值;如果是负定矩阵,取极大值;如果是不定矩阵,则不取极值。

    不严格的说明:由上面的讨论知,在\mathbf{x}点处,沿任意单位向量\mathbf{d}的二阶导数是\mathbf{d}^TH\mathbf{d},如果H是正定矩阵,则\mathbf{d}^TH\mathbf{d}>0,换句话说沿着任意方向的二阶导数都是正的,即该点在任意方向的切片图像上都是极小值点,所以它也是函数的极小值点。对于负定矩阵同理。

    H是不定矩阵时,\mathbf{d}^TH\mathbf{d}有正有负,这意味着某方向切片图像中该点是极大值,而另一方向的切片图像,该点是极小值,因此这个点不是函数的极值点。█

    引理:对称阵A为正定矩阵的充分必要条件是A的各阶主子式都为正,是负定矩阵的充分必要条件是,奇数阶主子式为负,偶数阶主子式是正。

    这一点对于判定二元函数的Hessian矩阵的正定性很有用(前提是二元函数是有连续二阶偏导数,即Hessian矩阵是对称阵)

    • Hessian矩阵是正定阵\iff f_{xx}>0以及f_{yy}f_{xx}-2f_{xy}>0
    • Hessian矩阵是负定阵\iff f_{xx}<0以及f_{yy}f_{xx}-2f_{xy}>0
    • Hessian矩阵是不定阵\iff f_{yy}f_{xx}-2f_{xy}<0

    相关文章

      网友评论

          本文标题:Jacobian矩阵、Hessian矩阵和多元函数的二阶导数

          本文链接:https://www.haomeiwen.com/subject/aagfvctx.html