/** * Construct an ADALINE trainer. * * @param BasicNetwork network * The network to train. * @param MLDataSet training * The training data. * @param double learningRate * The learning rate. */ public function __construct(BasicNetwork $network, MLDataSet $training, $learningRate) { parent::__construct(TrainingImplementationType::Iterative); if ($network->getLayerCount() > 2) { throw new NeuralNetworkError("An ADALINE network only has two layers."); } $this->network = $network; $this->training = $training; $this->learningRate = $learningRate; }