public void preparePointList(TrainingResultP trainingResult, TrainingSetings.ActiviationFunction activationFunction) { float x1 = 0.01f; float x2 = 0.01f; for (int x = 0; x <= 100; x++) { x2 = 0.01f; for (int y = 0; y <= 100; y++) { PointInfo point = preparePoint(trainingResult, x1, x2, activationFunction); if (point.color == 0.00f) { list0.Add(point); } else { list1.Add(point); } x2 += 0.01f; } x1 += 0.01f; } }
public void preparePointListForXor(XorTrResult xorTrResult, TrainingSetings.ActiviationFunction activationFunction) { float x1 = 0.01f; float x2 = 0.01f; for (int x = 0; x <= 100; x++) { x2 = 0.01f; for (int y = 0; y <= 100; y++) { PointInfo point = preparePointForXor(xorTrResult, x1, x2, activationFunction); point.color = activatonFunctions.correctionForSigmoid(point.color); if (point.color == 0.00f) { list0.Add(point); } else { list1.Add(point); } x2 += 0.01f; } x1 += 0.01f; } }
public PointInfo preparePoint(TrainingResultP trainingResult, float x, float y, TrainingSetings.ActiviationFunction activiationFunction) { float e = x * trainingResult.w1 + y * trainingResult.w1 + trainingResult.biasI; float result = 0.00f; if (activiationFunction == TrainingSetings.ActiviationFunction.JUMP) { result = activatonFunctions.jumpActivationFuntion(e); } else { result = activatonFunctions.sigmoidActivationFunction(e); result = activatonFunctions.correctionForSigmoid(result); } return(new PointInfo(x, y, result)); }
public PointInfo preparePointForXor(XorTrResult xorTrResult, float x, float y, TrainingSetings.ActiviationFunction activiationFunction) { xorTrResult.hNeuron1.inputs = new float[] { x, y }; xorTrResult.hNeuron2.inputs = new float[] { x, y }; xorTrResult.oNeuron.inputs = new float[] { xorTrResult.hNeuron1.output(), xorTrResult.hNeuron2.output() }; return(new PointInfo(x, y, xorTrResult.oNeuron.output())); }