|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectmotorRedNeuronal.Perceptron
public class Perceptron
Esta clase codifica el funcionamiento de un perceptron, para funcionar solo o en compañía de otros formando una red neuronal.
El perceptrón tiene elementos entrantes y elementos salientes conectados. Si el perceptrón esta en la primera o últimca capa,
estos elementos serán del tipo ElementoEntrada
o ElementoSalida
respectivamente.
El cálculo de salida se realiza mediante un objeto IFuncionCalculo
, al que se le pasa la suma de las entradas poderada con los pesos.
El cálculo y la retroprogramación se realizan cuando todos los elementos entrantes y salientes le han pasado un valor. Si el perceptrón
no tiene todos los valores, devuelve el control al método llamante, para que prosiga el cálculo por la red neuronal.
Field Summary | |
---|---|
private java.util.Map<INeurona,java.lang.Float> |
diferencialesAnteriores
Almacena el diferencial de la retroprogramación anterior para aplicar con los momentos |
private java.util.HashMap<INeurona,java.lang.Float> |
entrantes
Diccionario con pares K= INeurona , V=Float con las neuronas entrantes y los valores dados por estas. |
private int |
entrantesListas
Entero para contar cuántas neuronas entrantes nos han pasado ya su dato. |
private java.util.HashMap<INeurona,java.lang.Float> |
entrantesSinDatos
Diccionario auxiliar con todos los valores nulos para clonarlo y reiniciar el diccionario entrante |
private float |
fCorreccion
Flotante que representa el factor de corrección. |
private IFuncionCalculo |
funcion
Función de cálculo para calcular la salida del perceptrón. |
private float |
momento
Flotante que representa el momento. |
private float |
pesoMaximo
Flotante para calcular el peso máximo de una entrada. |
private float |
pesoMinimo
Flotante para calcular el peso mínimo de una entrada. |
private java.util.Map<INeurona,java.lang.Float> |
pesos
Pesos de las entradas |
private java.util.Map<INeurona,java.lang.Float> |
salientes
Diccionario con pares K= INeurona , V=Float con las neuronas salientes y los valores dados por esta para la retroprogramación. |
private int |
salientesListas
Entero para contar cuántas neuronas salientes nos han pasado ya su dato en la retroprogramación. |
private java.util.HashMap<INeurona,java.lang.Float> |
salientesSinDatos
Diccionario auxiliar con todos los valores nulos para clonarlo y reiniciar el diccionario entrante |
private java.util.Map<INeurona,java.lang.Float> |
ultimaEntrada
Almacena la última entrada para la cual se calculó el atributo ultimoValor |
private float |
ultimaSalida
Almacena el último valor calculado para usarlo en la retroprogramación |
Constructor Summary | |
---|---|
Perceptron(float fCorreccion,
float momento,
float pesoMin,
float pesoMax,
IFuncionCalculo funcion)
Constructor de la clase perceptron. |
Method Summary | |
---|---|
void |
addElementoEntrante(INeurona entrante)
Función para conectar un perceptrón a la salida |
void |
addElementoSaliente(INeurona saliente)
Función para conectar un perceptrón como entrada |
void |
calcular(float in,
INeurona origen)
Calcular la salida del perceptron para los valores de entrada. |
java.util.List<java.lang.Float> |
getPesos()
Recorre los pesos de las neuronas entrantes en orden de inserción -por ser pesos un LinkedHashMap- y devuelve una copia de los valores. |
java.lang.String |
getPesosString()
Convierte la salida de getPesos() en un String donde cada peso está separado por un espacio. |
private float |
nuevoPeso()
|
void |
retropropagar(float deltaPonderado,
INeurona origen)
Función de retropropagación. |
void |
setPesos(java.util.List<java.lang.Float> in)
Recorre los pesos de las neuronas entrantes en orden de inserción -por ser pesos un LinkedHashMap- y sustituye los pesos por una copia de los pasados como parametro. |
void |
setPesos(java.lang.String s)
Envoltorio de void setPesos(List |
java.lang.String |
toString()
Redefinicion de toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private java.util.HashMap<INeurona,java.lang.Float> entrantes
INeurona
, V=Float
con las neuronas entrantes y los valores dados por estas.
private java.util.Map<INeurona,java.lang.Float> salientes
INeurona
, V=Float
con las neuronas salientes y los valores dados por esta para la retroprogramación.
private java.util.HashMap<INeurona,java.lang.Float> entrantesSinDatos
private java.util.HashMap<INeurona,java.lang.Float> salientesSinDatos
private int entrantesListas
private int salientesListas
private float pesoMinimo
private float pesoMaximo
private float fCorreccion
private float momento
private IFuncionCalculo funcion
private java.util.Map<INeurona,java.lang.Float> pesos
private float ultimaSalida
private java.util.Map<INeurona,java.lang.Float> ultimaEntrada
private java.util.Map<INeurona,java.lang.Float> diferencialesAnteriores
Constructor Detail |
---|
public Perceptron(float fCorreccion, float momento, float pesoMin, float pesoMax, IFuncionCalculo funcion)
Method Detail |
---|
private float nuevoPeso()
public void calcular(float in, INeurona origen)
calcular
in interface INeurona
public void retropropagar(float deltaPonderado, INeurona origen)
retropropagar
in interface INeurona
public void addElementoEntrante(INeurona entrante)
addElementoEntrante
in interface INeurona
public void addElementoSaliente(INeurona saliente)
addElementoSaliente
in interface INeurona
public java.lang.String toString()
toString
in class java.lang.Object
public java.util.List<java.lang.Float> getPesos()
public void setPesos(java.util.List<java.lang.Float> in)
public java.lang.String getPesosString()
public void setPesos(java.lang.String s)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |