public TrainingResultP train(TrainingSetings settings, GateTrainingValuesContainer valuesContainer) { this.trainingSetings = settings; this.valuesContainer = valuesContainer; activationFunctions.maxError = trainingSetings.maxError; firstLineBuilder = new StringBuilder(); firstLineBuilder.Append("Trenowanie: "); firstLineBuilder.Append(" bramka: " + trainingSetings.gateType.ToString() + ", "); switch (settings.activiationFunction) { case TrainingSetings.ActiviationFunction.JUMP: firstLineBuilder.Append(" funkcja skokowa, "); trainByJumpFunction(); break; case TrainingSetings.ActiviationFunction.SIGMOID: firstLineBuilder.Append(" funkcja sigmoidowa, "); trainBySigmoidFunction(); break; default: throw new ArgumentException("Brak wybranej fukcji"); } return(tResult); }
public XorTrResult trainXOR(TrainingSetings settings, GateTrainingValuesContainer valuesContainer) { this.trainingSetings = settings; this.valuesContainer = valuesContainer; activationFunctions.maxError = trainingSetings.maxError; firstLineBuilder = new StringBuilder(); firstLineBuilder.Append("Trenowanie: "); firstLineBuilder.Append(" bramka: " + trainingSetings.gateType.ToString() + ", "); XorTrResult xorTrResult = trainByTwoNeuronsBySigmoid(); return(xorTrResult); }
public void showChartForXor(XorTrResult xorTrResult, TrainingSetings trainSettings) { list0 = new List <PointInfo>(); list1 = new List <PointInfo>(); activatonFunctions.maxError = trainSettings.maxError; preparePointListForXor(xorTrResult, trainSettings.activiationFunction); float[,] table0 = changeListToArray(list0); float[,] table1 = changeListToArray(list1); ChartForm chartForm = new ChartForm(table0, table1); chartForm.Show(); }