Definiremos los cuadrados impares, y definiremos a la cantidad impar con el valor de " 0 ".
Solo será par cuando dos casillas estén pintadas y tendrá el valor de " 1 ". No estarán definidas el cuadro sin pintar ni el cuadro con todas las casillas pintadas.
También para cada nodo tendremos un error , utilizaremos el entrenamiento Backpropagation .
Construimos la clase nodo("neuron1")
package parimparrn; public class Neuron1 { private double activacionu; double [] entradas; double [] pesos; double errorNodo; static Sigmoide sigmoide; public Neuron1(int nentradas) { pesos = new double[nentradas]; entradas = new double[nentradas]; sigmoide = new Sigmoide(); errorNodo = 0; } public void activacion() { double suma = 0; for(int i=0;i<entradas.length;i++) { suma =suma + entradas[i]*pesos[i]; } activacionu = sigmoide.funcion(suma); } public double[] getEntradas() { return entradas; } public void setEntradas(double[] entradas) { this.entradas = entradas; } public double[] getPesos() { return pesos; } public void setPesos(double[] pesos) { this.pesos = pesos; } public void verEntradas() { System.out.print(" entradas "); for(int i=0;i<entradas.length;i++) { System.out.println(entradas[i]); } } public void verPesos() { System.out.println(" *** pesos ** "); for(int i=0;i<pesos.length;i++) { System.out.println(""+pesos[i]); } } public double getActivacion() { return activacionu; } public void verActivacion() { System.out.println("activacion"); System.out.println(""+activacionu); } public double getError() { return errorNodo; } public void setError(double error) { errorNodo=error; } }Adjunto el proyecto , el archivo con frame , utiliza los pesos aprendidos tras ejecutar el método run de la clase TestRN.En el proyecto sin frame se ejecuta el método y se encuentra los pesos para la red.
Descargar Proyecto completo con frame
Descargar Proyecto completo sin frame
Descargar plantillas de RNA
No hay comentarios.:
Publicar un comentario