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