예제 #1
0
파일: Network.php 프로젝트: 0-php/AI
 /**
  * @param array $arrOutputs
  * @uses activate()
  * @uses Layer::calculateHiddenDeltas()
  * @uses Layer::adjustWeights()
  * @uses Layer::calculateOutputDeltas()
  * @uses getNetworkError()
  */
 protected function training($arrOutputs)
 {
     $this->activate();
     $this->objOutputLayer->calculateOutputDeltas($arrOutputs);
     for ($i = $this->intNumberOfHiddenLayersDec; $i >= 0; $i--) {
         $this->arrHiddenLayers[$i]->calculateHiddenDeltas();
     }
     $this->objOutputLayer->adjustWeights();
     for ($i = $this->intNumberOfHiddenLayersDec; $i >= 0; $i--) {
         $this->arrHiddenLayers[$i]->adjustWeights();
     }
     $this->intTotalTrainings++;
     $this->boolNetworkActivated = FALSE;
 }