精华内容
下载资源
问答
  • 然后定义保守度作为保守性的量化指标,以完备性为约束条件、保守度最小为优化目标,基于海森矩阵求解仿射乘法的最优近似;最后将仿射乘法的最优近似用于仿射谐波潮流计算。IEEE 30节点系统仿真结果表明,相较于传统...
  • 数值计算之 梯度向量,雅可比矩阵,海森矩阵前言梯度向量梯度矩阵雅可比矩阵海森矩阵总结 前言 非线性最小二乘中的函数求导内容,主要涉及梯度向量、雅可比矩阵和海森矩阵。因此提前做一个辨析。实际上之前在矩阵...

    数值计算之 梯度向量,雅可比矩阵,海森矩阵

    前言

    非线性最小二乘中的函数求导内容,主要涉及梯度向量、雅可比矩阵和海森矩阵。因此提前做一个辨析。实际上之前在矩阵求导中已经提到过这些内容。

    梯度向量

    对于实值向量函数 f ( x ) ∈ R , x = ( x 1 , x 2 , … , x n ) T f(x)\in R,x=(x_1,x_2,\dots,x_n)^T f(x)R,x=(x1,x2,,xn)T,其梯度向量可表示为:
    ∇ f ( x ) = ∂ f ( x ) ∂ x = [ ∂ f ∂ x 1 ∂ f ∂ x 2 … ∂ f ∂ x n ] \nabla f(x)=\frac {\partial f(x)}{\partial x}= \begin{bmatrix} \frac {\partial f}{\partial x_1} \\ \frac {\partial f}{\partial x_2} \\ \dots \\ \frac {\partial f}{\partial x_n} \\ \end{bmatrix} f(x)=xf(x)=x1fx2fxnf
    梯度向量的布局与分母的布局相同,也就是分母布局。

    梯度矩阵

    对于实值矩阵函数 f ( X ) ∈ R f(X)\in R f(X)R,其梯度矩阵 ∇ f ( X ) \nabla f(X) f(X)可表示为:
    ∇ f ( X ) = ∂ f T ( X ) ∂ X = [ ∂ f ∂ x 11 ∂ f ∂ x 12 … ∂ f ∂ x 1 n ∂ f ∂ x 21 ∂ f ∂ x 22 … ∂ f ∂ x 2 n … … … … ∂ f ∂ x n 1 ∂ f ∂ x n 2 … ∂ f ∂ x n n ] \nabla f(X)=\frac {\partial f^T(X)}{\partial X}= \begin{bmatrix} \frac {\partial f}{\partial x_{11}} & \frac {\partial f}{\partial x_{12}} & \dots & \frac {\partial f}{\partial x_{1n}} \\ \frac {\partial f}{\partial x_{21}} & \frac {\partial f}{\partial x_{22}} & \dots & \frac {\partial f}{\partial x_{2n}} \\ \dots & \dots & \dots & \dots\\ \frac {\partial f}{\partial x_{n1}} & \frac {\partial f}{\partial x_{n2}} & \dots & \frac {\partial f}{\partial x_{nn}} \\ \end{bmatrix} f(X)=XfT(X)=x11fx21fxn1fx12fx22fxn2fx1nfx2nfxnnf
    对于实值向量函数 f i ( x ) ∈ R , x = ( x 1 , x 2 , … , x n ) T f_i(x)\in R,x=(x_1,x_2,\dots,x_n)^T fi(x)R,x=(x1,x2,,xn)T组成的向量 ( f 1 ( x ) , f 2 ( x ) , … , f n ( x ) ) T (f_1(x),f_2(x),\dots,f_n(x))^T (f1(x),f2(x),,fn(x))T,其梯度矩阵可表示为:
    ∇ f ( x ) = ∂ f T ( x ) ∂ x = [ ∂ f 1 ∂ x 1 ∂ f 2 ∂ x 1 … ∂ f n ∂ x 1 ∂ f 1 ∂ x 2 ∂ f 2 ∂ x 2 … ∂ f n ∂ x 2 … … … … ∂ f 1 ∂ x n ∂ f 2 ∂ x n … ∂ f n ∂ x n ] \nabla f(x)=\frac {\partial f^T(x)}{\partial x} =\begin{bmatrix} \frac {\partial f_1}{\partial x_{1}} & \frac {\partial f_2}{\partial x_{1}} & \dots & \frac {\partial f_n}{\partial x_{1}} \\ \frac {\partial f_1}{\partial x_{2}} & \frac {\partial f_2}{\partial x_{2}} & \dots & \frac {\partial f_n}{\partial x_{2}} \\ \dots & \dots & \dots & \dots\\ \frac {\partial f_1}{\partial x_{n}} & \frac {\partial f_2}{\partial x_{n}} & \dots & \frac {\partial f_n}{\partial x_{n}} \\ \end{bmatrix} f(x)=xfT(x)=x1f1x2f1xnf1x1f2x2f2xnf2x1fnx2fnxnfn
    梯度矩阵需要保持分母的布局不变,也就是分母布局。

    雅可比矩阵

    对于实值矩阵函数 f ( X ) ∈ R f(X)\in R f(X)R,其雅可比矩阵 J ( X ) J(X) J(X)可表示为:
    J ( X ) = ∂ f ( X ) ∂ X T = [ ∂ f ∂ x 11 ∂ f ∂ x 21 … ∂ f ∂ x n 1 ∂ f ∂ x 12 ∂ f ∂ x 22 … ∂ f ∂ x n 2 … … … … ∂ f ∂ x 1 n ∂ f ∂ x 2 n … ∂ f ∂ x n n ] J(X)=\frac {\partial f(X)}{\partial X^T}= \begin{bmatrix} \frac {\partial f}{\partial x_{11}} & \frac {\partial f}{\partial x_{21}} & \dots & \frac {\partial f}{\partial x_{n1}} \\ \frac {\partial f}{\partial x_{12}} & \frac {\partial f}{\partial x_{22}} & \dots & \frac {\partial f}{\partial x_{n2}} \\ \dots & \dots & \dots & \dots\\ \frac {\partial f}{\partial x_{1n}} & \frac {\partial f}{\partial x_{2n}} & \dots & \frac {\partial f}{\partial x_{nn}} \\ \end{bmatrix} J(X)=XTf(X)=x11fx12fx1nfx21fx22fx2nfxn1fxn2fxnnf

    对于由实值向量函数 f i ( x ) ∈ R , x = ( x 1 , x 2 , … , x n ) T f_i(x)\in R,x=(x_1,x_2,\dots,x_n)^T fi(x)R,x=(x1,x2,,xn)T组成的向量 ( f 1 ( x ) , f 2 ( x ) , … , f n ( x ) ) T (f_1(x),f_2(x),\dots,f_n(x))^T (f1(x),f2(x),,fn(x))T,其雅可比矩阵可表示为:
    J ( x ) = ∂ f ( x ) ∂ x T = [ ∂ f 1 ∂ x 1 ∂ f 1 ∂ x 2 … ∂ f 1 ∂ x n ∂ f 2 ∂ x 1 ∂ f 2 ∂ x 2 … ∂ f 2 ∂ x n … … … … ∂ f n ∂ x 1 ∂ f n ∂ x 2 … ∂ f n ∂ x n ] J(x)=\frac {\partial f(x)}{\partial x^T}=\begin{bmatrix} \frac {\partial f_1}{\partial x_1} & \frac {\partial f_1}{\partial x_2} & \dots & \frac {\partial f_1}{\partial x_n} \\ \frac {\partial f_2}{\partial x_1} & \frac {\partial f_2}{\partial x_2} & \dots & \frac {\partial f_2}{\partial x_n} \\ \dots & \dots & \dots & \dots \\ \frac {\partial f_n}{\partial x_1} & \frac {\partial f_n}{\partial x_2} & \dots & \frac {\partial f_n}{\partial x_n} \\ \end{bmatrix} J(x)=xTf(x)=x1f1x1f2x1fnx2f1x2f2x2fnxnf1xnf2xnfn
    雅可比矩阵需要保持分子的布局不变,也就是分子布局。

    海森矩阵

    对于实值向量函数 f ( x ) ∈ R , x = ( x 1 , x 2 , … , x n ) T f(x)\in R,x=(x_1,x_2,\dots,x_n)^T f(x)R,x=(x1,x2,,xn)T,其海森矩阵 H ( x ) H(x) H(x)是函数的二阶导,实际上就是 f ( x ) f(x) f(x)的梯度向量对 x x x的雅可比矩阵:

    H ( x ) = J ( ∇ f ( x ) ) = ∂ ∂ f ( x ) ∂ x ∂ x T = [ ∂ 2 f ∂ x 1 ∂ x 1 ∂ 2 f ∂ x 1 ∂ x 2 … ∂ 2 f ∂ x 1 ∂ x n ∂ 2 f ∂ x 2 ∂ x 1 ∂ 2 f ∂ x 2 ∂ x 2 … ∂ 2 f ∂ x 2 ∂ x n … … … … ∂ 2 f ∂ x n ∂ x 1 ∂ 2 f ∂ x n ∂ x 2 … ∂ 2 f ∂ x n ∂ x n ] H(x)=J(\nabla f(x))=\frac{\partial \frac {\partial f(x)}{\partial x}}{\partial x^T} = \begin{bmatrix} \frac {\partial^2f}{\partial x_1\partial x_1} & \frac {\partial^2f}{\partial x_1\partial x_2} & \dots& \frac {\partial^2f}{\partial x_1\partial x_n} \\ \frac {\partial^2f}{\partial x_2\partial x_1} & \frac {\partial^2f}{\partial x_2\partial x_2} & \dots& \frac {\partial^2f}{\partial x_2\partial x_n} \\ \dots & \dots & \dots & \dots \\ \frac {\partial^2f}{\partial x_n\partial x_1} & \frac {\partial^2f}{\partial x_n\partial x_2} & \dots& \frac {\partial^2f}{\partial x_n\partial x_n} \\ \end{bmatrix} H(x)=J(f(x))=xTxf(x)=x1x12fx2x12fxnx12fx1x22fx2x22fxnx22fx1xn2fx2xn2fxnxn2f

    总结

    梯度向量和梯度矩阵保持分母布局不变;

    雅可比矩阵保持分子布局不变;

    海森矩阵其实是实值向量函数的梯度向量对自变量求雅可比矩阵。

    补充

    海森矩阵是对称矩阵。因为当一阶偏导连续,并且二阶混合偏导连续,则二阶混合偏导与求导顺序无关。

    展开全文
  • 海森矩阵行列式

    2018-06-14 15:30:14
    用于求得海森矩阵行列式,可在特征点匹配时限定条件,缩小时间,得到精准的匹配.
  • 文章目录导论海森矩阵的定义海森矩阵的意义泰勒展开及海森矩阵 导论 Frangi滤波[1]^{[1]}[1]是Frangi在1998年,运算Hessian矩阵的特征值构造出了一种滤波器来增强血管结构。Hessian矩阵实际是一个二阶偏导矩阵,矩阵...

    导论

    Hessian矩阵实际是一个二阶偏导矩阵,下面,我们看一下什么是hessian矩阵。

    海森矩阵的定义

    一个二元Hessian矩阵定义为:
    H = [ I x x I x y I x y I y y ] H=\begin{bmatrix} {I_{xx}}&{I_{xy}}\\ {I_{xy}}&{I_{yy}}\\ \end{bmatrix} H=[IxxIxyIxyIyy]

    其中, I x x I_{xx} Ixx 为图像 I I I x x x 方向的二阶偏导数, I y y I_{yy} Iyy 表示图像 I I I y y y方向的二阶偏导数, I x y = I y x I_{xy}=I_{yx} Ixy=Iyx 为图像 I I I x y xy xy 方向的混合偏导数。即:

    I x x = I i + 1 , j − 2 ∗ I i , j + I i − 1 , j I y y = I i , j + 1 − 2 ∗ I i , j + I i , j − 1 I x y = I i + 1 , j + 1 − I i , j + 1 − I i + 1 , j + I i , j I_{xx}=I_{i+1,j}-2*I_{i,j}+I_{i-1,j} \\ I_{yy}=I_{i,j+1}-2*I_{i,j}+I_{i,j-1} \\ I_{xy}=I_{i+1,j+1}-I_{i,j+1}-I_{i+1,j}+I_{i,j} Ixx=Ii+1,j2Ii,j+Ii1,jIyy=Ii,j+12Ii,j+Ii,j1Ixy=Ii+1,j+1Ii,j+1Ii+1,j+Ii,j

    也可以采用其他方式表示,而且往往不同的方法求得的值不同。因为这种方法只把包含其自身在内的三个点的信息囊括进去,信息量不足。因此,提倡大家换一种方法。

    由于二阶偏导数对噪声比较敏感,因此人们在求Hessian矩阵时一般先进行高斯平滑,即

    I x x = I ∗ G δ ( x , y ) ∗ ∇ x 2 I_{xx}=I*G_\delta (x,y) * \nabla_x ^2 Ixx=IGδ(x,y)x2

    式中 G δ ( x , y ) G_\delta (x,y) Gδ(x,y) 表示尺度为 σ σ σ 的二维高斯函数。由于卷积的交换律,上式可以看成先求高斯二阶微分,然后再与图像卷积,即

    I x x = I ∗ ( G δ ( x , y ) ∗ ∇ x 2 ) I_{xx}=I*(G_\delta (x,y) * \nabla_x ^2) Ixx=I(Gδ(x,y)x2)

    由此可得,对一个函数求导,等于函数与高斯函数导数的卷积(即线性尺度空间理论 LOG)。附上高斯函数的二阶偏导的数学表达式:

    G ( x , y ; δ ) = 1 2 π δ e x p ( − x 2 + y 2 2 δ 2 ) G(x,y;\delta)=\frac{1}{2\pi\delta}exp(-\frac{x_2+y_2}{2\delta^2}) G(x,y;δ)=2πδ1exp(2δ2x2+y2)

    海森矩阵的意义

    众所周知,二阶导数表示导数的变化规律,如果函数是一条曲线,且曲线存在二阶导数,那么二阶导数表示的是曲线的曲率。曲率越大,曲线越是弯曲。

    以此类推,多维空间中一个点的二阶导数就表示该点梯度下降的快慢。以二维图像为例,一阶导数是图像灰度的变化即灰度梯度,二阶导数就是灰度梯度的变化程度,二阶导数越大灰度变化越不具有线性性(这里有一点绕口了,意思就是这里灰度梯度改变越大,不是线性的梯度)。

    但是在二维图像中,海森矩阵是二维正定矩阵,有两个特征值和对应的两个特征向量。两个特征值表示了图像在两个特征向量所指方向上图形曲率大小和方向,即各向异性。

    如果利用特征向量与特征值构成一个椭圆,那么这个椭圆就标注出了图像变化的各向异性。那么在二维图像中,什么样的结构最具各项同性,又是什么样的结构的各向异性更强呢?很显然,圆具有最强的各项同性,线性越强的结构越具有各向异性。如下图:

    泰勒展开及海森矩阵

    将一个一元函数 f ( x ) f(x) f(x) x 0 x_0 x0 处进行泰勒展开,可以得到以下公式。

    f ( x 0 + δ x ) = f ( x 0 ) + δ x ∗ f ′ ( x 0 ) + 1 2 ! δ x 2 ∗ f ′ ′ ( x 0 ) + o ∥ δ x 2 ∥ f(x_0 + \delta_x) = f(x_0) + \delta_x * f'(x_0) + \frac{1}{2!} \delta_x^2 * f''(x_0) + o \Vert \delta_x^2 \Vert f(x0+δx)=f(x0)+δxf(x0)+21δx2f(x0)+oδx2

    其中余项为皮亚诺余项。二阶导数的部分映射到二维以及多维空间就是Hessian Matrix。

    在二维图像中,假设图像像素值关于坐标(x, y)的函数是 f ( x , y ) f(x, y) f(x,y),那么将 f ( x + d x , y + d y ) f(x+dx,y+dy) f(x+dxy+dy) f ( x 0 , y 0 ) f(x_0, y_0) f(x0,y0) 处展开,得到如下式子:

    f ( x 0 + d x , y 0 + d y ) = f ( x 0 , y 0 ) + d x ∗ f x 0 ( x 0 , y 0 ) + d y ∗ f y 0 ( x 0 , y 0 ) + 1 2 [ f ( x 0 , y 0 ) d 2 x + 2 f ( x 0 , y 0 ) d x d y ] + f ( x 0 , y 0 ) d 2 y ] + . . . f(x_0+dx,y_0+dy) = f(x_0, y_0) + dx * f_{x_0}(x_0, y_0) + dy * f_{y_0}(x_0, y_0)+ \dfrac{1}{2}[f(x_0, y_0)d^2x+2f(x_0, y_0)dxdy]+f(x_0, y_0)d^2y] + ... f(x0+dxy0+dy)=f(x0,y0)+dxfx0(x0,y0)+dyfy0(x0,y0)+21[f(x0,y0)d2x+2f(x0,y0)dxdy]+f(x0,y0)d2y]+...

    如果将这个式子用矩阵表示,并且舍去余项,则式子会是下面这个样子。

    f ( x ) = f ( x 0 ) + ∇ f ( x 0 ) T δ x + 1 2 δ x T G ( x 0 ) δ x f(x) = f(x_0) + \nabla f(x_0)^T \delta_ x + \frac{1}{2} \delta_x^T G(x_0) \delta_x f(x)=f(x0)+f(x0)Tδx+21δxTG(x0)δx

    其中, δ x = [ d x , d y ] \delta_ x=[dx, dy] δx=[dx,dy] ∇ f ( x 0 ) = [ ∂ f ∂ x ∂ f ∂ y ] \nabla f(x_0)=\begin{bmatrix} {\dfrac{\partial f}{\partial x}}\\ {\dfrac{\partial f}{\partial y}}\\ \end{bmatrix} f(x0)=xfyf 是函数 f ( x , y ) f(x, y) f(x,y) x 0 ( x 0 , y 0 ) x_0(x_0, y_0) x0(x0,y0) 处的梯度,矩阵

    G ( x ) = [ ∂ 2 f ∂ 2 x ∂ 2 f ∂ x ∂ y ∂ 2 f ∂ y ∂ x ∂ 2 f ∂ 2 y ] G(x)=\begin{bmatrix} {\dfrac{\partial^2 f}{\partial^2 x}}&{\dfrac{\partial^2 f}{\partial x \partial y}}\\ {\dfrac{\partial^2 f}{\partial y \partial x}}&{\dfrac{\partial^2 f}{\partial^2 y}}\\ \end{bmatrix} G(x)=2x2fyx2fxy2f2y2f
    即函数 f ( x , y ) f(x, y) f(x,y) 在二维空间 x 0 ( x 0 , y 0 ) x_0(x_0, y_0) x0(x0,y0) 处的海森矩阵了;从而有了一个结论,海森矩阵就是空间中一点处的二阶导数。

    展开全文
  • 梯度下降与海森矩阵

    千次阅读 2020-03-21 10:17:25
    海森矩阵condition number很大时,一阶梯度下降收敛很慢,无论是对鞍点还是局部极值点而言都不是个好事。 鞍点 $f'(x)=0$时函数不一定抵达局部最优解,还可能是鞍点(见上图),此时还必须根据二阶导数确定。 ...

    理一理基础优化理论,解释一下深度学习中的一阶梯度下降遇到的病态曲率(pathological curvature)问题。当海森矩阵condition number很大时,一阶梯度下降收敛很慢,无论是对鞍点还是局部极值点而言都不是个好事。

    鞍点

    $f'(x)=0$时函数不一定抵达局部最优解,还可能是鞍点(见上图),此时还必须根据二阶导数确定。

    $f'(x)$$f''(x)$$f(x)$
    $f'(x)=0$$f''(x)>0$局部最小值
    $f'(x)=0$$f''(x)<0$局部最大值
    $f'(x)=0$$f''(x)=0$局部极值或鞍点

    对角化

    如果一个矩阵$A$可分解为如下乘积:
    $$
    A = W\Lambda W^{-1}
    $$
    其中,$W$为可逆矩阵,$\Sigma$是对角矩阵,则$A$是可对角化(diagonalizable)的。$W$的列向量$a_i$是$A$的特征向量,$\Sigma$的主对角线元素为特征向量对应的特征值。亦即:
    $$
    \begin{align*}    W &= {\left(\begin{matrix}a_1 & a_2 & \dots & a_n\end{matrix}\right)} \\    \Lambda &= \begin{bmatrix}        \lambda_1   & 0         & \cdots & 0 \\        0           & \lambda_2 & \cdots & 0 \\ \tag{1}        \vdots      & \cdots    & \ddots & \vdots \\        0           & \cdots    & 0      & \lambda_n     \end{bmatrix}\end{align*}
    $$
    于是,
    $$
    W\Lambda = {\left(\begin{matrix}\lambda_1 a_1 & \lambda_2 a_2 & \dots & \lambda_n a_n\end{matrix}\right)}
    $$

    $W$中的$n$个特征向量为标准正交基,即满足$W^TW=I$,等价于$W^T=W^{-1}$,也等价于$W$是Unitary Matrix。

    由于对角化定义在方阵上,不适用于一般矩阵。一般矩阵的“对角化”就是大名鼎鼎的奇异值分解了。

    奇异值分解

    $$
    A_{m\times n}=U_{m\times m}\Sigma_{m\times n}V^T_{n\times n}
    $$

    其中,$AA^T$的特征向量stack为$U$,$A^TA$的特征向量stack为$V$,奇异值矩阵$\Sigma$中对角线元素为$\sigma_i = \frac{Av_i}{u_i} $。

    Hessian 矩阵

    一阶导数衡量梯度,二阶导数衡量曲率(curvature)。当 $f''(x)<0$, $f(x)$ 往上弯曲;当 $f''(x)>0$时,$f(x)$ 往下弯曲,一个单变量函数的二阶导数如下图所示。

    fpp.png

    对于多变量函数$f(x, y, z, \dots)$,它的偏导数就是Hessian矩阵:

    $$
    Hf = \left[        \begin{array}{ccc}               \dfrac{\partial^2 f}{\partial \color{blue}{x}^2} &            \dfrac{\partial^2 f}{\partial \color{blue}{x} \partial \color{red}{y}} &            \dfrac{\partial^2 f}{\partial \color{blue}{x} \partial \color{green}{z}} &            \cdots \\\\            \dfrac{\partial^2 f}{\partial \color{red}{y} \partial \color{blue}{x}} &             \dfrac{\partial^2 f}{\partial \color{red}{y}^2} &             \dfrac{\partial^2 f}{\partial \color{red}{y} \partial \color{green}{z}} &            \cdots \\\\            \dfrac{\partial^2 f}{\partial \color{green}{z} \partial \color{blue}{x}} &             \dfrac{\partial^2 f}{\partial \color{green}{z} \partial \color{red}{y}} &             \dfrac{\partial^2 f}{\partial \color{green}{z}^2} &            \cdots \\\\            \vdots & \vdots & \vdots & \ddots        \end{array}    \right]
    $$

    $Hf$并不是一个普通的矩阵,而是一个由函数构成的矩阵。也就是说,$\textbf{H}f$的具体取值只有在给定变量值$(x_0, y_0, \dots)$时才能得到。

     

    $$Hf(x_0, y_0, \dots) = \left[        \begin{array}{ccc}               \dfrac{\partial^2 f}{\partial \color{blue}{x}^2}(x_0, y_0, \dots) &            \dfrac{\partial^2 f}{\partial \color{blue}{x} \partial \color{red}{y}}(x_0, y_0, \dots) &            \cdots \\\\            \dfrac{\partial^2 f}{\partial \color{red}{y} \partial \color{blue}{x}}(x_0, y_0, \dots) &            \dfrac{\partial^2 f}{\partial \color{red}{y}^2}(x_0, y_0, \dots) &            \cdots \\\\            \vdots & \vdots & \ddots        \end{array}    \right]$$

    由于$Hf$是对称的实数矩阵:
    $$
    \begin{split}& \frac{\delta^2}{\delta x_i \delta x_j} f(x) = \frac{\delta^2}{\delta x_j \delta x_i} f(x) \implies H_{ij} = H_{ji} \\\end{split}
    $$
    所以它一定是可对角化的。对任意实数对称$n \times n$的矩阵$H$,有如下结论成立:
    $$
    \forall v \in \mathbb{R^n}, ||v||=1 \implies v^T Hv\leq \lambda_{\max}
    $$
    证明如下:

    由对角化形式$H = Q\Lambda Q^T$得到${\bf v}^TH{\bf v} = {\bf v}^TQ\Lambda Q^T{\bf v}$。定义一个由$\bf{v}$经过$Q^T$转换的向量${\bf y} = Q^T{\bf v}$,于是

    $${\bf v}^TH{\bf v} = {\bf y}^T\Lambda {\bf y}\tag{2}$$

    将对角矩阵$\Lambda$定义(1)代入有:
    $$
    \begin{align}{\bf y}^T\Lambda {\bf y}&=\lambda_{\max}y_1^2 + \lambda_{2}y_2^2 + \cdots + \lambda_{\min}y_N^2& \\&\le  \lambda_{\max}y_1^2 + \lambda_{\max}y_2^2 + \cdots + \lambda_{\max}y_N^2 \\ & =\lambda_{\max}(y_1^2 +y_2^2 + \cdots y_N^2) \\ & =\lambda_{\max} {\bf y}^T{\bf y} \\ & \implies {\bf y}^T\Lambda {\bf y} \le \lambda_{\max} {\bf y}^T{\bf y} \tag{3}\end{align}
    $$
    由于$Q^{-1} = Q^T, QQ^T = I$,所以
    $$
    \begin{eqnarray}{\bf y}^T{\bf y} &= &{\bf v}^TQQ^T{\bf v} = {\bf v}^T{\bf v} \tag{4}\end{eqnarray}
    $$
    将式(4)代入式(3),有
    $$
    \begin{eqnarray}{\bf y}^T\Lambda {\bf y} & \le & \lambda_{\max} {\bf y}^T{\bf y} \tag{5}\end{eqnarray}
    $$
    将式(2)代入式(5),有
    $$
    {\bf v}^TH{\bf v}   \le  \lambda_{\max}{\bf v}^T{\bf v}
    $$
    根据定义${\bf v}^T{\bf v} = \|{\bf v}\|^2$并且$\|{\bf v}\| = 1$,所以
    $$
    \begin{eqnarray}{\bf v}^TH{\bf v}  & \le & \lambda_{\max} \tag{6}\end{eqnarray}
    $$

    Condition Number of Hessian

    任意可对角化矩阵的Condition Number定义如下:

    $$\underset{i, j}{\max} \left| \frac{\lambda_i}{\lambda_j} \right|$$

    line search

    在使用line search确定学习率的梯度下降中,参数点可看做首先往梯度最陡峭方向的垂线方向移动一个步长,接着往次陡峭方向移动一个步长。比如$2$个参数的损失函数:

    CSx2a.png

    将上面的等高线还原为3d的爬山问题,则如下图所示:

    ScNMT.png

    $3$个参数:

    cOPZW.png

    7Q1oE.png

    $N$个参数:

    S0HzM.png

    步长(学习率$\epsilon$)是通过如下方式估计的。

    根据泰勒级数
    $$
    \begin{align*}f\left( x \right) & = \sum\limits_{n = 0}^\infty {\frac{{{f^{\left( n \right)}}\left( a \right)}}{{n!}}{{\left( {x - a} \right)}^n}} \\ & = f\left( a \right) + f'\left( a \right)\left( {x - a} \right) + \frac{{f''\left( a \right)}}{{2!}}{\left( {x - a} \right)^2} + \frac{{f'''\left( a \right)}}{{3!}}{\left( {x - a} \right)^3} + \cdots \end{align*}
    $$

    $$
    \begin{align*}f(x) & = f(x^{(0)}) + (x-x^{(0)})^T g + \frac{1}{2} (x-x^{(0)})^T H (x-x^{(0)}) + \ldots \quad \text{其中 } g \text{ 为偏导数向量} \\f(x) & \approx f(x^{(0)}) + (x-x^{(0)})^T g + \frac{1}{2} (x-x^{(0)})^T H (x-x^{(0)}) \\f(x^{(0)} - \epsilon g) & \approx f(x^{(0)}) - \epsilon g^T g + \frac{1}{2} \epsilon^2 g^T H  g \tag{7} \quad\ \text{令} x=x^{(0)} - \epsilon g,\epsilon \in(0,1)\\\end{align*}
    $$
    这就是梯度下降$x\leftarrow x-\epsilon g$与海森矩阵的联系,$\epsilon$就是学习率。

    当$g^T H g\le0$时,$\epsilon$增加会导致$f(x)$减小。但$\epsilon$不能太大,因为$\epsilon $越大泰勒级数中的$\approx$越不准。当$g^T H g>0$时,增大$\epsilon$不一定导致损失函数增加或减小。此时,对式(7)中的$\epsilon$求导,得到最佳学习率为:
    $$
    \epsilon^{*} = \frac{g^T g}{g^T H g} \geqslant \frac{g^T g}{g^T g \lambda_{max}} = \frac{1}{\lambda_{max}} \quad \text{利用式(7) } g^T H g \leqslant g^T g \lambda_{\max}.\tag{8}
    $$
    $\lambda_{\max}$是$H$的最大特征值。于是海森矩阵决定了最佳学习率的下界。在使用最佳学习率的情况下,将式(8)代入式(7)有
    $$
    \begin{split}f(x^{(0)} - \epsilon^{*} g) & \approx f(x^{(0)}) - \frac{1}{2} \epsilon^{*} g^T g \\\end{split}
    $$
    如果海森矩阵的condition number很差(poor,很大)的话,损失函数在最陡峭的方向的梯度相较于其他方向非常小。如果此时恰好离最优值不远,则非常不幸。

    1.png

    梯度下降要么下降的很慢,要么步长太大跑得太远。

    patho2-1.png

    如同在一个狭长的峡谷中一样,梯度下降在两边的峭壁上反复碰撞,很少顺着峡谷往谷底走。

    2.png

    如果有种方法能让参数点在峭壁上采取较小步长,慢慢移动到谷底(而不是一下子撞到对面),然后快速顺流而下就好了。一阶梯度下降只考虑一阶梯度,不知道损失函数的曲率是如何变化的,也就是说不知道下一步会不会离开峭壁。解决方法之一是考虑了二阶梯度的牛顿法。

    牛顿法

    损失函数的泰勒展开近似,以及相应的导数近似为:
    $$
    \begin{split}
    f(x) & \approx f(x_n) + f'(x_n)\Delta{x} + \frac{1}{2} f''(x_n)\Delta{x}^2 \\
    \frac{ df(x)}{d\Delta{x}}  & \approx f'(x_n)+ f''(x_n)\Delta{x} \\
    \end{split}
    $$
    令导数为零,找到极值点:
    $$
    \begin{split}
    f'(x_n)+ f''(x_n)\Delta{x}  = 0 \\
    \Delta{x} = -\frac{f'(x_n)}{f''(x_n)} \\
    \end{split}
    $$
    执行一次迭代:
    $$
    \begin{split}
    x_{n+1} & = x_n +  \Delta{x} \\
    & = x_n -\frac{f'(x_n)}{f''(x_n)} \\
    &=x_{n} -[H f(x_{n})]^{-1} f'(x_{n})\\
    \end{split}
    $$
    写成梯度下降的形式:
    $$
    \begin{split}
    x^{'} = x -  [H f(x)]^{-1} f'(x) \\
    \end{split}
    $$
    其中,学习率
    $$
    \epsilon=[H f(x)]^{-1} f'(x)
    $$
    学习率与曲率成反比,也就是说在曲率大的方向(垂直于峭壁)的学习率小,而在曲率小的方向(平行于峭壁)的学习率大。也就是是说此时的梯度下降在顺流而下的方向的学习率更大,也就更快收敛了。

    展开全文
  • 海森差分行列式值,可为匹配设定阈值,从而减少匹配时间。
  • 理解雅可比矩阵和海森矩阵

    千次阅读 2020-04-05 12:31:22
    目录对二维度图像来说海森矩阵表达 对二维度图像来说 二阶导数表示的导数的变化规律,如果函数是一条曲线,且曲线存在二阶导数,那么二阶导数表示的是曲线的曲率,曲率越大,曲线越是弯曲。以此类推,多维空间中的一...

    简介

           二阶导数表示的导数的变化规律,如果函数是一条曲线,且曲线存在二阶导数,那么二阶导数表示的是曲线的曲率,曲率越大,曲线越是弯曲。以此类推,多维空间中的一个点的二阶导数就表示该点梯度下降的快慢。以二维图像为例,一阶导数是图像灰度变化即灰度梯度,二阶导数就是灰度梯度变化程度。

           Jacobian相当于一阶导数,Hessian相当于二阶导数, 一阶导数的零点是函数极值点,二阶导数的零点就是一阶导数的极值点。 信号的一阶导数的极值点反映了信号变化的最剧烈程度。有些时候求解极值点是不方便的,找到二阶导数的零点可以更好的帮助解决问题。

           在工程实际问题的优化设计中,所列的目标函数往往很复杂,为了使问题简化,常常将目标函数在某点邻域展开成泰勒多项式来逼近原函数,此时函数在某点泰勒展开式的矩阵形式中会涉及到海森矩阵。海森矩阵常用于牛顿法解决优化问题,利用海森矩阵可判定多元函数的极值问题。对于非线性优化问题, 牛顿法提供了一种求解的办法:假设任务是优化一个目标函数F(X), 求函数F(x)的极大极小问题,。可以转化为求解函数的导数F′=0的问题, 这样求可以把优化问题看成方程求解问题。海森矩阵被应用于牛顿法解决的大规模(多变量)优化问题。

    雅各比矩阵

           雅可比矩阵类似于多元函数的导数,也即是函数对各个自变量的一阶导数.。在某个给定点的雅可比行列式提供了 在接近该点时的表现的重要信息. 例如, 如果连续可微函数F在p点的雅可比行列式不是零, 那么它在该点附近具有反函数. 这称为反函数定理. 更进一步, 如果p点的雅可比行列式是正数, 则F在p点的取向不变;如果是负数, 则F的取向相反. 而从雅可比行列式的绝对值, 就可以知道函数F在p点的缩放因子;

    在这里插入图片描述

    海森矩阵

           对于一个维度为n的函数f
                                    在这里插入图片描述
           其在n维空间某点处的海森矩阵可以表达为如下:

    在这里插入图片描述

           在二维图像中,海森矩阵是二维正定矩阵,有两个特征值和对应的两个特征向量。两个特征值表示出了图像在两个特征向量所指方向上图像变化的各向异性。

           图像中的点性结构具有各项同性,而线性结构具有各向异性。因此我们可以利用海森矩阵对图像中的线性结构进行增强,滤去点状的结构和噪声点。同样,也可以用于找出图像中的点状结构,滤除其他信息。

           我们在使用海森矩阵时,不需要把图像进行泰勒展开,我们只需要直接求取矩阵中的元素即可。一般,对数字图像进行二阶求导使用的是以下方法;
    在这里插入图片描述
           但是这种方法鲁棒性很差,容易受到图像中局部信号的干扰, 计算量很大也不实际拿来使用在图像计算中。根据线性尺度空间理论(LOG),对一个函数求导,等于函数与高斯函数导数的卷积。由于高斯模板可以将周围一矩形范围内所有的点的信息都包含进来,这样就不会有误差。所以利用图像求取hessian矩阵中的元素时,将图像与高斯函数的二阶导数做卷积即可,式子如下;
    在这里插入图片描述

           下面是高斯函数的二阶偏导。
    在这里插入图片描述

           使用高斯核进行卷积时候,参数sigma 大小以及窗口大小会影响最终结果。求导窗口的大小有关,求导窗口太小,很多粗的结构会出现中空的现象,因为中心区域被认为是点结构了;求导窗口太大,就容易出现细微结构丢失的情况。

    更多详细内容可以参考链接

    展开全文
  • 海森矩阵海森矩阵最早于19世纪由德国数学家Ludwig Otto Hesse提出,并以其名字命名。利用黑塞矩阵可判定多元函数的极值问题。 一个多元函数的二阶偏导数构成的方阵。 下面举个例子来说明: 求这个多元函数的极值...
  • 雅可比矩阵与海森矩阵

    千次阅读 2019-02-23 10:30:13
    在向量分析中, 雅可比矩阵是一阶偏导数以一定方式排列成的矩阵。其行列式称为雅可比行列式。 一、Jacobian矩阵 雅可比矩阵的重要性在于它体现了一个可微方程与给出点的最优线性逼近. 因此, 雅可比矩阵类似于多元...
  • 文章目录一、 Jacobian二、雅可比矩阵2.1、雅可比行列式三、 海森Hessian矩阵3.1、海森矩阵在牛顿法中的应用3.1.1、 泰勒公式3.1.2、 求解方程3.1.3、 最优化 一、 Jacobian 在向量分析中, 雅可比矩阵是一阶偏导数以...
  • 海森矩阵及其应用

    万次阅读 2019-03-28 10:55:39
    海森矩阵 在数学中, 海森矩阵(Hessian matrix或Hessian)是一个自变量为向量的实值函数的二阶偏导数组成的方块矩阵, 此函数如下: f(x1,x2…,xn) 如果ff的所有二阶导数都存在, 那么ff的海森矩阵即: H(f)ij(x...
  • 泰勒公式和海森矩阵(Hessian-matrix)

    千次阅读 2019-11-06 18:02:05
    二、海森矩阵(Hessian-matrix) 1.背景介绍      黑塞矩阵 (德语: Hesse-Matrix ;英语: Hessian matrix 或 Hessian ),又译作 海森矩阵 、 海塞矩阵 或 海瑟矩阵 等,是一个由多变量实值函数的所有...
  • 海森矩阵(Hessian Matrix)Hessian Matrix:二阶导和函数曲率海森 & 机器学习特征值、凸性和鞍点 Key Words: Hessian Matrix, second order derivatives, convexity, and saddle points 原文链接:Hessian, ...
  • 图像的海森矩阵

    2020-09-06 21:49:42
    https://blog.csdn.net/qq_22128781/article/details/83281252
  • 海森矩阵(Hessian Matrix)与泰勒展开式

    千次阅读 2019-11-11 09:15:06
    海森矩阵(Hessian Matrix)与泰勒展开式 1.一元展开式 2.多元展开式
  • 一直想知道为什么海森矩阵的特征值就是描述了在某点特征向量方向上的凹凸性,找了一些资料,很多只是有个简单的结论,但没找到比较直观推导和证明。下面进行一波推导(非数学专业科班出身,推导过程比较直观不是很...
  • 在向量分析中, 雅可比矩阵是一阶偏导数以一定方式排列成的矩阵, 其行列式称为雅可比行列式. 还有, 在代数几何中, 代数曲线的雅可比量表示雅可比簇:伴随该曲线的一个代数群, 曲线可以嵌入其中. 它们全部都以数...
  • 梯度,雅克比矩阵和海森矩阵

    千次阅读 2020-03-18 17:51:20
    这里讨论的三个概念:梯度向量、Jacobian矩阵和Hessian矩阵,有关后面两个矩阵的性质日后将进一步完善。...二阶导数构成的矩阵为Hessian矩阵(海森矩阵) 多维 f(x) =(f1(x), f2(x), ⋯ , fm(x))T: 此时的一阶导...
  • 三维图像的海森矩阵

    千次阅读 2018-10-23 00:50:01
    标签: 三维图像 海森矩阵 二阶偏导数 高斯函数 海森矩阵(Hessian matrix) 雅可比矩阵 在向量分析中,雅可比矩阵是一阶偏导数以一定方式排列成的矩阵, 其行列式称为雅可比行列式。 海森矩阵 数学中,海森...
  • Hessian Matrix(海森矩阵)在图像处理中有广泛的应用,比如边缘检测、特征点检测等。而海森矩阵本身也包含了大量的数学知识,例如泰勒展开、多元函数求导、矩阵、特征值等。写这篇博客的目的,就是想从原理和实现上...
  • 这个例子效果并没有给出的结果那么... Hessian Matrix(海森矩阵)在图像处理中有广泛的应用,比如边缘检测、特征点检测等。而海森矩阵本身也包含了大量的数学知识,例如泰勒展开、多元函数求导、矩阵、特征值等。写...
  • 条件数、奇异值与海森矩阵

    千次阅读 2019-08-09 11:06:30
     粗略地讲,在二次方程中,椭球面的形状受海森矩阵的条件数影响,长轴与短轴分别对应海森矩阵最小特征值和最大特征值的特征向量的方向,其轴长与特征值的平方根成反比。最大特征值与最小特征值相差越大,椭球面越扁...
  • 话不多说,下面开始:1、海森矩阵 Hessian Matrix海森矩阵是一个自变量为向量的实值函数的二阶偏导数组成的方块矩阵,函数为:海森矩阵和牛顿法密切相关。可以利用海森矩阵进行多元函数的极值判断。参考:...
  • https://www.cnblogs.com/jsxyhelu/p/12114981.html... 疑问与说明: 1、得到特征值后怎么根据特征值判断为线性结构、角点结构? 2、sigma跟模板大小怎么确定?...3、描述子实际上为二维矩阵上的特征向量与特征值; ...
  • 海森矩阵和牛顿法

    2019-05-18 11:12:00
    海森矩阵:函数的二阶导数是海森矩阵海森矩阵经常用于牛顿法优化方法中,牛顿法是一种迭代求解方法,有一阶和二阶方法,主要应用在两个方面:1、求方程的根,2、最优化方法。 求解方程的根 当方程没有求根公式,...
  • 凸函数与优化,以及海森矩阵

    千次阅读 2019-05-08 16:25:15
    https://blog.csdn.net/han_xiaoyang/article/details/79080100 https://www.cnblogs.com/wangyarui/p/6407604.html https://www.cnblogs.com/always-fight/p/9377554.html
  • 多元函数的Hessian矩阵就类似一元函数的二阶导。 多元函数Hessian矩阵半正定就相当于一元函数二阶导非负,半负定就相当于一元函数二阶导非正。如果这个类比成立的话,凸函数的Hessian恒半正定就非常容易理解了——...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,036
精华内容 1,214
关键字:

海森矩阵

友情链接: jiguangtext.rar