public void Train() { // Read all training data and transforming them. trainingData = new DataSetReader(Parameter.TrainingFile, Parameter.InputSize, Parameter.TargetSize); double[][] data, target; trainingData.ReadAll(out data, out target); for (int i = 0; i < trainingData.Count; ++i) { // transform input level 1 for (int j = 0; j < Parameter.InputSize; ++j) { data[i][j] = inputTransformers1[j].TransformToValue(data[i][j]); } // transform input level 2 data[i] = inputTransformers2.TransformToDimension(data[i]); // transform target target[i] = targetTransform.TransformToDimension(target[i]); } oldArtAWeights = new List <double[]>(); bool isWeightsChanged = true, completedLimited = false; // Order input and target pattern before. if (param.Mode == ProcessModifiedHybridFuzzyARTMapMode.EXTERNAL || param.Mode == ProcessModifiedHybridFuzzyARTMapMode.DUAL) { mcoa.OrderSequence(data, target); } do { SaveOldWeights(); // Training ordered fuzzy art map if (param.Mode == ProcessModifiedHybridFuzzyARTMapMode.EXTERNAL) { fartmap.Run(data, target); } else { mfartmap.Run(data, target); } double mseValue = CalculateMse(); if (mseValue < Parameter.LimitedMseValue) { isWeightsChanged = false; } performanceCounter.Increment(); if (param.LimitedEpochs != 0 && param.LimitedEpochs <= performanceCounter.Count) { completedLimited = true; } }while (!completedLimited && isWeightsChanged); }
public void Train() { // Read all training data and transforming them. trainingData = new DataSetReader(Parameter.TrainingFile, Parameter.InputSize, Parameter.TargetSize); double[][] data, target; trainingData.ReadAll(out data, out target); for (int i = 0; i < trainingData.Count; ++i) { // transform input level 1 for (int j = 0; j < Parameter.InputSize; ++j) { data[i][j] = inputTransformers1[j].TransformToValue(data[i][j]); } // transform input level 2 data[i] = inputTransformers2.TransformToDimension(data[i]); // transform target target[i] = targetTransform.TransformToDimension(target[i]); } oldArtAWeights = new List <double[]>(); bool isWeightsChanged = true, completedLimited = false; do { SaveOldWeights(); // Training ordered fuzzy art map network.Run(data, target); double mseValue = CalculateMse(); if (mseValue < Parameter.LimitedMseValue) { isWeightsChanged = false; } performanceCounter.Increment(); if (parameter.LimitedEpochs != 0 && parameter.LimitedEpochs <= performanceCounter.Count) { completedLimited = true; } }while (!completedLimited && isWeightsChanged); }
public void Train() { // Read all training data and transforming them. trainingData = new DataSetReader(Parameter.TrainingFile, Parameter.InputSize, Parameter.TargetSize); double[][] data, target; trainingData.ReadAll(out data, out target); for (int i = 0; i < trainingData.Count; ++i) { // transform input level 1 for (int j = 0; j < Parameter.InputSize; ++j) { data[i][j] = inputTransformers1[j].TransformToValue(data[i][j]); } // transform input level 2 data[i] = inputTransformers2.TransformToDimension(data[i]); // transform target target[i] = targetTransform.TransformToDimension(target[i]); } oldArtAWeights = new List<double[]>(); bool isWeightsChanged = true, completedLimited = false; // Order input and target pattern before. if (param.Mode == ProcessModifiedHybridFuzzyARTMapMode.EXTERNAL || param.Mode == ProcessModifiedHybridFuzzyARTMapMode.DUAL) { mcoa.OrderSequence(data, target); } do { SaveOldWeights(); // Training ordered fuzzy art map if (param.Mode == ProcessModifiedHybridFuzzyARTMapMode.EXTERNAL) { fartmap.Run(data, target); } else { mfartmap.Run(data, target); } double mseValue = CalculateMse(); if (mseValue < Parameter.LimitedMseValue) { isWeightsChanged = false; } performanceCounter.Increment(); if (param.LimitedEpochs != 0 && param.LimitedEpochs <= performanceCounter.Count) { completedLimited = true; } } while (!completedLimited && isWeightsChanged); }
public void Train() { // Read all training data and transforming them. trainingData = new DataSetReader(Parameter.TrainingFile, Parameter.InputSize, Parameter.TargetSize); double[][] data, target; trainingData.ReadAll(out data, out target); for (int i = 0; i < trainingData.Count; ++i) { // transform input level 1 for (int j = 0; j < Parameter.InputSize; ++j) { data[i][j] = inputTransformers1[j].TransformToValue(data[i][j]); } // transform input level 2 data[i] = inputTransformers2.TransformToDimension(data[i]); // transform target target[i] = targetTransform.TransformToDimension(target[i]); } oldArtAWeights = new List<double[]>(); bool isWeightsChanged = true, completedLimited = false; do { SaveOldWeights(); // Training ordered fuzzy art map network.Run(data, target); double mseValue = CalculateMse(); if (mseValue < Parameter.LimitedMseValue) isWeightsChanged = false; performanceCounter.Increment(); if (parameter.LimitedEpochs != 0 && parameter.LimitedEpochs <= performanceCounter.Count) { completedLimited = true; } } while (!completedLimited && isWeightsChanged); }