JavaTM 2 Platform
Std. Ed. v1.3

java.redesNeuronales.Red
Clase Red

java.lang.Object
  |
  +-- java.Red
 

public class Red
extends Object

La clase red es la clase principal del marco de trabajo, ella proporciona métodos
para poder crear la arquitectura de la red así como para diseñar su dinámica y su
algoritmo de aprendizaje.

La clase red es una clase abstracta, esto quiere decir que no se puede instanciar,
esto es debido a que tiene una serie de métodos abstractos que no están definidos.
Estos métodos son el constructores, el método ejecutar y el método aprender, cada
uno de los cuales servirá para definir la arquitectura, la dinámica y el aprendizaje de
una red respectivamente.


Inner Class Summary

 

 

Constructor Summary
Red()
           

Constructor
Descripción:
Este el constructor que debe definir el usuario para crear redes
Especificas como un perceptron o una red de Hopfield.

Parámetros
Puede tener los Parámetros que desee el usuario

Ejemplo

public Perceptron_Red(int capa primera ,int nneuronas2 ) {
crearCapaEntrada(nneuronas1, "Neurona_Bipolar");
crearCapaSalida(nneuronas2,"Neurona_Bipolar",2);
unirCapas(0,1, utils.Total,"Sinapsis_Perceptron");
}


Method Summary
 void crearCapaEntrada(int numNeuronas, StringXXX Tipo_Neuronas)
 void crearCapaSalida(int numNeuronas, StringXXX Tipo_Neuronas,
int NumMaximodeCapas)
 void nuevaCapaOculta(int NumeroNeuronas, StringXXX tipoNeurona)
 void addNeurona(int ordenCapa, StringXXX TipoNeurona)
 void addNeurona(int ordenCapa, StringXXX TipoNeurona, int Estado,
int Salida_deseada)
 void

unirNeuronas(int ordenCapaOrigen, int idNeuronaOrigen,int ordenCapafin ,int idNeuronafin,
int tipo_de_union, StringXXX ClaseSinapsis)

 void addSinapsis(int ordenCapaOrigen,int idNeuronaOrigen, int ordenCapafin,
int idNeuronafin, int tipo_de_union,StringXXX ClaseSinapsis)
 void unirCapas(int capaOrigen, int capaDestino, int tipo_union, StringXXX NombreClaseSinapsis)
 void unirCapas(int capaOrigen, int capaDestino, int tipo_union,
StringXXX NombreClaseSinapsis)
 NeuronaXXX neurona(int ordenCapa,int idNeurona)
 SinapsisXXX sinapsis(int ordenCapaOrigen,int idNeuronaOrigen, int idNeuronafin,int tipo_de_union)
 CapaXXX capaOrden(int orden)
 void cargar(StringXXX Archivo)
 void guardar(StringXXX Archivo)
void comprobar(ListaPatronesXXX l).
 void pintar()
PatronXXX obtener_Salida()
 void cargar_patron(PatronXXX p)
 void cargar_Salida_Deseada(PatronXXX p)
 void ejecutarNeuronas(int capa, StringXXX Tipo, StringXXX Metodo)
 void ActualizarNeuronas(int capa)
 void aprenderSinapsis(int COrigen, int Cdestino, double[] param, int Nveces )
 abstract PatronXXX ejecutar(PatronXXX p);
 abstract void aprender(ListaPatronesXXX Ps);

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Red

public Red()
Method Detail

crearCapaEntrada

public void crearCapaEntrada(int numNeuronas,StringXXX Tipo_Neuronas)

Descripción:
Inicia la capa de neuronas CapaEntrada con numNeuronas
neuronas del Tipo_Neuronas.

Parámetros:
int numNeuronas: número de neuronas en la capa entrada

StringXXX Tipo_Neuronas es una cadena con el nombre de las clases
de las neuronas. p.e. "Neurona_Bipolar".

Ejemplo :
crearCapaEntrada(20,"Neurona_Bipolar");


crearCapaSalida

public void crearCapaSalida(int numNeuronas,StringXXX Tipo_Neuronas,int NumMaximodeCapas)

Descripción
Inicia la capa de neuronas CapaSalida con numNeuronas neuronas
del Tipo_Neuronas.

Parámetros:
int numNeuronas: número de neuronas en la capa salida
StringXXX Tipo_Neuronas: es una cadena con el nombre de las clases
de las neuronas. p.e. "Neurona_Bipolar"
int NumMaximodeCapas: Es una cota del número máximo de capas que
habrá en la red .p.e. un perceptron unicapa => 2
capas entonces NumMaximodeCapas = 3

Ejemplo :
crearCapaSalida(20,"Neurona_Bipolar",3);



nuevaCapaOculta

public void nuevaCapaOculta(int NumeroNeuronas,StringXXX tipoNeurona)

Descripción
Añade una Capa de neuronas oculta con numNeuronas Neuronas del Tipo_Neuronas.

Parámetros:
int numNeuronas: número de neuronas en la capa oculta
StringXXX Tipo_Neuronas: es una cadena con el nombre de las clases
de las neuronas. p.e. "Neurona_Bipolar"

Ejemplo :
nuevaCapaOculta(20,"Neurona_Bipolar");

 


addNeurona

public void addNeurona(int ordenCapa,StringXXX TipoNeurona)

Descripción:
añade una neurona del tipo TipoNeurona a la Capa cuyo identificador es ordenCapa

Parámetros:
int ordenCapa: identificador de capa
p.e. CapaEntrada=0;
CapasOcultas 1...N si hay N capas ocultas ;
N+1 =capaSalida
StringXXX Tipo_Neuronas: es una cadena con el nombre de las clases
de las neuronas. p.e. "Neurona_Bipolar"

Ejemplo :
addNeurona(0,"Neurona_Bipolar");
crea un neurona bipolar en la capa entrada

 


addNeurona

public void addNeurona(int ordenCapa,StringXXX TipoNeurona,double Estado, double Salida_deseada)

Descripción:

añade una neurona del tipo TipoNeurona a la capa cuyo identificador
es ordenCapa y la inicializa con los valores Estado, Salida_deseada.

Parámetros:

int ordenCapa: identificador de capa
p.e. CapaEntrada=0;CapasOcultas 1...N si hay N capas ocultas ; N+1 =capaSalida
StringXXX Tipo_Neuronas: es una cadena con el nombre de las clases
de las neuronas. p.e. "Neurona_Bipolar"
double Estado: estado con el que empezara la nueva neurona

double Salida_deseada: Salida_deseada con el que empezara la nueva
neurona

Ejemplo :
addNeurona(1,"Neurona_Bipolar",1.0,2.0); crea un neurona bipolar en la
primera capa oculta o en la capa salida (si no hay ocultas)


unirNeuronas

public void unirNeuronas(int ordenCapaOrigen,int idNeuronaOrigen, int ordenCapafin ,int idNeuronafin, int tipo_de_union,StringXXX ClaseSinapsis)

public void addSinapsis(int ordenCapaOrigen,int idNeuronaOrigen, int ordenCapafin ,int idNeuronafin, int tipo_de_union,StringXXX ClaseSinapsis)

Descripción:
Ambos métodos hacen a misma función: añaden una Sinapsis del tipo
ClaseSinapsis a la Capa cuyo identificador es ordenCapaOrigen y une,
con la sinapsis, la neurona idNeuronaOrigen de la capa ordenCapaOrigen
con la neurona idNeuronafin, de la capa ordenCapafin y escribiéndola
dentro del las sinapsis tipo_de_union.

- Parámetros:
int ordenCapaOrigen : identificador de capa desde la que sale la sinapsis
p.e. CapaEntrada=0;
CapasOcultas 1...N si hay N capas ocultas ;
CapaSalida = N+1 ;
int idNeuronaOrigen :identificador de neurona desde la que sale la
sinapsis

int ordenCapafin identificador de capa a la que llega la sinapsis
p.e. CapaEntrada=0.
CapasOcultas 1...N si hay N capas ocultas .
CapaSalida = N+1 .

int idNeuronafin identificador de neurona a la que llega la sinapsis

int tipo_de_union : tipo de unión que esta creando esa sinapsis
( adelante, atrás o lateral)
si adelante utils.CteSinapsis_adelante
si atrás utils.CteSinapsis_atras
si lateral utils.CteSinapsis_lateral

StringXXX ClaseSinapsis :es una cadena con el nombre de las clases
de las neuronas. p.e. "Sinapsis_Perceptron"


Ejemplo :
unirNeuronas(0,10,1 ,2, "Sinapsis_Perceptron")
esto crea una sinapsis entre la neurona 10 de capa entrada(0) y


unirCapas

public void unirCapas(int capaOrigen, int capaDestino ,int tipo_de_union ,StringXXX NombreClaseSinapsis)


Descripción:
une dos capas referenciadas por sus identificadores, para ello une cada
neurona de la primera capa con las neuronas de la segunda capa de la
forma que este especificado por tipo_de_union : todas con todas o una a
una usando para ello sinapsis del tipo especificado.


Parámetros:
int capaOrigen: identificador de capa desde la que se unirán las neuronas
CapaEntrada=0.
CapasOcultas 1...N si hay N capas ocultas.
CapaSalida = N+1 .

int capaDestino: identificador de la capa a la que se unirán las sinapsis
que salen de la otra capa.

int tipo_de_union : Este parámetro regula si cada neurona de la capa
primera se unirá a todas las neuronas de la capa
segunda o solo a una. p.e. todas con todas
tipo_de_union = utils.Total
tipo_de_union = utils.Lineal


int NombreClaseSinapsis : nombre de neurona a la que llega la sinapsis

int tipo_de_union : tipo de unión que esta creando esa sinapsis
( adelante, taras o lateral) si adelante utils.CteSinapsis_adelante
si atrás utils.CteSinapsis_atras
si lateral utils.CteSinapsis_lateral

StringXXX NombreClaseSinapsis :es una cadena con el nombre de las clases
de las neuronas. p.e. "Sinapsis_Perceptron"

Ejemplo :
unirCapas(0,1,Capa.Total, "Sinapsis_Perceptron");

 


neurona

public Neurona neurona(int ordenCapa,int idNeurona)

- Descripción devuelve un objeto de tipo neurona con el identificador id y
perteneciente a la capa con identificador orden capa


- Parámetros:
int ordenCapa: identificador de capa a la que pertenece la neurona;

int idNeurona: identificador de la neurona;
hay que destacar que si los sesgos están activados
la neurona 0 será el sesgo en otro caso te dará error;

- Ejemplo :
Neurona N = neurona(0,1);


sinapsis

public Sinapsis sinapsis(int ordenCapaOrigen,int idNeuronaOrigen, int idNeuronafin,int tipo_de_union)

Descripción:
Devuelve el objeto sinapsis que se encuentra entre las dos neuronas
definidas por su identificador y el número de su capa.

Parámetros:
int ordenCapaOrigen :
identificador de capa a la que pertenece la neurona
desde la que sale la sinapsis;

int idNeuronaOrigen
identificador de la neurona desde la que sale la sinapsis;

int ordenCapa:
identificador de capa a la que pertenece la neurona
a la que llega la sinapsis;

int idNeurona: identificador de la neurona;
hay que destacar que si los sesgos están activados
la neurona 0 será el sesgo en otro caso te dará error;

int tipo_de_union
especifica en que tipo de unión se encuentra esta sinapsis
si adelante utils.CteSinapsis_adelante
si atrás utils.CteSinapsis_atras
si lateral utils.CteSinapsis_lateral

Ejemplo :
Sinapsis S = sinapsis(0,1,0,1, utils.CteSinapsis_adelante);

 


capaOrden

public Capa capaOrden(int orden) nos devuelve el objeto capa

Descripción:
Devuelve el objeto Capa con el identificador id

Parámetros:
int orden:
identificador de capa que deseamos conseguir.

Ejemplo :
Capa C = capaOrden(0);
Esto nos devolvería la capa de entrada;


cargar

public void cargar(StringXXX Archivo)

Descripción:
Carga en la red actual, una red que previamente habíamos guardado en un fichero. Hay que
destacar que la red que devuelve es del tipo de la que había contenida en el fichero .

Parámetros:
StringXXX Archivo:
Es una cadena de caracteres que representa la ruta absoluta donde se encuentra el fichero.
Hay que tener cuidado que el carácter \ que se usa en los directorios de Windows es un carácter de escape en Java y por tanto hay que ponerlo doble \\.

Ejemplo :
Red x = x .Cargar(“C:\\redes\\red_Ejemplo.txt”);



guardar

public void guardar(StringXXX Archivo)

Descripción:
Guarda la red actual una red que previamente habíamos guardado en un
f ichero.

Parámetros:
StringXXX Archivo:
Es una cadena de caracteres que representa la ruta absoluta donde
se encuentra el fichero. Al igual que en la anterior función ,
Hay que tener cuidado que el carácter \ que se usa en los
directorios de Windows es un carácter de escape en los StringXXXs en Java y por tanto hay que ponerlo doble \\.
Ejemplo :
red.guardar(“C:\\redes\\red_Ejemplo.txt”);

 


comprobar

public void comprobar(ListaPatrones l)


Descripción:
Esta función solo sirve para redes supervisadas, permite comprobar la eficacia de la misma . ejecuta los patrones que hay en la lista y comprueba la salida de la red con la salida deseada del patrón y lo muestra por pantalla .

Parámetros:
ListaPatrones l: es una lista de patrones que se pretenden testear.

Ejemplo :
red.comprobar(l);


public void pintar ()

Descripción:
Pinta por pantalla los datos mas importantes de la red;
Ejemplo :
red.pintar();

 


obtener_Salida

public Patrón obtener_Salida()

Descripción:
Nos devuelve un objeto patrón con los valores de las neuronas de la capa
de salida.
Ejemplo :
Patrón p = red.obtener_Salida()

public void cargar_patron(Patrón p)

Descripción:
Establece los valores del patrón como los valores de estado de las
neuronas de entrada de la red
Parámetros:
Patrón P: Es el Patrón que vamos a cargar;

Ejemplo :
Patrón p = red. cargar_patrón (p)

 


cargar_Salida_Deseada

public void cargar_Salida_Deseada(Patrón p)

Descripción:
Establece los valores del patrón como los valores de estado de las
neuronas de entrada de la red
Parámetros:
Patrón P: Es el Patrón que vamos a cargar;

Ejemplo :
Patrón p = red. cargar_patrón (p)


cargar_Salida_Deseada

public void ejecutarNeuronas(int capa, StringXXX Tipo, StringXXX Metodo)

Descripción:
Ejecuta la función Método de las neuronas en todas y dada una de las
neuronas de la capa con identificador capa que son del tipo de neurona
Tipo

Parámetros:
int ordenCapa:
identificador de capa de la que se ejecutaran las neuronas

StringXXX Tipo
Es un StringXXX que contiene el nombre de las clases de neuronas.

StringXXX Método
Es el nombre del método que se ejecutara en todas las neuronas

Ejemplo :
Red.ejecutarNeuronas(1, “Peceptron_Neurona”, “funcionx”);



ActualizarNeuronas

public void ActualizarNeuronas(int capa)

Descripción:
Ejecuta la función actualizar de todas las neuronas de una capa
Parámetros
int ordenCapa:
identificador de capa de la que se ejecutaran las neuronas.



aprenderSinapsis

public void aprenderSinapsis(int Corigen, int Cdestino, double[] param, int Nveces )

Descripción:
Ejecuta la función aprender de las sinapsis que salen de las neuronas de la Capa COrigen y acaban en las neuronas de la capa Cdestino con los Parámetros param y los iteran Nveces.

Parámetros:
int Corigen: identificador de capa desde la que salen las sinapsis .
int Cdestino :identificador de capa desde la que llegan las sinapsis .
double[] param Parámetros con los que se llamara a la función aprender de la sinapsis

int Nveces
Si NVeces=0 se ejecutara aprender en todas las sinapsis
Si Nveces >0 se ejecutara el método aprender en Nveces sinapsis
escogidas aleatoriamente en la capa sinapsis.

Ejemplo :
double[] p =new double[0] ;
Red. aprenderSinapsis(0,1,p ,0)

 


ejecutar

abstract public Patron ejecutar(Patrón p);

Descripción: Este método es el que llama la red cuando se desea que se ejecute. Tiene
que implementar la dinámica de la red y para ello hace uso de los
métodos actualizarNeuronas , cargar_entrada y cargar_salida de las
capas así como otros métodos que el usuario vea convenientes

Parámetros
Patrón p es el patrón que ejecutara la red.

Ejemplo

public Patrón ejecutar(Patrón p) {
CapaEntrada.enviarPatron(p);
CapaSalida.actualizarNeuronas();
return CapaSalida.conseguirEstado ();
}

 


aprender

abstract public void aprender(ListaPatrones Ps);


JavaTM 2 Platform
Std. Ed. v1.3

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.