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