I use Cv_ANN_MLP function,this my set params:
Mat layers(1, 3, CV_32SC1);
layers.at<int>(0) = TrainData.cols;
layers.at<int>(1) = nlayers;
layers.at<int>(2) = numCharacters;
ann.create(layers, CvANN_MLP::SIGMOID_SYM, 0.2, 0.9)
CvANN_MLP_TrainParams params;
CvTermCriteria criteria;
criteria.max_iter = 50000;
criteria.epsilon = 0.0000001f;
criteria.type = CV_TERMCRIT_EPS;
params.train_method = CvANN_MLP_TrainParams::BACKPROP;
params.bp_dw_scale = 0.05f;
params.bp_moment_scale = 0.05f;
params.term_crit = criteria;
ann.train(TrainData, trainClasses, Mat(), Mat(), params);
I don't know the difference of flag between UPDATE_WEIGHTS、NO_INPUT_SCALE、NO_OUTPUT_SCALE in "CvANN_MLP::train(const Mat& inputs, const Mat& outputs, const Mat& sampleWeights, const Mat& sampleIdx=Mat(), CvANN_MLP_TrainParams params=CvANN_MLP_TrainParams(), int flags=0 );".
and the BACKPROP train_method with above of flag have any effect.
can anyone explain for me,thanks.