Hessian matrix

From HandWiki
Short description: (Mathematical) matrix of second derivatives

In mathematics, the Hessian matrix, Hessian or (less commonly) Hesse matrix is a square matrix of second-order partial derivatives of a scalar-valued function, or scalar field. It describes the local curvature of a function of many variables. The Hessian matrix was developed in the 19th century by the German mathematician Ludwig Otto Hesse and later named after him. Hesse originally used the term "functional determinants". The Hessian is sometimes denoted by H or, ambiguously, by ∇2.

Definitions and properties

Suppose [math]\displaystyle{ f : \R^n \to \R }[/math] is a function taking as input a vector [math]\displaystyle{ \mathbf{x} \in \R^n }[/math] and outputting a scalar [math]\displaystyle{ f(\mathbf{x}) \in \R. }[/math] If all second-order partial derivatives of [math]\displaystyle{ f }[/math] exist, then the Hessian matrix [math]\displaystyle{ \mathbf{H} }[/math] of [math]\displaystyle{ f }[/math] is a square [math]\displaystyle{ n \times n }[/math] matrix, usually defined and arranged as [math]\displaystyle{ \mathbf H_f= \begin{bmatrix} \dfrac{\partial^2 f}{\partial x_1^2} & \dfrac{\partial^2 f}{\partial x_1\,\partial x_2} & \cdots & \dfrac{\partial^2 f}{\partial x_1\,\partial x_n} \\[2.2ex] \dfrac{\partial^2 f}{\partial x_2\,\partial x_1} & \dfrac{\partial^2 f}{\partial x_2^2} & \cdots & \dfrac{\partial^2 f}{\partial x_2\,\partial x_n} \\[2.2ex] \vdots & \vdots & \ddots & \vdots \\[2.2ex] \dfrac{\partial^2 f}{\partial x_n\,\partial x_1} & \dfrac{\partial^2 f}{\partial x_n\,\partial x_2} & \cdots & \dfrac{\partial^2 f}{\partial x_n^2} \end{bmatrix}. }[/math] That is, the entry of the ith row and the jth column is [math]\displaystyle{ (\mathbf H_f)_{i,j} = \frac{\partial^2 f}{\partial x_i \, \partial x_j}. }[/math]

If furthermore the second partial derivatives are all continuous, the Hessian matrix is a symmetric matrix by the symmetry of second derivatives.

The determinant of the Hessian matrix is called the Hessian determinant.[1]

The Hessian matrix of a function [math]\displaystyle{ f }[/math] is the transpose of the Jacobian matrix of the gradient of the function [math]\displaystyle{ f }[/math]; that is: [math]\displaystyle{ \mathbf{H}(f(\mathbf{x})) = \mathbf{J}(\nabla f(\mathbf{x}))^T. }[/math]


Inflection points

If [math]\displaystyle{ f }[/math] is a homogeneous polynomial in three variables, the equation [math]\displaystyle{ f = 0 }[/math] is the implicit equation of a plane projective curve. The inflection points of the curve are exactly the non-singular points where the Hessian determinant is zero. It follows by Bézout's theorem that a cubic plane curve has at most [math]\displaystyle{ 9 }[/math] inflection points, since the Hessian determinant is a polynomial of degree [math]\displaystyle{ 3. }[/math]

Second-derivative test

Main page: Second partial derivative test

The Hessian matrix of a convex function is positive semi-definite. Refining this property allows us to test whether a critical point [math]\displaystyle{ x }[/math] is a local maximum, local minimum, or a saddle point, as follows:

If the Hessian is positive-definite at [math]\displaystyle{ x, }[/math] then [math]\displaystyle{ f }[/math] attains an isolated local minimum at [math]\displaystyle{ x. }[/math] If the Hessian is negative-definite at [math]\displaystyle{ x, }[/math] then [math]\displaystyle{ f }[/math] attains an isolated local maximum at [math]\displaystyle{ x. }[/math] If the Hessian has both positive and negative eigenvalues, then [math]\displaystyle{ x }[/math] is a saddle point for [math]\displaystyle{ f. }[/math] Otherwise the test is inconclusive. This implies that at a local minimum the Hessian is positive-semidefinite, and at a local maximum the Hessian is negative-semidefinite.

For positive-semidefinite and negative-semidefinite Hessians the test is inconclusive (a critical point where the Hessian is semidefinite but not definite may be a local extremum or a saddle point). However, more can be said from the point of view of Morse theory.

The second-derivative test for functions of one and two variables is simpler than the general case. In one variable, the Hessian contains exactly one second derivative; if it is positive, then [math]\displaystyle{ x }[/math] is a local minimum, and if it is negative, then [math]\displaystyle{ x }[/math] is a local maximum; if it is zero, then the test is inconclusive. In two variables, the determinant can be used, because the determinant is the product of the eigenvalues. If it is positive, then the eigenvalues are both positive, or both negative. If it is negative, then the two eigenvalues have different signs. If it is zero, then the second-derivative test is inconclusive.

Equivalently, the second-order conditions that are sufficient for a local minimum or maximum can be expressed in terms of the sequence of principal (upper-leftmost) minors (determinants of sub-matrices) of the Hessian; these conditions are a special case of those given in the next section for bordered Hessians for constrained optimization—the case in which the number of constraints is zero. Specifically, the sufficient condition for a minimum is that all of these principal minors be positive, while the sufficient condition for a maximum is that the minors alternate in sign, with the [math]\displaystyle{ 1 \times 1 }[/math] minor being negative.

Critical points

If the gradient (the vector of the partial derivatives) of a function [math]\displaystyle{ f }[/math] is zero at some point [math]\displaystyle{ \mathbf{x}, }[/math] then [math]\displaystyle{ f }[/math] has a critical point (or stationary point) at [math]\displaystyle{ \mathbf{x}. }[/math] The determinant of the Hessian at [math]\displaystyle{ \mathbf{x} }[/math] is called, in some contexts, a discriminant. If this determinant is zero then [math]\displaystyle{ \mathbf{x} }[/math] is called a degenerate critical point of [math]\displaystyle{ f, }[/math] or a non-Morse critical point of [math]\displaystyle{ f. }[/math] Otherwise it is non-degenerate, and called a Morse critical point of [math]\displaystyle{ f. }[/math]

The Hessian matrix plays an important role in Morse theory and catastrophe theory, because its kernel and eigenvalues allow classification of the critical points.[2][3][4]

The determinant of the Hessian matrix, when evaluated at a critical point of a function, is equal to the Gaussian curvature of the function considered as a manifold. The eigenvalues of the Hessian at that point are the principal curvatures of the function, and the eigenvectors are the principal directions of curvature. (See Gaussian curvature § Relation to principal curvatures.)

Use in optimization

Hessian matrices are used in large-scale optimization problems within Newton-type methods because they are the coefficient of the quadratic term of a local Taylor expansion of a function. That is, [math]\displaystyle{ y = f(\mathbf{x} + \Delta\mathbf{x})\approx f(\mathbf{x}) + \nabla f(\mathbf{x})^\mathrm{T} \Delta\mathbf{x} + \frac{1}{2} \, \Delta\mathbf{x}^\mathrm{T} \mathbf{H}(\mathbf{x}) \, \Delta\mathbf{x} }[/math] where [math]\displaystyle{ \nabla f }[/math] is the gradient [math]\displaystyle{ \left(\frac{\partial f}{\partial x_1}, \ldots, \frac{\partial f}{\partial x_n}\right). }[/math] Computing and storing the full Hessian matrix takes [math]\displaystyle{ \Theta\left(n^2\right) }[/math] memory, which is infeasible for high-dimensional functions such as the loss functions of neural nets, conditional random fields, and other statistical models with large numbers of parameters. For such situations, truncated-Newton and quasi-Newton algorithms have been developed. The latter family of algorithms use approximations to the Hessian; one of the most popular quasi-Newton algorithms is BFGS.[5]

Such approximations may use the fact that an optimization algorithm uses the Hessian only as a linear operator [math]\displaystyle{ \mathbf{H}(\mathbf{v}), }[/math] and proceed by first noticing that the Hessian also appears in the local expansion of the gradient: [math]\displaystyle{ \nabla f (\mathbf{x} + \Delta\mathbf{x}) = \nabla f (\mathbf{x}) + \mathbf{H}(\mathbf{x}) \, \Delta\mathbf{x} + \mathcal{O}(\|\Delta\mathbf{x}\|^2) }[/math]

Letting [math]\displaystyle{ \Delta \mathbf{x} = r \mathbf{v} }[/math] for some scalar [math]\displaystyle{ r, }[/math] this gives [math]\displaystyle{ \mathbf{H}(\mathbf{x}) \, \Delta\mathbf{x} = \mathbf{H}(\mathbf{x})r\mathbf{v} = r\mathbf{H}(\mathbf{x})\mathbf{v} = \nabla f (\mathbf{x} + r\mathbf{v}) - \nabla f (\mathbf{x}) + \mathcal{O}(r^2), }[/math] that is, [math]\displaystyle{ \mathbf{H}(\mathbf{x})\mathbf{v} = \frac{1}{r} \left[\nabla f(\mathbf{x} + r \mathbf{v}) - \nabla f(\mathbf{x})\right] + \mathcal{O}(r) }[/math] so if the gradient is already computed, the approximate Hessian can be computed by a linear (in the size of the gradient) number of scalar operations. (While simple to program, this approximation scheme is not numerically stable since [math]\displaystyle{ r }[/math] has to be made small to prevent error due to the [math]\displaystyle{ \mathcal{O}(r) }[/math] term, but decreasing it loses precision in the first term.[6])

Notably regarding Randomized Search Heuristics, the evolution strategy's covariance matrix adapts to the inverse of the Hessian matrix, up to a scalar factor and small random fluctuations. This result has been formally proven for a single-parent strategy and a static model, as the population size increases, relying on the quadratic approximation.[7]

Other applications

The Hessian matrix is commonly used for expressing image processing operators in image processing and computer vision (see the Laplacian of Gaussian (LoG) blob detector, the determinant of Hessian (DoH) blob detector and scale space). It can be used in normal mode analysis to calculate the different molecular frequencies in infrared spectroscopy.[8] It can also be used in local sensitivity and statistical diagnostics.[9]


Bordered Hessian

A bordered Hessian is used for the second-derivative test in certain constrained optimization problems. Given the function [math]\displaystyle{ f }[/math] considered previously, but adding a constraint function [math]\displaystyle{ g }[/math] such that [math]\displaystyle{ g(\mathbf{x}) = c, }[/math] the bordered Hessian is the Hessian of the Lagrange function [math]\displaystyle{ \Lambda(\mathbf{x}, \lambda) = f(\mathbf{x}) + \lambda[g(\mathbf{x}) - c]: }[/math][10] [math]\displaystyle{ \mathbf H(\Lambda) = \begin{bmatrix} \dfrac{\partial^2 \Lambda}{\partial \lambda^2} & \dfrac{\partial^2 \Lambda}{\partial \lambda \partial \mathbf x} \\ \left(\dfrac{\partial^2 \Lambda}{\partial \lambda \partial \mathbf x}\right)^{\mathsf{T}} & \dfrac{\partial^2 \Lambda}{\partial \mathbf x^2} \end{bmatrix} = \begin{bmatrix} 0 & \dfrac{\partial g}{\partial x_1} & \dfrac{\partial g}{\partial x_2} & \cdots & \dfrac{\partial g}{\partial x_n} \\[2.2ex] \dfrac{\partial g}{\partial x_1} & \dfrac{\partial^2 \Lambda}{\partial x_1^2} & \dfrac{\partial^2 \Lambda}{\partial x_1\,\partial x_2} & \cdots & \dfrac{\partial^2 \Lambda}{\partial x_1\,\partial x_n} \\[2.2ex] \dfrac{\partial g}{\partial x_2} & \dfrac{\partial^2 \Lambda}{\partial x_2\,\partial x_1} & \dfrac{\partial^2 \Lambda}{\partial x_2^2} & \cdots & \dfrac{\partial^2 \Lambda}{\partial x_2\,\partial x_n} \\[2.2ex] \vdots & \vdots & \vdots & \ddots & \vdots \\[2.2ex] \dfrac{\partial g}{\partial x_n} & \dfrac{\partial^2 \Lambda}{\partial x_n\,\partial x_1} & \dfrac{\partial^2 \Lambda}{\partial x_n\,\partial x_2} & \cdots & \dfrac{\partial^2 \Lambda}{\partial x_n^2} \end{bmatrix} = \begin{bmatrix} 0 & \dfrac{\partial g}{\partial \mathbf x} \\ \left(\dfrac{\partial g}{\partial \mathbf x}\right)^{\mathsf{T}} & \dfrac{\partial^2 \Lambda}{\partial \mathbf x^2} \end{bmatrix} }[/math]

If there are, say, [math]\displaystyle{ m }[/math] constraints then the zero in the upper-left corner is an [math]\displaystyle{ m \times m }[/math] block of zeros, and there are [math]\displaystyle{ m }[/math] border rows at the top and [math]\displaystyle{ m }[/math] border columns at the left.

The above rules stating that extrema are characterized (among critical points with a non-singular Hessian) by a positive-definite or negative-definite Hessian cannot apply here since a bordered Hessian can neither be negative-definite nor positive-definite, as [math]\displaystyle{ \mathbf{z}^{\mathsf{T}} \mathbf{H} \mathbf{z} = 0 }[/math] if [math]\displaystyle{ \mathbf{z} }[/math] is any vector whose sole non-zero entry is its first.

The second derivative test consists here of sign restrictions of the determinants of a certain set of [math]\displaystyle{ n - m }[/math] submatrices of the bordered Hessian.[11] Intuitively, the [math]\displaystyle{ m }[/math] constraints can be thought of as reducing the problem to one with [math]\displaystyle{ n - m }[/math] free variables. (For example, the maximization of [math]\displaystyle{ f\left(x_1, x_2, x_3\right) }[/math] subject to the constraint [math]\displaystyle{ x_1 + x_2 + x_3 = 1 }[/math] can be reduced to the maximization of [math]\displaystyle{ f\left(x_1, x_2, 1 - x_1 - x_2\right) }[/math] without constraint.)

Specifically, sign conditions are imposed on the sequence of leading principal minors (determinants of upper-left-justified sub-matrices) of the bordered Hessian, for which the first [math]\displaystyle{ 2 m }[/math] leading principal minors are neglected, the smallest minor consisting of the truncated first [math]\displaystyle{ 2 m + 1 }[/math] rows and columns, the next consisting of the truncated first [math]\displaystyle{ 2 m + 2 }[/math] rows and columns, and so on, with the last being the entire bordered Hessian; if [math]\displaystyle{ 2 m + 1 }[/math] is larger than [math]\displaystyle{ n + m, }[/math] then the smallest leading principal minor is the Hessian itself.[12] There are thus [math]\displaystyle{ n - m }[/math] minors to consider, each evaluated at the specific point being considered as a candidate maximum or minimum. A sufficient condition for a local maximum is that these minors alternate in sign with the smallest one having the sign of [math]\displaystyle{ (-1)^{m+1}. }[/math] A sufficient condition for a local minimum is that all of these minors have the sign of [math]\displaystyle{ (-1)^m. }[/math] (In the unconstrained case of [math]\displaystyle{ m=0 }[/math] these conditions coincide with the conditions for the unbordered Hessian to be negative definite or positive definite respectively).

Vector-valued functions

If [math]\displaystyle{ f }[/math] is instead a vector field [math]\displaystyle{ \mathbf{f} : \R^n \to \R^m, }[/math] that is, [math]\displaystyle{ \mathbf f(\mathbf x) = \left(f_1(\mathbf x), f_2(\mathbf x), \ldots, f_m(\mathbf x)\right), }[/math] then the collection of second partial derivatives is not a [math]\displaystyle{ n \times n }[/math] matrix, but rather a third-order tensor. This can be thought of as an array of [math]\displaystyle{ m }[/math] Hessian matrices, one for each component of [math]\displaystyle{ \mathbf{f} }[/math]: [math]\displaystyle{ \mathbf H(\mathbf f) = \left(\mathbf H(f_1), \mathbf H(f_2), \ldots, \mathbf H(f_m)\right). }[/math] This tensor degenerates to the usual Hessian matrix when [math]\displaystyle{ m = 1. }[/math]

Generalization to the complex case

In the context of several complex variables, the Hessian may be generalized. Suppose [math]\displaystyle{ f\colon\Complex^n \to \Complex, }[/math] and write [math]\displaystyle{ f\left(z_1, \ldots, z_n\right). }[/math] Then the generalized Hessian is [math]\displaystyle{ \frac{\partial^2f}{\partial z_i \partial\overline{z_j}}. }[/math] If [math]\displaystyle{ f }[/math] satisfies the n-dimensional Cauchy–Riemann conditions, then the complex Hessian matrix is identically zero.

Generalizations to Riemannian manifolds

Let [math]\displaystyle{ (M,g) }[/math] be a Riemannian manifold and [math]\displaystyle{ \nabla }[/math] its Levi-Civita connection. Let [math]\displaystyle{ f : M \to \R }[/math] be a smooth function. Define the Hessian tensor by [math]\displaystyle{ \operatorname{Hess}(f) \in \Gamma\left(T^*M \otimes T^*M\right) \quad \text{ by } \quad \operatorname{Hess}(f) := \nabla \nabla f = \nabla df, }[/math] where this takes advantage of the fact that the first covariant derivative of a function is the same as its ordinary differential. Choosing local coordinates [math]\displaystyle{ \left\{x^i\right\} }[/math] gives a local expression for the Hessian as [math]\displaystyle{ \operatorname{Hess}(f)=\nabla_i\, \partial_j f \ dx^i \!\otimes\! dx^j = \left(\frac{\partial^2 f}{\partial x^i \partial x^j} - \Gamma_{ij}^k \frac{\partial f}{\partial x^k}\right) dx^i \otimes dx^j }[/math] where [math]\displaystyle{ \Gamma^k_{ij} }[/math] are the Christoffel symbols of the connection. Other equivalent forms for the Hessian are given by [math]\displaystyle{ \operatorname{Hess}(f)(X, Y) = \langle \nabla_X \operatorname{grad} f,Y \rangle \quad \text{ and } \quad \operatorname{Hess}(f)(X,Y) = X(Yf)-df(\nabla_XY). }[/math]

See also


  1. Binmore, Ken; Davies, Joan (2007). Calculus Concepts and Methods. Cambridge University Press. p. 190. ISBN 978-0-521-77541-0. OCLC 717598615. 
  2. Callahan, James J. (2010) (in en). Advanced Calculus: A Geometric View. Springer Science & Business Media. p. 248. ISBN 978-1-4419-7332-0. https://books.google.com/books?id=geruGMKT9_UC&pg=PA248. 
  3. Casciaro, B., ed (2011) (in en). Recent Developments in General Relativity. Springer Science & Business Media. p. 178. ISBN 9788847021136. https://books.google.com/books?id=Tcn3CAAAQBAJ&pg=PA178. 
  4. Domenico P. L. Castrigiano; Sandra A. Hayes (2004). Catastrophe theory. Westview Press. p. 18. ISBN 978-0-8133-4126-2. 
  5. Nocedal, Jorge; Wright, Stephen (2000). Numerical Optimization. Springer Verlag. ISBN 978-0-387-98793-4. 
  6. Pearlmutter, Barak A. (1994). "Fast exact multiplication by the Hessian". Neural Computation 6 (1): 147–160. doi:10.1162/neco.1994.6.1.147. http://www.bcl.hamilton.ie/~barak/papers/nc-hessian.pdf. 
  7. Shir, O.M.; A. Yehudayoff (2020). "On the covariance-Hessian relation in evolution strategies". Theoretical Computer Science (Elsevier) 801: 157–174. doi:10.1016/j.tcs.2019.09.002. 
  8. Mott, Adam J.; Rez, Peter (December 24, 2014). "Calculation of the infrared spectra of proteins" (in en). European Biophysics Journal 44 (3): 103–112. doi:10.1007/s00249-014-1005-6. ISSN 0175-7571. PMID 25538002. http://link.springer.com/10.1007/s00249-014-1005-6. 
  9. Liu, Shuangzhe; Leiva, Victor; Zhuang, Dan; Ma, Tiefeng; Figueroa-Zúñiga, Jorge I. (March 2022). "Matrix differential calculus with applications in the multivariate linear model and its diagnostics". Journal of Multivariate Analysis 188: 104849. doi:10.1016/j.jmva.2021.104849. 
  10. Hallam, Arne (October 7, 2004). "Econ 500: Quantitative Methods in Economic Analysis I". Iowa State. https://www2.econ.iastate.edu/classes/econ500/hallam/documents/opt_con_gen_000.pdf. 
  11. Neudecker, Heinz; Magnus, Jan R. (1988). Matrix Differential Calculus with Applications in Statistics and Econometrics. New York: John Wiley & Sons. p. 136. ISBN 978-0-471-91516-4. 
  12. Chiang, Alpha C. (1984). Fundamental Methods of Mathematical Economics (Third ed.). McGraw-Hill. p. 386. ISBN 978-0-07-010813-4. https://archive.org/details/fundamentalmetho0000chia_b4p1/page/386. 

Further reading

External links