|
JavaTM 2 Platform Std. Ed. v1.3 |
||||||
| FRAMES NO FRAMES | |||||||
| SUMMARY: INNER | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||
java.lang.Object | +-- java.Red
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, |
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 |
public Red()
| Method Detail |
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");
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);
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");
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
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)
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
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");
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);
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);
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;
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”);
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”);
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();
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)
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)
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”);
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.
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)
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 ();
}
abstract public void aprender(ListaPatrones Ps);
|
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.