Evaluates Hessian for a Neural Network

DESCRIPTION:

Evaluates the Hessian (matrix of second derivatives) of the specified neural network. Normally called via argument Hess=T to nnet or via vcov.multinom .

USAGE:

nnet.Hess(net, x, y, weights)

REQUIRED ARGUMENTS:

net
object of class nnet as returned by nnet.
x
training data.
y
classes for training data.

OPTIONAL ARGUMENTS:

weights
the (case) weights used in the nnet fit.

VALUE:

square symmetric matrix of the Hessian evaluated at the weights stored in the net.

SEE ALSO:

,

EXAMPLES:

# use half the iris data
ir <- rbind(iris[,,1],iris[,,2],iris[,,3])
targets <- matrix(c(rep(c(1,0,0),50), rep(c(0,1,0),50), rep(c(0,0,1),50)),
150, 3, byrow=T)
samp <- c(sample(1:50,25), sample(51:100,25), sample(101:150,25))
ir1 <- nnet(ir[samp,], targets[samp,],size=2, rang=0.1, decay=5e-4, maxit=200)
eigen(nnet.Hess(ir1, ir[samp,], targets[samp,]), T)$values