Exemplo n.º 1
0
 protected override void OnEndEpoch(int currentIteration, Ajusteentrenamiento trainingSet)
 {
     meanSquaredError /= trainingSet.TrainingSampleCount;
     isValidMSE        = true;
     base.OnEndEpoch(currentIteration, trainingSet);
 }
Exemplo n.º 2
0
        private void button2_Click(object sender, EventArgs e)
        {
            SigmoidLayer capaentrada = new SigmoidLayer(45);
            SigmoidLayer capaoculta  = new SigmoidLayer(9);
            SigmoidLayer capasalida  = new SigmoidLayer(10);

            new ConexionBackpropagation(capaentrada, capaoculta);
            new ConexionBackpropagation(capaoculta, capasalida);
            network = new RedBackpropagation(capaentrada, capasalida);
            network.SetLearningRate(0.05);

            Ajusteentrenamiento grupoent = new Ajusteentrenamiento(45, 10);

            grupoent.Add(new Entrenamiento(cero, new double[10] {
                1, 0, 0, 0, 0, 0, 0, 0, 0, 0
            }));
            grupoent.Add(new Entrenamiento(cero2, new double[10] {
                1, 0, 0, 0, 0, 0, 0, 0, 0, 0
            }));

            grupoent.Add(new Entrenamiento(uno, new double[10] {
                1, 1, 0, 0, 0, 0, 0, 0, 0, 0
            }));
            grupoent.Add(new Entrenamiento(uno2, new double[10] {
                1, 1, 0, 0, 0, 0, 0, 0, 0, 0
            }));
            grupoent.Add(new Entrenamiento(uno3, new double[10] {
                1, 1, 0, 0, 0, 0, 0, 0, 0, 0
            }));

            grupoent.Add(new Entrenamiento(dos, new double[10] {
                1, 1, 1, 0, 0, 0, 0, 0, 0, 0
            }));
            grupoent.Add(new Entrenamiento(dos2, new double[10] {
                1, 1, 1, 0, 0, 0, 0, 0, 0, 0
            }));

            grupoent.Add(new Entrenamiento(tres, new double[10] {
                1, 1, 1, 1, 0, 0, 0, 0, 0, 0
            }));
            grupoent.Add(new Entrenamiento(tres2, new double[10] {
                1, 1, 1, 1, 0, 0, 0, 0, 0, 0
            }));
            grupoent.Add(new Entrenamiento(tres3, new double[10] {
                1, 1, 1, 1, 0, 0, 0, 0, 0, 0
            }));

            grupoent.Add(new Entrenamiento(cuatro, new double[10] {
                1, 1, 1, 1, 1, 0, 0, 0, 0, 0
            }));
            grupoent.Add(new Entrenamiento(cuatro2, new double[10] {
                1, 1, 1, 1, 1, 0, 0, 0, 0, 0
            }));
            grupoent.Add(new Entrenamiento(cuatro3, new double[10] {
                1, 1, 1, 1, 1, 0, 0, 0, 0, 0
            }));
            grupoent.Add(new Entrenamiento(cuatro4, new double[10] {
                1, 1, 1, 1, 1, 0, 0, 0, 0, 0
            }));
            grupoent.Add(new Entrenamiento(cuatro5, new double[10] {
                1, 1, 1, 1, 1, 0, 0, 0, 0, 0
            }));
            grupoent.Add(new Entrenamiento(cuatro6, new double[10] {
                1, 1, 1, 1, 1, 0, 0, 0, 0, 0
            }));

            grupoent.Add(new Entrenamiento(cinco, new double[10] {
                1, 1, 1, 1, 1, 1, 0, 0, 0, 0
            }));
            grupoent.Add(new Entrenamiento(cinco2, new double[10] {
                1, 1, 1, 1, 1, 1, 0, 0, 0, 0
            }));
            grupoent.Add(new Entrenamiento(cinco3, new double[10] {
                1, 1, 1, 1, 1, 1, 0, 0, 0, 0
            }));

            grupoent.Add(new Entrenamiento(seis, new double[10] {
                1, 1, 1, 1, 1, 1, 1, 0, 0, 0
            }));
            grupoent.Add(new Entrenamiento(seis2, new double[10] {
                1, 1, 1, 1, 1, 1, 1, 0, 0, 0
            }));
            grupoent.Add(new Entrenamiento(seis3, new double[10] {
                1, 1, 1, 1, 1, 1, 1, 0, 0, 0
            }));

            grupoent.Add(new Entrenamiento(siete, new double[10] {
                1, 1, 1, 1, 1, 1, 1, 1, 0, 0
            }));
            grupoent.Add(new Entrenamiento(siete2, new double[10] {
                1, 1, 1, 1, 1, 1, 1, 1, 0, 0
            }));
            grupoent.Add(new Entrenamiento(siete3, new double[10] {
                1, 1, 1, 1, 1, 1, 1, 1, 0, 0
            }));

            grupoent.Add(new Entrenamiento(ocho, new double[10] {
                1, 1, 1, 1, 1, 1, 1, 1, 1, 0
            }));
            grupoent.Add(new Entrenamiento(ocho2, new double[10] {
                1, 1, 1, 1, 1, 1, 1, 1, 1, 0
            }));
            grupoent.Add(new Entrenamiento(ocho3, new double[10] {
                1, 1, 1, 1, 1, 1, 1, 1, 1, 0
            }));

            grupoent.Add(new Entrenamiento(nueve, new double[10] {
                1, 1, 1, 1, 1, 1, 1, 1, 1, 1
            }));
            grupoent.Add(new Entrenamiento(nueve2, new double[10] {
                1, 1, 1, 1, 1, 1, 1, 1, 1, 1
            }));
            grupoent.Add(new Entrenamiento(nueve3, new double[10] {
                1, 1, 1, 1, 1, 1, 1, 1, 1, 1
            }));
            network.Learn(grupoent, 5000);
            network.StopLearning();
            label3.Text = "Listo el entrenamiento";
        }
Exemplo n.º 3
0
 protected override void OnBeginEpoch(int currentIteration, Ajusteentrenamiento trainingSet)
 {
     meanSquaredError = 0d;
     isValidMSE       = false;
     base.OnBeginEpoch(currentIteration, trainingSet);
 }