mlp_prune_obs: Optimal Brain Surgeon pruning

Description Usage Arguments Value References

View source: R/mlp_prune.R

Description

The Optimal Brain Surgeon algorithm is a robust (yet computationally demanding) pruning algorithm in which candidate weight to be turned off is determined based on information about the inverse of (approximate) Hessian matrix of the MSE.

Usage

1
2
mlp_prune_obs(net, input, output, tol_level, max_reteach_epochs, report,
  plots = FALSE, alpha = 1e-05)

Arguments

net

an object of mlp_net class

input

numeric matrix, each row corresponds to one input vector, the number of columns must be equal to the number of neurons in the network input layer

output

numeric matrix with rows corresponding to expected outputs, the number of columns must be equal to the number of neurons in the network output layer, the number of rows must be equal to the number of input rows

tol_level

numeric value, error (MSE) tolerance level

max_reteach_epochs

integer value, maximal number of epochs (iterations) allowed when reteaching network

report

logical value, if TRUE, information about the pruning process will be printed on the console (FALSE by default)

plots

logical value, if TRUE, the initial network is plotted and then replotted every time neuron is removed and at the end of pruning (FALSE by default)

alpha

numeric value, scaling factor used for initial Hessian approximation

Value

Three-element list, the first field (net) contains the pruned network, the second (wcount) - the number of connections removed (inactivated), the third (ncount) - the number of neurons removed.

References

B. Hassibi, D. G. Stork, and G. J. Wolff. Optimal Brain Surgeon and General Network Pruning. Technical Report CRC-TR-9235, RICOH California Research Centre, 1992.


FCNN4R documentation built on May 29, 2017, 4:26 p.m.