JavaTM 2 Platform
Std. Ed. v1.3

java.redesNeuronales.Capa
Clase Capa

java.lang.Object
  |
  +-- java.Capa
 

public class RedesNeuronales.Capa
extends Object

La clase capa es el nivel intermedio entre la red y las neuronas.Su función principal es agrupar las neuronas y organizarlas por niveles de procesamiento de la información.


Inner Class Summary

 

Constructor Summary
Capa(int NumeroNeuronas, int ordenp, StringXXX tipo)
           

 

Method Summary
 void addneurona(NeuronaXXX N)
 int unirCapas(CapaXXX c, int tipo_union, StringXXX NombreClaseSinapsis)
 void crearNeurona (StringXXX tipo)
 int orden()
int numNeuronas()
int numSinapsisAtras()
int numSinapsisAdelante()
int numSinapsisLaterales()
NeuronaXXX neurona(int i)
SinapsisXXX hallarSinapsis(int neuronaOrigen, int neuronaDestino,int tipo_union)
SinapsisXXX hallarSinapsis(int neuronaOrigen,int neuronaDestino, CapaXXX CapaD
 void ejecutarNeuronas(StringXXX Tipo, StringXXX Metodo)
 void ejecutarNeuronasAleatorias(StringXXX Tipo, StringXXX Metodo)
void actualizarNeuronas()
void actualizarNeuronasAleatorias (int NumVeces)
void aprenderAdelante (double parametros[] )
void aprenderAtras(double parametros[] )
void aprenderLaterales (double parametros[])
void aprenderAdelante ()
void aprenderAtras()
void aprenderLaterales ()
void enviarPatron ( PatronXXX P)
void enviarSalida ( PatronXXX P)
void setRed(Red Pred)
PatronXXX conseguirEstado ()
void pintarNeuronas()
void pintarSinapsisAdelante()

 

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

Constructor Detail

Capa

public Capa(int NumeroNeuronas, int ordenp, StringXXX tipo)()

Descripción
Este Método crea una capa con la cantidad de neuronas NumeroNeuronas el tipo tipo y con el orden ordenp. Hay que decir que la capa entrada debe tener siempre orden 0 para que el marco funcione adecuadamente.

Parámetros
int NumeroNeuronas
Es el número de neuronas que tendrá la capa;

int ordenp
Es el orden relativo que ocupa la capa en la red, la capa entrada
siempre debe ser 0;

String tipo es el nombre de la clase a la que pertenecerán las neuronas.

Ejemplo
CapaEntrada = new Capa(10,0,”Neurona_Perceptron”);

Method Detail

 


unirCapas

public int unirCapas(Capa c, int tipo_union, String NombreClaseSinapsis)

Descripción
Este Método une las neuronas de dos capas la capa actual y la capa c.
El modo de unir las capas es el siguiente :
Las conexiones nacen de las neuronas de la capa actual y acaban en las
Neuronas de la capa c. Si el orden de las capas es ascendente, esto es el orden de la capa actual es menor que el de la capa c , entonces se realiza una conexión de tipo hacia delante y se almacenan las sinapsis en la capa_sinapsis hacia adelante de la capa actual. En el caso contrario , el orden de la capa c es menor que el de la capa actual , las conexiones se hacen hacia atrás y se almacenan en la capa_sinapsis de la capa actual .
Si capa c es igual que la capa actual entonces procedemos a unir la capa consigo misma y por tanto las sinapsis se incluyen en la capa sinapsis Laterales.
Las Neuronas se unen dependiendo del tipo unión todas con todas o linealmente una a una.

Parámetros
Capa c :
Capa destino de la union.
int tipo_union :
Define modo en que se unirán las capas puede tener estos valores:
Utils.Lineal : Une cada neurona con otra
Utils.Total : Une cada neurona de la capa actual con
todas las neuronas de la capa c

String NombreClaseSinapsis
Es el nombre de la clase a la que pertenecerán las sinapsis.

Ejemplo
CapaEntrada .unirCapas (CapaSalida, Utils.Total, ”sinapsis_Perceptron”)


crearNeurona, addneurona

public void crearNeurona (String tipo)
public void addneurona(NeuronaXXX N)

Descripción
Este Método crea una Neurona en la capa en que se llama y actualiza todas las variables internas de la capa para que no tenga errores de integridad.

Parámetros
String tipo
Es el nombre de la clase a la que pertenecera la neurona creada.

Ejemplo
CapaEntrada . crearNeurona (“Neurona_Perceptron”);


orden

public int orden()

Descripción
Este devuelve el identificador de una capa que además indica su posición en el orden de la red .

Ejemplo
Int Orden = CapaEntrada .orden ();
El valor devuelto debería ser 0.


numNeuronas

public int numNeuronas()


Descripción
Este método devuelve el número de neuronas que hay en una capa.

Ejemplo
Int Orden = CapaEntrada .orden ();
El valor devuelto debería ser 0.


numSinapsisAdelante, numSinapsisAtras, numSinapsisLaterales

public int numSinapsisAdelante()
public int numSinapsisLaterales()
public int numSinapsisAtras()


Descripción
Estos métodos devuelven el número de sinapsis que llegan a las neuronas de la capa tanto desde capas de adelante en ‘numSinapsisAdelante’ como capas de atrás ‘numSinapsisAtras’ o desde ella misma en ‘numSinapsisLaterales’

Ejemplo
Int nsinapsis = CapaEntrada . numSinapsisAdelante();
El valor devuelto deberia ser 0 ya que a una capa de entrada no deben
llegar sinapsis desde una capa que este delante de ella ya que
simplemente no hay.


neurona

public Neurona neurona(int i)
Descripción
Este método devuelven el objeto neurona con identificador i.
Destaco que la neurona 0 es el identificador de las neuronas sesgo, de la capa que sirven para simular la entrada –1, cuando queremos actualizar los sesgos de las neuronas dinamicamente. Si no tenemos activados los sesgos dinamicas, la llamada c.neurona(0) genera un error.


Parámetros
int i
identificador de la neurona que deseamos obtener;

Ejemplo
Int Orden = CapaEntrada .neurona(1);



hallarSinapsis

public Sinapsis hallarSinapsis(int neuronaOrigen, int neuronaDestino,int TipoUnion)

Descripción
Este método devolvera la sinapsis que une la neurona con identificador neuronaOrigen de la capa actual con la neurona neuronaDestino que este unida a la anterior del modo TipoUnion

Parámetros
int neuronaOrigen
identificador de la neurona desde la que parte la sinapsis que
deseamos obtener.

int neuronaDestino
identificador de la neurona a la que llega la sinapsis que
deseamos obtener.

int TipoUnion
Este valor especifica de que manera están unidas ambas
Neuronas. Puede tomar los valores
utils.CteSinapsis_adelante;
utils.CteSinapsis_atras;
utils.CteSinapsis_lateral;

Ejemplo
Sinapsis S = CapaEntrada . hallarSinapsis(1,3, utils.CteSinapsis_lateral);
S sera la sinapsis que une las neuronas 1 y 3 de la capa entrada


hallarSinapsis


public Sinapsis hallarSinapsis(int neuronaOrigen,int neuronaDestino, Capa CapaD )

Descripción
Este método devolverá la sinapsis que une la neurona con identificador neuronaOrigen de la capa actual con la neurona neuronaDestino que pertenezca a la capa CapaD.

Parámetros
int neuronaOrigen
identificador de la neurona desde la que parte la sinapsis que
deseamos obtener;

int neuronaDestino
identificador de la neurona a la que llega la sinapsis que
deseamos obtener;

Capa CapaD capa a la que pertenece la neurona destino

Ejemplo
Sinapsis S = CapaEntrada . hallarSinapsis(1,3, CapaEntrada);
S sera la sinapsis que une las neuronas 1 y 3 de la capa entrada

 


ejecutarNeuronas

public void ejecutarNeuronas(String Tipo, String Metodo)

Descripción
Este método llama al método ‘Metodo’ de todas las neuronas de la capa que deben ser de la la clase ‘Tipo’.Tiene la limitación de que no se pueden pasar Parámetros a las neuronas.

Parámetros :

String Tipo
Nombre del tipo de las neuronas.

String Metodo
Nombre del método que deseamos ejecutar de las neuronas.

Ejemplo
CapaEntrada ejecutarNeuronas(‘Neurona_Ejemplo’,‘EstadoAleatorio’ );


ejecutarNeuronasAleatorias


public void ejecutarNeuronasAleatorias(String Tipo, String Metodo, int NumVeces)

Descripción
Este método llama al método ‘Metodo’ de una neurona aleatoria de la capa ‘NumVeces’ Veces .
La neuronas deben ser de la la clase ‘Tipo’.
Tiene la limitacion de que no se pueden pasar parametros a las neuronas.
Este método esta pensado para simular las redes asincronas que en las
que no se actualizan todas las neuronas a la vez..

Parámetros :

String Tipo
Nombre del tipo de las neuronas.

String Metodo
Nombre del método que deseamos ejecutar de las neuronas.

int NumVeces
Es el número de veces que se escogera una neurona al azar;

Ejemplo
CapaEntrada ejecutarNeuronas(‘Neurona_Ejemplo’,‘EstadoAleatorio’ );


actualizarNeuronas

public void actualizarNeuronas()
Descripción
Este método actualiza todas las neuronas de la capa según se lo define cada
neurona al implementarse.

Ejemplo
CapaEntrada actualizarNeuronas();
*Detalle: la anterior llamada seria equivalente a
CapaEntrada ejecutarNeuronas(‘Neurona_Ejemplo’,‘actualizar’);


actualizarNeuronasAleatorias

public void actualizarNeuronasAleatorias (int NumVeces)

Descripción
Este método actualiza a ‘NumVeces’ neuronas escoigidas al azar entre las neuronas de la capa . hay que detallar que se puede llamar a la misma neurona varias veces.

Ejemplo
CapaEntrada actualizarNeuronasAleatorias ();


aprenderAdelante

public void aprenderAdelante (double parametros[] )
public void aprenderAdelante ()

Descripción
Usando estos métodos se le dice a todas las sinapsis que llegan a la capa actual desde una capa de delante y que quedan enmarcadas dentro de la capa de sinapsis ‘Sinspsis_adelante’ que aprendan. Esto es, que actualicen sus pesos usando el método aprender que sera distinto para cada tipo de sinapsis.

Parámetros :
double parametros[]
Este parametro se usa para pasar cualquier dato, que se desee, a
la sinapsis.En caso de que no se usen parametros se llamar a la
funcion sin parametros.

Ejemplo
double parametros[] = new double[1];
parametros[1] = 10;
CapaEntrada aprenderAdelante (parametros);


aprenderAtras


public void aprenderAtras(double parametros[] )
public void aprenderAtras()

Descripción
Usando estos métodos se le dice a todas las sinapsis que llegan a la capa actual desde una capa de atrás, esto es mas cerca de la Capa Salida que la actual que aprendan , esto es que actualicen sus pesos usando el método aprender que sera distinto para cada tipo de sinapsis.

Parámetros :
double parametros[]
Este parámetro se usa para pasar cualquier dato, que se desee, a
la sinapsis.En caso de que no se usen parametros, se puede llamar al
método sin parametros.

Ejemplo
double parametros[] = new double[1];
parametros[1] = 10;
CapaE ntrada aprenderAtras(parametros);


aprenderLaterales


public void aprenderLaterales (double parametros[])
public void aprenderLaterales ()

Descripción
Usando este métodos se le dice a todas las sinapsis que parten de las neuronas de la capa actual y llegan a neuronas de la capa actual
Que actualizen sus pesos esto es que aprendan.

Parámetros :
double parametros[]
Este parametro se usa para pasar cualquier dato, que se desee, a
la sinapsis.En caso de que no se usen Parámetros se puede llamar a la
función sin parametros.

Ejemplo
double parametros[] = new double[1];
parametros[1] = 10;
CapaEntrada.aprenderLaterales(parametros);


enviarPatron

public void enviarPatron ( Patrón P)

Descripción
Este método hace que todas las neuronas tengan por estado los valores que contiene el patron. La forma de asignarlos es por orden , la primera neurona recibe el primer valor y asi consecutivamente.

Parámetros :
Patrón P
Patrón cuyos valores se introduciran en el estado de la capa.

Ejemplo

CapaEntrada.enviarPatron(P);

 


enviarSalida

public void enviarSalida ( Patrón P)

Descripción
Este método hace que todas las neuronas tengan por Salida deseada los valores de salida que tiene el patron. La forma de asignarlos es por orden , la primera neurona recibe el primer valor y asi consecutivamente.

Parámetros :
Patrón P
Patrón cuyos valores se introduciran en el estado de la capa.

Ejemplo
CapaSalida.enviarSalida(P);


setRed


public void setRed(Red Pred)
Descripcion:
Esta función sirve para decirle a una capa que perternece a la red Pred ;
No es necesaria usarla a no ser que las nerunas o las sinapsis tengan que
accedera a ella.

Parámetros
int Pred:
Es la red que se asociara a la capa


conseguirEstado

public Patrón conseguirEstado ()

Descripción
Este método nos devuelve el estado de las neuronas de la capa en un patrón, cuyos
valores entrada son los valores de los estados de las neuronas.

Ejemplo
Patrón p = CapaSalida conseguirEstado();

 


pintarNeuronas


public void pintarNeuronas()

Descripción
Muestra por pantalla el estado de las neuronas de la capa.

Ejemplo
CapaSalida conseguirEstado();


pintarSinapsisAdelante


public void pintarSinapsisAdelante()

Descripción
Muestra por pantalla el estado de las sinapsis que llegan desde capas de delante de la capa actual.

Ejemplo
CapaSalida pintarSinapsisAdelante();


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.