Source

Adaline#

Adaptive Linear Neuron is a single layer neural network with a linear output neuron. Training is equivalent to solving Ridge regression iteratively using mini batch Gradient Descent.

Interfaces: Estimator, Learner, Online, Verbose, Persistable

Data Type Compatibility: Continuous

Parameters#

# Param Default Type Description
1 batch size 100 int The number of training samples to process at a time.
2 optimizer Adam object The gradient descent optimizer used to train the underlying network.
3 alpha 1e-4 float The amount of L2 regularization to apply to the weights of the network.
4 epochs 100 int The maximum number of training epochs to execute.
5 min change 1e-4 float The minimum change in the cost function necessary to continue training.
6 cost fn Least Squares object The function that computes the cost of an erroneous activation during training.
7 window 5 int The number of epochs without improvement in the training loss to wait before considering an early stop.

Additional Methods#

Return the average loss of a sample at each epoch of training:

public steps() : array

Return the underlying neural network instance or null if untrained:

public network() : Network|null

Example#

use Rubix\ML\Classifers\Adaline;
use Rubix\ML\NeuralNet\Optimizers\Adam;
use Rubix\ML\NeuralNet\CostFunctions\HuberLoss;

$estimator = new Adaline(10, new Adam(0.001), 500, 1e-6, new HuberLoss(2.5), 5);