Class ANN_Network

Description
  • access: public

Located in /ANN_Network.php (line 51)

ANN_Filesystem
   |
   --ANN_Network
Class Constant Summary
Method Summary
[747]   protected   static   string :  getDefaultFilename ()
[1167]   public   static   void :  loadFromFile ([string $strFilename = null])
[1440]   public   static   ANN_Network :  loadFromHost (string $strUsername, string $strPassword, string $strHost)
[386]   protected   void :  activate ()
[1501]   protected   void :  adjustLearningRate ()
[158]   public   ANN_Network :  __construct ([integer $intNumberOfArrayHiddenLayers = 2], [integer $intNumberOfNeuronsPerLayer = 4], [integer $intNumberOfArrayOutputs = 1])
[1125]   protected   void :  calculateMaxTrainingLoops ()
[346]   protected   void :  createHiddenLayers (integer $intNumberOfArrayHiddenLayers, integer $intNumberOfNeuronsPerLayer)
[373]   protected   void :  createOutputLayer (integer $intNumberOfArrayOutputs)
[1472]   protected   void :  detectOutputType ()
[703]   protected   integer :  getCountInputs ()
[1352]   protected   float :  getNetworkError ()
[500]   protected   integer :  getNextIndexInputsToTrain ([boolean $boolReset = FALSE])
[1212]   public   integer :  getNumberHiddenLayers ()
[1226]   public   integer :  getNumberHiddens ()
[1197]   public   integer :  getNumberInputs ()
[1241]   public   integer :  getNumberOutputs ()
[284]   public   array :  getOutputs ()
[322]   public   array :  getOutputsByInputKey (integer $intKeyInput)
[533]   public   integer :  getTotalLoops ()
[544]   protected   boolean :  isEpoch ()
[609]   protected   boolean :  isTrainingComplete ()
[647]   protected   boolean :  isTrainingCompleteByEpoch ()
[664]   protected   boolean :  isTrainingCompleteByInputKey (integer $intKeyInput)
[1333]   protected   void :  logNetworkErrors ()
[1278]   public   void :  logNetworkErrorsToFile (string $strFilename)
[1296]   protected   void :  logWeights ()
[1259]   public   void :  logWeightsToFile (string $strFilename)
[791]   public   void :  printNetwork ([integer $intLevel = 2])
[873]   protected   void :  printNetworkDetails1 ()
[1034]   protected   void :  printNetworkDetails2 ()
[1183]   public   void :  saveToFile ([string $strFilename = null])
[1410]   public   void :  saveToHost (string $strUsername, string $strPassword, string $strHost)
[1588]   public   void :  setBackpropagationAlgorithm ([integer $intAlgorithm = self::ALGORITHM_BACKPROPAGATION])
[1534]   public   void :  setDynamicLearningRate ([boolean $boolDynamicLearningRate = TRUE])
[188]   protected   void :  setInputs (array $arrInputs)
[267]   protected   void :  setInputsToTrain (array $arrInputs)
[570]   public   void :  setLearningRate ([float $floatLearningRate = 0.5])
[1138]   public   void :  setMaxTrainingLoopsFactor ([integer $intMaxTrainingLoopsFactor = 230])
[591]   public   void :  setMomentum ([float $floatMomentum = 0.95])
[1640]   public   void :  setOutputErrorTolerance ([float $floatOutputErrorTolerance = 0.02])
[212]   protected   void :  setOutputs (array $arrOutputs)
[760]   protected   void :  setOutputType ([string $strType = 'linear'])
[1622]   public   void :  setQuickPropMaxWeightChangeFactor ([float $floatQuickPropMaxWeightChangeFactor = 2.25])
[253]   public   void :  setValues (ANN_Values $objValues)
[1566]   public   void :  setWeightDecay ([float $floatWeightDecay = 0.05])
[1550]   public   void :  setWeightDecayMode ([boolean $boolWeightDecayMode = TRUE])
[431]   public   boolean :  train ()
[1375]   public   ANN_Network :  trainByHost (string $strUsername, string $strPassword, string $strHost)
[722]   protected   void :  training (array $arrOutputs)
[1152]   public   void :  __wakeup ()
Methods
protected static string getDefaultFilename () [747]
  • return: Filename
  • access: protected
public static void loadFromFile ([string $strFilename = null]) [1167]
  • string $strFilename: (Default: null)

Redefinition of:
ANN_Filesystem::loadFromFile()
public static ANN_Network loadFromHost (string $strUsername, string $strPassword, string $strHost) [1440]
  • throws: ANN_Exception
  • access: public
  • string $strUsername
  • string $strPassword
  • string $strHost
protected  void activate () [386]
protected  void adjustLearningRate () [1501]

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 $intNumberOfArrayHiddenLayers = 2], [integer $intNumberOfNeuronsPerLayer = 4], [integer $intNumberOfArrayOutputs = 1]) [158]
  • integer $intNumberOfArrayHiddenLayers: (Default: 1)
  • integer $intNumberOfNeuronsPerLayer: (Default: 10)
  • integer $intNumberOfArrayOutputs: (Default: 1)
protected  void calculateMaxTrainingLoops () [1125]
protected  void createHiddenLayers (integer $intNumberOfArrayHiddenLayers, integer $intNumberOfNeuronsPerLayer) [346]
  • integer $intNumberOfArrayHiddenLayers
  • integer $intNumberOfNeuronsPerLayer
protected  void createOutputLayer (integer $intNumberOfArrayOutputs) [373]
  • integer $intNumberOfArrayOutputs
protected  void detectOutputType () [1472]
protected  integer getCountInputs () [703]
protected  integer getNextIndexInputsToTrain ([boolean $boolReset = FALSE]) [500]
  • boolean $boolReset: (Default: FALSE)
public  integer getNumberHiddenLayers () [1212]
public  integer getNumberHiddens () [1226]
public  integer getNumberInputs () [1197]
public  integer getNumberOutputs () [1241]
public  array getOutputsByInputKey (integer $intKeyInput) [322]
  • integer $intKeyInput
public  integer getTotalLoops () [533]
  • access: public
protected  boolean isEpoch () [544]
protected  boolean isTrainingComplete () [609]
protected  boolean isTrainingCompleteByEpoch () [647]
protected  boolean isTrainingCompleteByInputKey (integer $intKeyInput) [664]
  • integer $intKeyInput
protected  void logNetworkErrors () [1333]
public  void logNetworkErrorsToFile (string $strFilename) [1278]

Log network errors while training in CSV format

  • string $strFilename
protected  void logWeights () [1296]
public  void logWeightsToFile (string $strFilename) [1259]

Log weights while training in CSV format

  • string $strFilename
public  void printNetwork ([integer $intLevel = 2]) [791]
  • integer $intLevel: (0, 1, 2) (Default: 2)
protected  void printNetworkDetails1 () [873]
protected  void printNetworkDetails2 () [1034]
public  void saveToFile ([string $strFilename = null]) [1183]
  • string $strFilename: (Default: null)

Redefinition of:
ANN_Filesystem::saveToFile()
public  void saveToHost (string $strUsername, string $strPassword, string $strHost) [1410]
  • throws: ANN_Exception
  • access: public
  • string $strUsername
  • string $strPassword
  • string $strHost
public  void setBackpropagationAlgorithm ([integer $intAlgorithm = self::ALGORITHM_BACKPROPAGATION]) [1588]

Selecting propagation algorithm

EXPERIMENTAL

  • throws: ANN_Exception
  • access: public
  • uses: ANN_Exception::__construct()
  • integer $intAlgorithm: (Default: self::ALGORITHM_BACKPROPAGATION)
public  void setDynamicLearningRate ([boolean $boolDynamicLearningRate = TRUE]) [1534]
  • throws: ANN_Exception
  • access: public
  • uses: ANN_Exception::__construct()
  • boolean $boolDynamicLearningRate: (Default: TRUE)
protected  void setInputs (array $arrInputs) [188]
  • array $arrInputs
protected  void setInputsToTrain (array $arrInputs) [267]
  • array $arrInputs
public  void setLearningRate ([float $floatLearningRate = 0.5]) [570]

Setting the learning rate disables dynamic learning rate automatically.

  • throws: ANN_Exception
  • access: public
  • uses: ANN_Exception::__construct()
  • float $floatLearningRate: (Default: 0.5) (0.1 .. 0.9)
public  void setMaxTrainingLoopsFactor ([integer $intMaxTrainingLoopsFactor = 230]) [1138]
  • access: public
  • integer $intMaxTrainingLoopsFactor: (Default: 230)
public  void setMomentum ([float $floatMomentum = 0.95]) [591]
  • throws: ANN_Exception
  • access: public
  • uses: ANN_Exception::__construct()
  • float $floatMomentum: (Default: 0.95) (0 .. 1)
public  void setOutputErrorTolerance ([float $floatOutputErrorTolerance = 0.02]) [1640]

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

  • access: public
  • float $floatOutputErrorTolerance: (Default: 0.02)
protected  void setOutputs (array $arrOutputs) [212]
  • array $arrOutputs
protected  void setOutputType ([string $strType = 'linear']) [760]
  • string $strType: (Default: 'linear') ('linear' or 'binary')
public  void setQuickPropMaxWeightChangeFactor ([float $floatQuickPropMaxWeightChangeFactor = 2.25]) [1622]

Parameter setting for QuickProp algorithm

EXPERIMENTAL

  • throws: ANN_Exception
  • access: public
  • uses: ANN_Exception::__construct()
  • float $floatQuickPropMaxWeightChangeFactor: (Default: 2.25)
public  void setValues (ANN_Values $objValues) [253]

Set Values for training or using network

Set Values of inputs and outputs for training or just inputs for using already trained network.

  1.  $objNetwork new ANN_Network(241);
  2.  
  3.  $objValues new ANN_Values;
  4.  
  5.  $objValues->train()
  6.            ->input(0.120.110.15)
  7.            ->output(0.56);
  8.  
  9.  $objNetwork->setValues($objValues);

public  void setWeightDecay ([float $floatWeightDecay = 0.05]) [1566]
  • throws: ANN_Exception
  • access: public
  • uses: ANN_Exception::__construct()
  • float $floatWeightDecay: (Default: 0.05)
public  void setWeightDecayMode ([boolean $boolWeightDecayMode = TRUE]) [1550]
  • throws: ANN_Exception
  • access: public
  • uses: ANN_Exception::__construct()
  • boolean $boolWeightDecayMode: (Default: TRUE)
public  ANN_Network trainByHost (string $strUsername, string $strPassword, string $strHost) [1375]
  • throws: ANN_Exception
  • access: public
  • string $strUsername
  • string $strPassword
  • string $strHost
protected  void training (array $arrOutputs) [722]
  • array $arrOutputs
public  void __wakeup () [1152]

Inherited Methods

Inherited From ANN_Filesystem

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

Back propagation (default)

ALGORITHM_ILR = 8 (line 143)

Individual learning rate (EXPERIMENTAL)

ALGORITHM_IRPROPMINUS = 6 (line 130)

iRProp- (EXPERIMENTAL)

ALGORITHM_IRPROPPLUS = 7 (line 136)

iRProp+ (EXPERIMENTAL)

ALGORITHM_QUICKPROP = 2 (line 106)

Quick propagation (EXPERIMENTAL)

ALGORITHM_RPROP = 3 (line 112)

RProp (EXPERIMENTAL)

ALGORITHM_RPROPMINUS = 4 (line 118)

RProp- (EXPERIMENTAL)

ALGORITHM_RPROPPLUS = 5 (line 124)

RProp+ (EXPERIMENTAL)

Documentation generated on Thu, 18 Dec 2008 18:37:34 +0100 by phpDocumentor 1.4.1