Redes Neuronales en java, Herramienta para redes Neuronales
Neural Networks tool Neural Networks with java Neural Networks tool
Neural Networks tool Neural Networks with java
       
 
Introducción
a las Redes Neuronales
API del
Marco de trabajo
Tutorial
Marco de
Trabajo
JRedesNeruonales
Downloads
Hompage
Marco de
trabajo

 


Tutorial para el
diseño de una Red Neuronal


Indice:

1 .. Introducción
2 .. Diseño de la arquitectura.
3 .. Diseño del Comportamiento
3.1 .. Diseño de la Dinámica de la red
3.1.1 diseño de ejecutar en Red
3.1.2 diseño de actualizar en Neurona
3.2 .. Diseño del Aprendizaje de la red
3.2.1 diseño de aprender en Red
3.2.2 diseño de aprender en sinapsis
3.3 .. Las redes Online.
4 .. Diseño de los patrones
5 .. Empaquetado de la red.


1 Introducción

Este tutorial es una pequeña ayuda para el ayudar al diseñador a comenzar a desarrollar redes neuronales con este marco de trabajo.

En él, explicare, paso a paso, como vamos a crear una red , modelando sus tres aspectos: arquitectura , dinámica y aprendizaje, además del diseño de los patrones que admitirá la red.

Cada aspecto es modelado especificando una serie de elementos generales que intervienen en el funcionamiento del marco de trabajo.

El diseño de una red se estructura en cuatro pasos que se explicaran más detalladamente en los siguientes apartados.

8.2 Diseño de la arquitectura.
8.3 Diseño del Comportamiento.
8.3.1 -->Dinámica
8.3.2 -->Aprendizaje
8.4 Diseño de los Patrones.

Para ilustrar este tutorial vamos a desarrollar una red de ejemplo, un perceptrón,
Una explicación a grandes rasgos del proceso de diseño será el siguiente

.

 

Primero, crearemos tres clases Java a partir de las plantillas,
La clase para especificar la red heredara de la clase Red y en el deberemos redefinir
El constructor y los métodos ejecutar y aprender.

La plantilla de la red debe quedar algo así :

public class RedEjemplo_Red extends Red {


public RedEjemplo_Red() {/* Arquitectura */ }
public ejecutar(Patrón P) {/* Dinámica a nivel de red*/ }
public Aprender(ListaPatrones Ps) { /* Aprendizaje a nivel de red */ }


}

La clase que represente la neurona, heredará de la clase Neurona y en ella deberemos redefinir el método actualizar.
La plantilla de la clase neurona debe quedar algo así :

public class Neurona _RedEjemplo extends Neurona {
public actualizar() { /* dinámica a nivel de neurona */ }
}


Finalmente para la clase que represente una sinapsis, heredara de la clase Sinapsis y en ella deberemos redefinir el método aprender.

public class Sinapsis_RedEjemplo extends Sinapsis {
public aprender(double[] parámetros){ /* aprendizaje a nivel de sinapsis */ }
}


La arquitectura se definirá en el constructor de la red, la dinámica de la red en el método ejecutar de la red y en la actualizar de la neurona y el aprendizaje en la método aprender de la red y de la sinapsis.

En Resumen
En la clase hija de la red tenemos que definir los métodos :
public Perceptron_red()
Que define la arquitectura de la red en cuanto a capas y

public Patrón ejecutar(Patrón p)
Que se encarga de definir la dinámica de la red esto es le entra un patrón y
sale otro patrón

public void aprender(ListaPatrones ps)
Se encarga de decidir que le como aprende las red la red lista de patrones Ps

además debemos definir en las clases correspondientes como se actualizan las sinapsis y las neuronas y eso es todo lo que hay que hacer para diseñar la red.

Seguir en el siguiente apartado >

Introducción - Diseño de la arquitectura - Diseño del Comportamiento
Diseño de la Dinámica de la red - Diseño del Aprendizaje de la red
Las redes Online - Diseño de los patrones - Empaquetado de la red.

 

 

   
   
   

This Software has been developed by Alfonso Ballesteros Computering Ingenieer by the University of Malaga, Spain as a part of his final
degree proyect with the supervision of D. Enrique Dominguez