Ann: Difference between revisions

From Eigenvector Research Documentation Wiki
Jump to navigation Jump to search
imported>Scott
(Created page with "===Purpose=== Predictions based on Artificial Neural Network regression models. ===Synopsis=== : [model] = ann(x,y,options); : [ypred] = ann(x,model,options); : [ypred] = a...")
 
imported>Donal
No edit summary
Line 1: Line 1:
===Purpose===
===Purpose===


Predictions based on Artificial Neural Network regression models.
Predictions based on Artificial Neural Network (ANN) regression models.


===Synopsis===
===Synopsis===
Line 12: Line 12:
===Description===
===Description===


Build an ANN model from input X and Y block data using the optimal number of learning iterations (based on cross-validation) for specified number of layers and layer nodes. Alternatively, if a model is passed in ANN makes a Y prediction for an input test X block. The ANN model contains quantities (weights etc) calculated from the calibration data. If a model structure is passed in then these do not have to be re-calculated.
Build an ANN model from input X and Y block data using the specified number of layers and layer nodes. Alternatively, if a model is passed in ANN makes a Y prediction for an input test X block. The ANN model contains quantities (weights etc) calculated from the calibration data. If a model structure is passed in then these do not have to be re-calculated. The ANN is a Feedforward ANN with Resilient Backpropagation training. See [http://en.wikipedia.org/wiki/Rprop] for further details. ANN is implemented using the Encog package [http://www.heatonresearch.com/encog].


===Options===
===Options===
Line 19: Line 19:
* '''display''' : [ 'off' |{'on'}] Governs display
* '''display''' : [ 'off' |{'on'}] Governs display
* '''plots''': [ {'none'} | 'final' ] governs plotting of results, and
* '''plots''': [ {'none'} | 'final' ] governs plotting of results, and
* '''order''': positive integer for polynomial order {default = 1}.
* '''waitbar''' : [ 'off' |{'auto'}| 'on' ] governs use of waitbar during analysis. 'auto' shows waitbar if delay will likely be longer than a reasonable waiting period.
* '''waitbar''' : [ 'off' |{'auto'}| 'on' ] governs use of waitbar during analysis. 'auto' shows waitbar if delay will likely be longer than a reasonable waiting period.
* '''anntype''' : [{1} | 2] Number of hidden layers.
* '''anntype''' : [{1} | 2] Number of hidden layers.
Line 25: Line 24:
* '''nhid2''' : [{2}] Number of nodes in second hidden layer.
* '''nhid2''' : [{2}] Number of nodes in second hidden layer.
* '''learnrate''' : [0.125] ANN learning rate
* '''learnrate''' : [0.125] ANN learning rate
* '''cvmethod''' : [{'con'} | 'vet' | 'loo' | 'rnd'] CV method OR [] for KS one-split
* '''maxseconds''' : [{30}] Maximum duration of ANN training.
* '''cvsplits''' : [{5}] Number of CV subsets
* '''terminalrmse''' : [0.005] Termination RMSE value for ANN iterations.
* '''learncycles''' : [{20}] Iterations of the training cycle
* '''terminalrmserate''' : [1.e-6] Termination rate of change of RMSE per 100 iterations.
* '''preprocessing''': {[] []} preprocessing structures for x and y blocks (see PREPROCESS).
* '''compression''': [{'none'}| 'pca' | 'pls' ] type of data compression to perform on the x-block prior to calculaing or applying the SVM model. 'pca' uses a simple PCA model to compress the information. 'pls' uses either a pls or plsda model (depending on the svmtype). Compression can make the SVM more stable and less prone to overfitting.
* '''compressncomp''': [1] Number of latent variables (or principal components to include in the compression model.
* '''blockdetails''': [ {'standard'} | 'all' ], extent of predictions and residuals included in model, 'standard' = only y-block, 'all' x- and y-blocks.


===See Also===
===See Also===


[[modelselector]]
[[modelselector]]

Revision as of 18:03, 14 November 2013

Purpose

Predictions based on Artificial Neural Network (ANN) regression models.

Synopsis

[model] = ann(x,y,options);
[ypred] = ann(x,model,options);
[ypred] = ann(x,y,model,options);
[ypred] = ann(x,y, xt,yt, options);

Description

Build an ANN model from input X and Y block data using the specified number of layers and layer nodes. Alternatively, if a model is passed in ANN makes a Y prediction for an input test X block. The ANN model contains quantities (weights etc) calculated from the calibration data. If a model structure is passed in then these do not have to be re-calculated. The ANN is a Feedforward ANN with Resilient Backpropagation training. See [1] for further details. ANN is implemented using the Encog package [2].

Options

options = a structure array with the following fields:

  • display : [ 'off' |{'on'}] Governs display
  • plots: [ {'none'} | 'final' ] governs plotting of results, and
  • waitbar : [ 'off' |{'auto'}| 'on' ] governs use of waitbar during analysis. 'auto' shows waitbar if delay will likely be longer than a reasonable waiting period.
  • anntype : [{1} | 2] Number of hidden layers.
  • nhid1 : [{2}] Number of nodes in first hidden layer.
  • nhid2 : [{2}] Number of nodes in second hidden layer.
  • learnrate : [0.125] ANN learning rate
  • maxseconds : [{30}] Maximum duration of ANN training.
  • terminalrmse : [0.005] Termination RMSE value for ANN iterations.
  • terminalrmserate : [1.e-6] Termination rate of change of RMSE per 100 iterations.
  • preprocessing: {[] []} preprocessing structures for x and y blocks (see PREPROCESS).
  • compression: [{'none'}| 'pca' | 'pls' ] type of data compression to perform on the x-block prior to calculaing or applying the SVM model. 'pca' uses a simple PCA model to compress the information. 'pls' uses either a pls or plsda model (depending on the svmtype). Compression can make the SVM more stable and less prone to overfitting.
  • compressncomp: [1] Number of latent variables (or principal components to include in the compression model.
  • blockdetails: [ {'standard'} | 'all' ], extent of predictions and residuals included in model, 'standard' = only y-block, 'all' x- and y-blocks.

See Also

modelselector