You are here: Start » AVL.NET » AVL.MLP_Train Method

AVL.MLP_Train Method

Creates and trains multilayer perceptron classifier.

Namespace:AvlNet
Assembly:AVL.NET.dll

Syntax

public static void MLP_Train(
	AvlNet.MlpModel inMlpModel,
	float[][] inInputVectorArray,
	float[][] inResponseVectorArray,
	float[][] inTestInputVectorArray,
	float[][] inTestResponseVectorArray,
	int inIterationCount,
	float inLearningRate,
	float inMomentum,
	int? inRandomSeed,
	out AvlNet.MlpModel outMlpModel,
	out AvlNet.Profile diagErrorChartLearning,
	out AvlNet.Profile diagErrorChartTesting
)

Parameters

Name Type Range Default Description
inMlpModelAvlNet.MlpModelInitialized MLP model.
inInputVectorArrayfloatArray of features used to train model.
inResponseVectorArrayfloatArray of answers which classifier should get.
inTestInputVectorArrayfloatArray of features used to test classifier during training process. Default value: atl::NIL, or null.
inTestResponseVectorArrayfloatArray of answers used to test classifier during training process. Default value: atl::NIL, or null.
inIterationCountint<1, INF>100Learning iteration count. Default value: 100.
inLearningRatefloat<0.01f, 1.0f>1.0fLearning factor. Default value: 1.0f.
inMomentumfloat<0.0f, 1.0f>0.01fLearning momentum ratio. Default value: 0.01f.
inRandomSeedint?<0, INF>Number used as starting random seed. Default value: atl::NIL, or null.
outMlpModelAvlNet.MlpModelTrained MlpModel.
diagErrorChartLearningAvlNet.ProfileMean error of testing results data during learning process.
diagErrorChartTestingAvlNet.ProfileMean 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