mlphess

Purpose

Evaluate the Hessian matrix for a multi-layer perceptron network.

Synopsis

h = mlphess(net, x, t)
[h, hdata] = mlphess(net, x, t)
h = mlphess(net, x, t, hdata)

Description

h = mlphess(net, x, t) takes an MLP network data structure net, a matrix x of input values, and a matrix t of target values and returns the full Hessian matrix h corresponding to the second derivatives of the negative log posterior distribution, evaluated for the current weight and bias values as defined by net.

[h, hdata] = mlphess(net, x, t) returns both the Hessian matrix h and the contribution hdata arising from the data dependent term in the Hessian.

h = mlphess(net, x, t, hdata) takes a network data structure net, a matrix x of input values, and a matrix t of target values, together with the contribution hdata arising from the data dependent term in the Hessian, and returns the full Hessian matrix h corresponding to the second derivatives of the negative log posterior distribution. This version saves computation time if hdata has already been evaluated for the current weight and bias values.

Example

For the standard regression framework with a Gaussian conditional distribution of target values given input values, and a simple Gaussian prior over weights, the Hessian takes the form

    h = beta*hd + alpha*I
where the contribution hd is evaluated by calls to mlphdotv and h is the full Hessian.

See Also

mlp, hesschek, mlphdotv, evidence
Pages: Index

Copyright (c) Ian T Nabney (1996-9)