Back to Adaptive Vision Library website

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

MLP_Train


Creates and trains multilayer perceptron classifier.

Header:AVL.h

Syntax

C++
C#
 
void avl::MLP_Train
(
	const avl::MlpModel& inMlpModel,
	const atl::Array<atl::Array<float>>& inInputVectorArray,
	const atl::Array<atl::Array<float>>& inResponseVectorArray,
	atl::Optional<const atl::Array<atl::Array<float>>&> inTestInputVectorArray,
	atl::Optional<const atl::Array<atl::Array<float>>&> inTestResponseVectorArray,
	int inIterationCount,
	float inLearningRate,
	float inMomentum,
	atl::Optional<int> inRandomSeed,
	avl::MlpModel& outMlpModel,
	avl::Profile& diagErrorChartLearning,
	avl::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

Error type Description
DomainError Incorrect or uninitialized MlpModel in MLP_Train.
DomainError Using uninitialized MlpModel in MLP_Train
DomainError Empty inInputVectorArray in MLP_Train
DomainError Empty inResponseVectorArray in MLP_Train
DomainError Empty feature array on input 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 Different sizes of answer vectors in inResponseVectorArray in MLP_Train.
DomainError Wrong size of feature vector in inTestInputVectorArray in MLP_Train.
DomainError Wrong size of answer vector in inTestResponseVectorArray in MLP_Train.

See Also

  • MLP_Init – Creates multilayer perceptron model.
  • MLP_Respond – Calculates multilayer perceptron answer.