Class ANN_Network

Description
  • access: public

Located in /ANN_Network.php (line 51)

ANN_Filesystem
   |
   --ANN_Network
Class Constant Summary
Method Summary
[708]   protected   static   string :  getDefaultFilename ()
[1096]   public   static   void :  loadFromFile ([string $filename = null])
[1369]   public   static   ANN_Network :  loadFromHost (string $username, string $password, string $host)
[352]   protected   void :  activate ()
[1430]   protected   void :  adjustLearningRate ()
[159]   public   ANN_Network :  __construct ([integer $numberOfHiddenLayers = 2], [integer $numberOfNeuronsPerLayer = 4], [integer $numberOfOutputs = 1])
[1054]   protected   void :  calculateMaxTrainingLoops ()
[312]   protected   void :  createHiddenLayers (integer $numberOfHiddenLayers, integer $numberOfNeuronsPerLayer)
[339]   protected   void :  createOutputLayer (integer $numberOfOutputs)
[1401]   protected   void :  detectOutputType ()
[664]   protected   integer :  getCountInputs ()
[1281]   protected   float :  getNetworkError ()
[466]   protected   integer :  getNextIndexInputsToTrain ([boolean $reset = FALSE])
[1141]   public   integer :  getNumberHiddenLayers ()
[1155]   public   integer :  getNumberHiddens ()
[1126]   public   integer :  getNumberInputs ()
[1170]   public   integer :  getNumberOutputs ()
[250]   public   array :  getOutputs ()
[288]   public   array :  getOutputsByInputKey (integer $keyInput)
[497]   public   integer :  getTotalLoops ()
[508]   protected   boolean :  isEpoch ()
[573]   protected   boolean :  isTrainingComplete ()
[611]   protected   boolean :  isTrainingCompleteByEpoch ()
[628]   protected   boolean :  isTrainingCompleteByInputKey (integer $keyInput)
[1262]   protected   void :  logNetworkErrors ()
[1207]   public   void :  logNetworkErrorsToFile (string $filename)
[1225]   protected   void :  logWeights ()
[1188]   public   void :  logWeightsToFile (string $filename)
[752]   public   void :  printNetwork ([integer $level = 0])
[834]   protected   void :  printNetworkDetails1 ()
[995]   protected   void :  printNetworkDetails2 ()
[1112]   public   void :  saveToFile ([string $filename = null])
[1339]   public   void :  saveToHost (string $username, string $password, string $host)
[1517]   public   void :  setBackpropagationAlgorithm ([integer $algorithm = self::ALGORITHM_BACKPROPAGATION])
[1463]   public   void :  setDynamicLearningRate ([boolean $dynamicLearningRate = TRUE])
[189]   public   void :  setInputs (array $inputs)
[233]   protected   void :  setInputsToTrain (array $inputs)
[534]   public   void :  setLearningRate ([float $learningRate = 0.5])
[1067]   public   void :  setMaxTrainingLoopsFactor ([integer $maxTrainingLoopsFactor = 230])
[555]   public   void :  setMomentum ([float $momentum = 0.95])
[1569]   public   void :  setOutputErrorTolerance ([float $outputErrorTolerance = 0.02])
[213]   public   void :  setOutputs (array $outputs)
[721]   protected   void :  setOutputType ([string $type = 'linear'])
[1551]   public   void :  setQuickPropMaxWeightChangeFactor ([float $quickPropMaxWeightChangeFactor = 2.25])
[1495]   public   void :  setWeightDecay ([float $weightDecay = 0.05])
[1479]   public   void :  setWeightDecayMode ([boolean $weightDecayMode = TRUE])
[397]   public   boolean :  train ()
[1304]   public   ANN_Network :  trainByHost (string $username, string $password, string $host)
[683]   protected   void :  training (array $outputs)
[1081]   public   void :  __wakeup ()
Methods
protected static string getDefaultFilename () [708]
  • return: Filename
  • access: protected
public static void loadFromFile ([string $filename = null]) [1096]
  • string $filename: (Default: null)

Redefinition of:
ANN_Filesystem::loadFromFile()
public static ANN_Network loadFromHost (string $username, string $password, string $host) [1369]
  • throws: ANN_Exception
  • access: public
  • string $username
  • string $password
  • string $host
protected  void activate () [352]
protected  void adjustLearningRate () [1430]

Adjusting learning rate dynamically

If network error of current epoch is higher than the network error of the previous epoch the learning rate is adjusted by minus 1 per cent of current learning rate. Otherwise the learning rate is adjusted by plus 1 per cent of current learning rate. So, learning rate increases faster than decreasing does. But if learning rate reaches 0.9 it switches back to 0.5 to avoid endless training. The lowest learning rate is 0.5 also to avoid endless training.

public  ANN_Network __construct ([integer $numberOfHiddenLayers = 2], [integer $numberOfNeuronsPerLayer = 4], [integer $numberOfOutputs = 1]) [159]
  • integer $numberOfHiddenLayers: (Default: 1)
  • integer $numberOfNeuronsPerLayer: (Default: 10)
  • integer $numberOfOutputs: (Default: 1)
protected  void calculateMaxTrainingLoops () [1054]
protected  void createHiddenLayers (integer $numberOfHiddenLayers, integer $numberOfNeuronsPerLayer) [312]
  • integer $numberOfHiddenLayers
  • integer $numberOfNeuronsPerLayer
protected  void createOutputLayer (integer $numberOfOutputs) [339]
  • integer $numberOfOutputs
protected  void detectOutputType () [1401]
protected  integer getCountInputs () [664]
protected  integer getNextIndexInputsToTrain ([boolean $reset = FALSE]) [466]
  • boolean $reset: (Default: FALSE)
public  integer getNumberHiddenLayers () [1141]
public  integer getNumberHiddens () [1155]
public  integer getNumberInputs () [1126]
public  integer getNumberOutputs () [1170]
public  array getOutputsByInputKey (integer $keyInput) [288]
  • integer $keyInput
public  integer getTotalLoops () [497]
  • access: public
protected  boolean isEpoch () [508]
protected  boolean isTrainingComplete () [573]
protected  boolean isTrainingCompleteByEpoch () [611]
protected  boolean isTrainingCompleteByInputKey (integer $keyInput) [628]
  • integer $keyInput
protected  void logNetworkErrors () [1262]
public  void logNetworkErrorsToFile (string $filename) [1207]

Log network errors while training in CSV format

  • string $filename
protected  void logWeights () [1225]
public  void logWeightsToFile (string $filename) [1188]

Log weights while training in CSV format

  • string $filename
protected  void printNetworkDetails1 () [834]
protected  void printNetworkDetails2 () [995]
public  void saveToFile ([string $filename = null]) [1112]
  • string $filename: (Default: null)

Redefinition of:
ANN_Filesystem::saveToFile()
public  void saveToHost (string $username, string $password, string $host) [1339]
  • throws: ANN_Exception
  • access: public
  • string $username
  • string $password
  • string $host
public  void setBackpropagationAlgorithm ([integer $algorithm = self::ALGORITHM_BACKPROPAGATION]) [1517]

Selecting propagation algorithm

EXPERIMENTAL

  • throws: ANN_Exception
  • access: public
  • uses: ANN_Exception::__construct()
  • integer $algorithm: (Default: self::ALGORITHM_BACKPROPAGATION)
public  void setDynamicLearningRate ([boolean $dynamicLearningRate = TRUE]) [1463]
  • throws: ANN_Exception
  • access: public
  • uses: ANN_Exception::__construct()
  • boolean $dynamicLearningRate: (Default: TRUE)
public  void setInputs (array $inputs) [189]
  • array $inputs
protected  void setInputsToTrain (array $inputs) [233]
  • array $inputs
public  void setLearningRate ([float $learningRate = 0.5]) [534]

Setting the learning rate disables dynamic learning rate automatically.

  • throws: ANN_Exception
  • access: public
  • uses: ANN_Exception::__construct()
  • float $learningRate: (Default: 0.5) (0.1 .. 0.9)
public  void setMaxTrainingLoopsFactor ([integer $maxTrainingLoopsFactor = 230]) [1067]
  • access: public
  • integer $maxTrainingLoopsFactor: (Default: 230)
public  void setMomentum ([float $momentum = 0.95]) [555]
  • throws: ANN_Exception
  • access: public
  • uses: ANN_Exception::__construct()
  • float $momentum: (Default: 0.95) (0 .. 1)
public  void setOutputErrorTolerance ([float $outputErrorTolerance = 0.02]) [1569]

Setting the percentage of output error in comparison to the desired output

  • access: public
  • float $outputErrorTolerance: (Default: 0.02)
public  void setOutputs (array $outputs) [213]
  • array $outputs
protected  void setOutputType ([string $type = 'linear']) [721]
  • string $type: (Default: 'linear') (linear or binary)
public  void setQuickPropMaxWeightChangeFactor ([float $quickPropMaxWeightChangeFactor = 2.25]) [1551]

Parameter setting for QuickProp algorithm

EXPERIMENTAL

  • throws: ANN_Exception
  • access: public
  • uses: ANN_Exception::__construct()
  • float $quickPropMaxWeightChangeFactor: (Default: 2.25)
public  void setWeightDecay ([float $weightDecay = 0.05]) [1495]
  • throws: ANN_Exception
  • access: public
  • uses: ANN_Exception::__construct()
  • float $weightDecay: (Default: 0.05)
public  void setWeightDecayMode ([boolean $weightDecayMode = TRUE]) [1479]
  • throws: ANN_Exception
  • access: public
  • uses: ANN_Exception::__construct()
  • boolean $weightDecayMode: (Default: TRUE)
public  ANN_Network trainByHost (string $username, string $password, string $host) [1304]
  • throws: ANN_Exception
  • access: public
  • string $username
  • string $password
  • string $host
protected  void training (array $outputs) [683]
  • array $outputs
public  void __wakeup () [1081]

Inherited Methods

Inherited From ANN_Filesystem

ANN_Filesystem::loadFromFile()
ANN_Filesystem::saveToFile()
Class Constants
ALGORITHM_BACKPROPAGATION = 1 (line 101)

Back propagation (default)

ALGORITHM_ILR = 8 (line 144)

Individual learning rate (EXPERIMENTAL)

ALGORITHM_IRPROPMINUS = 6 (line 131)

iRProp- (EXPERIMENTAL)

ALGORITHM_IRPROPPLUS = 7 (line 137)

iRProp+ (EXPERIMENTAL)

ALGORITHM_QUICKPROP = 2 (line 107)

Quick propagation (EXPERIMENTAL)

ALGORITHM_RPROP = 3 (line 113)

RProp (EXPERIMENTAL)

ALGORITHM_RPROPMINUS = 4 (line 119)

RProp- (EXPERIMENTAL)

ALGORITHM_RPROPPLUS = 5 (line 125)

RProp+ (EXPERIMENTAL)

Documentation generated on Tue, 16 Dec 2008 18:36:07 +0100 by phpDocumentor 1.4.1