|
JavaTM 2 Platform Std. Ed. v1.3 |
||||||
| FRAMES NO FRAMES | |||||||
| SUMMARY: INNER | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||
java.lang.Object | +-- java.Capa
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 |
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 |
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”)
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”);
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.
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.
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.
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);
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
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
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’
);
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’
);
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’);
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 ();
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);
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);
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);
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);
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);
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
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();
public void pintarNeuronas()
Descripción
Muestra por pantalla el estado de las neuronas de la capa.
Ejemplo
CapaSalida conseguirEstado();
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 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
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.