domingo, 26 de julio de 2015

RNA - Aprender un numero digital

RNA - Aprender un numero digital

Con la plantilla utilizada para construir una red neuronal de la entrada anterior, la modificaremos  para el siguiente modelo:
Ahora la capa "K" tiene 4 nodos(neuronas) con 5 entradas más una entrada del Bias(entrada de otra neurona como parte de una red) , así tendría 6 entradas para cada nodo "K". Para la capa "J" tenemos 5 nodos con 7 entradas más una entrada como "bias" , lo que suma 8 entradas para cada nodo de la capa "J".

                   Numero        Representación digital          Representación Binaria
                      0                      1  1  1  0  1  1  1                        0  0  0  0  0
                      1                      1  0  0  0  0  0  1                        0  0  0  0  1
                      2                      1  1  0  1  1  1  0                        0  0  0  1  0
                      3                      1  1  0  1  0  1  1                        0  0  0  1  1
                      4                      1  0  1  1  0  0  1                        0  0  1  0  0
                      5                      0  1  1  1  0  1  1                        0  0  1  0  1
                      6                      0  1  1  1  1  1  1                        0  0  1  1  0
                      7                      1  1  0  0  0  0  1                        0  0  1  1  1
                      8                      1  1  1  1  1  1  1                        1  0  0  0  0
                      9                      1  1  1  1  0  1  1                        1  0  0  0  1

La representación digital serán la entradas junto a un balance del "bias"(en este caso -1) y la representación binaria es lo que la red debe aprender



public class TestNumero {                            //NK NJ EK EJ
    static RedNeuronal1 redNeuronal = new RedNeuronal1( 4, 5, 6, 8);
    static double balance = -1;                      
    static double[][] capaI = {{1,1,1,0,1,1,1,balance},  //0
                 {1,0,0,0,0,0,1,balance},  //1
                               {1,1,0,1,1,1,0,balance},  //2
                               {1,1,0,1,0,1,1,balance},  //3
       /*rep. digital*/        {1,0,1,1,0,0,1,balance},  //4
                               {0,1,1,1,0,1,1,balance},  //5
                               {0,1,1,1,1,1,1,balance},  //6
                               {1,1,0,0,0,0,1,balance},  //7
                               {1,1,1,1,1,1,1,balance},  //8
                               {1,1,1,1,0,1,1,balance}}; //9
    static double[][]  aprender =  {{0,0,0,0,0,0,0,0,1,1},
        {0,0,0,0,1,1,1,1,0,0},
                                    {0,0,1,1,0,0,1,1,0,0},
                                    {0,1,0,1,0,1,0,1,0,1}}; 
                                  //0  1 2 3 4 5 6 7 8 9    rep. binaria



Descargar archivo con frame para aprender un numero digital.
Descargar plantilla RNA

No hay comentarios.:

Publicar un comentario