mirror of
https://github.com/Llewellynvdm/php-ml.git
synced 2024-06-17 07:42:21 +00:00
4af8449b1c
* MultilayerPerceptron interface changes - Signature closer to other algorithms - New predict method - Remove desired error - Move maxIterations to constructor * MLP tests for multiple hidden layers and multi-class * Update all MLP-related tests * coding style fixes * Backpropagation included in multilayer-perceptron
51 lines
1.3 KiB
Markdown
51 lines
1.3 KiB
Markdown
# MLPClassifier
|
|
|
|
A multilayer perceptron (MLP) is a feedforward artificial neural network model that maps sets of input data onto a set of appropriate outputs.
|
|
|
|
## Constructor Parameters
|
|
|
|
* $inputLayerFeatures (int) - the number of input layer features
|
|
* $hiddenLayers (array) - array with the hidden layers configuration, each value represent number of neurons in each layers
|
|
* $classes (array) - array with the different training set classes (array keys are ignored)
|
|
* $iterations (int) - number of training iterations
|
|
* $theta (int) - network theta parameter
|
|
* $activationFunction (ActivationFunction) - neuron activation function
|
|
|
|
```
|
|
use Phpml\Classification\MLPClassifier;
|
|
$mlp = new MLPClassifier(4, [2], ['a', 'b', 'c']);
|
|
|
|
// 4 nodes in input layer, 2 nodes in first hidden layer and 3 possible labels.
|
|
|
|
```
|
|
|
|
## Train
|
|
|
|
To train a MLP simply provide train samples and labels (as array). Example:
|
|
|
|
|
|
```
|
|
$mlp->train(
|
|
$samples = [[1, 0, 0, 0], [0, 1, 1, 0], [1, 1, 1, 1], [0, 0, 0, 0]],
|
|
$targets = ['a', 'a', 'b', 'c']
|
|
);
|
|
|
|
```
|
|
|
|
## Predict
|
|
|
|
To predict sample label use predict method. You can provide one sample or array of samples:
|
|
|
|
```
|
|
$mlp->predict([[1, 1, 1, 1], [0, 0, 0, 0]]);
|
|
// return ['b', 'c'];
|
|
|
|
```
|
|
|
|
## Activation Functions
|
|
|
|
* BinaryStep
|
|
* Gaussian
|
|
* HyperbolicTangent
|
|
* Sigmoid (default)
|