You are here: Start » Function Reference » Data Classification » Multilayer Perceptron » MLP_Train

MLP_Train
Header: | FIL.h |
---|---|
Namespace: | fil |
Module: | FoundationPro |
Creates and trains multilayer perceptron classifier.
Syntax
void fil::MLP_Train ( const fil::MlpModel& inMlpModel, const ftl::Array<ftl::Array<float>>& inInputVectorArray, const ftl::Array<ftl::Array<float>>& inResponseVectorArray, ftl::Optional<const ftl::Array<ftl::Array<float>>&> inTestInputVectorArray, ftl::Optional<const ftl::Array<ftl::Array<float>>&> inTestResponseVectorArray, int inIterationCount, float inLearningRate, float inMomentum, ftl::Optional<int> inRandomSeed, fil::MlpModel& outMlpModel, fil::Profile& diagErrorChartLearning, fil::Profile& diagErrorChartTesting )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
![]() |
inMlpModel | const MlpModel& | Initialized MLP model | ||
![]() |
inInputVectorArray | const Array<Array<float>>& | Array of features used to train model | ||
![]() |
inResponseVectorArray | const Array<Array<float>>& | Array of answers which classifier should get. | ||
![]() |
inTestInputVectorArray | Optional<const Array<Array<float>>&> | NIL | Array of features used to test classifier during training process | |
![]() |
inTestResponseVectorArray | Optional<const Array<Array<float>>&> | NIL | Array of answers used to test classifier during training process | |
![]() |
inIterationCount | int | 1 - ![]() |
100 | Learning iteration count |
![]() |
inLearningRate | float | 0.01 - 1.0 | 1.0f | Learning factor |
![]() |
inMomentum | float | 0.0 - 1.0 | 0.01f | Learning momentum ratio |
![]() |
inRandomSeed | Optional<int> | 0 - ![]() |
NIL | Number used as starting random seed |
![]() |
outMlpModel | MlpModel& | Trained MlpModel | ||
![]() |
diagErrorChartLearning | Profile& | Mean error of testing results data during learning process | ||
![]() |
diagErrorChartTesting | Profile& | Mean error during learning process |
Description
The filter trains multilayer perceptron classifier. The inInputVectorArray contains an array of data used to train classifier.
The size of input vector should be constant for each provided input array. Each input vector size must be the same as input count provided in MLP_Init filter during classifier initialization.
The inResponseVectorArray contains answer for each data vector provided in inInputVectorArray. Size of all response vectors should be the same and equal to output count set in MLP_Init.
The inLearningRate determines step size during following function gradient. Too big step size may cause miss of optimization function minimum. Small values may cause learning process too long.
The parameter inMomentum defines how learning step results should depend on previous step results.
The inIterationCount specifies the number of iterations of the learning process.
Errors
List of possible exceptions:
Error type | Description |
---|---|
DomainError | Different sizes of answer vectors in inResponseVectorArray in MLP_Train. |
DomainError | Different sizes of feature vector array and answer vector array on input in MLP_Train. |
DomainError | Different sizes of feature vectors in inInputVectorArray in MLP_Train. |
DomainError | Empty feature array on input in MLP_Train. |
DomainError | Empty inInputVectorArray in MLP_Train |
DomainError | Empty inResponseVectorArray in MLP_Train |
DomainError | Incorrect or uninitialized MlpModel in MLP_Train. |
DomainError | Using uninitialized MlpModel in MLP_Train |
DomainError | Wrong size of answer vector in inTestResponseVectorArray in MLP_Train. |
DomainError | Wrong size of feature vector in inTestInputVectorArray in MLP_Train. |
See Also
- MLP_Respond – Calculates multilayer perceptron answer.
- MLP_Init – Creates multilayer perceptron model.