32 #ifndef __PDSNEURONML_H__ 33 #define __PDSNEURONML_H__ 41 #include <pds/pdsnnglobal.h> 42 #include <pds/pdssn.h> 43 #include <pds/pdsnivector.h> 44 #include <pds/pdsnvector.h> int pds_neuronml_enable_printf(PdsNeuronML *NeuronML)
Habilita la muestra en pantalla del avance del aprendizaje.
PdsNnBool pds_neuronml_iterate_results_printf(const PdsNeuronML *MLayer, const char *Type)
Muestra los resultados de la iteración de la red neuronal multicapa NeuronML.
int pds_neuronml_set_max_error(PdsNeuronML *NeuronML, PdsNnReal MaxError)
Coloca el maximo margen error RMS aceptado en la salida de la estructura PdsNeuronML.
int pds_neuronml_get_output(const PdsNeuronML *NeuronML, PdsVector *Y)
Devuelve la salida Y de la red neuronal.
int pds_neuronml_init_weight_uniform(PdsNeuronML *NeuronML, PdsUniform *RV)
Inicializa todos los pesos usando una variable aleatoria uniforme.
PdsNeuronML * pds_neuronml_new_from_array(const PdsNnNatural *L, PdsNnNatural Nel)
Crea una estructura de tipo PdsNeuronML.
PdsNeuronML * pds_neuronml_new(const PdsVector *L)
Crea una estructura de tipo PdsNeuronML.
int pds_neuronml_set_alpha(PdsNeuronML *NeuronML, PdsNnReal Alpha)
Coloca el valor del factor de aprendizaje Alpha.
La estructura tipo PdsNeuronML . Esta estructura genera una red neuronal multi capa. Para usar incluir pds/pdsnn.h.
void pds_neuronml_free(PdsNeuronML *NeuronML)
Libera una neurona de tipo puntero PdsNeuronML.
int pds_neuronml_get_number_iterations(const PdsNeuronML *NeuronML, PdsNnNatural *Iter)
Devuelve el número de iteraciones del último entrenamiento hecho con la función pds_neuronml_training...
int pds_neuronml_body_fscanf(PdsNeuronML *NeuronML, FILE *fd)
Lee de un archivo de texto los pesos W[i], el valor de U. Ocupando una linea cada uno...
int pds_neuronml_get_minimum_output(PdsNeuronML *NeuronML, PdsNnReal *Min)
Retorna o valor maximo de las neuronas de salida.
int pds_neuronml_get_output_rms_error(const PdsNeuronML *NeuronML, PdsNnReal *RmsError)
Evalúa el error cuadrático medio de todos los errores Y[1] de las neuronas de salida de la red neuron...
PdsNeuronML * pds_neuronml_new_head_fscanf(FILE *fd)
Lee los datos de cabecera de una red neuronal desde un archivo.
int pds_neuronml_init_weight_rand(PdsNeuronML *NeuronML, PdsSnReal min, PdsSnReal max)
Inicializa todos los pesos entre los valores min y max, usando internamente la funcion rand...
int pds_neuronml_head_fprintf(const PdsNeuronML *NeuronML, FILE *fd)
Escribe los datos de cabecera de la red neuronal. En una linea separando los elementos por un TAB...
int pds_neuronml_set_max_iterations(PdsNeuronML *NeuronML, PdsNnNatural MaxIter)
Coloca el máximo numero de iteraciones aceptado, cualquier valor mayor provoca que se detenga el algo...
unsigned int PdsNnNatural
int pds_neuronml_get_maximum_output(PdsNeuronML *NeuronML, PdsNnReal *Max)
Retorna o valor maximo de las neuronas de salida.
int pds_neuronml_body_fwrite(const PdsNeuronML *NeuronML, FILE *fd)
Guarda en un archivo binario los pesos W[i], el valor de U. (neurona por neurona) ...
int pds_neuronml_iterate(PdsNeuronML *NeuronML, const PdsVector *Input, PdsVector *Output)
Itera la red neuronal multicapa NeuronML. .
int pds_neuronml_get_number_of_output_neurons(PdsNeuronML *NeuronML, PdsNnNatural *Number)
Retorna o numero de neuronas de salida.
void pds_neuronml_destroy(PdsNeuronML **NeuronML)
Libera una neurona de tipo puntero PdsNeuronML, y limpia el puntero con NULL.
int pds_neuronml_head_printf(const PdsNeuronML *NeuronML)
Mostra em pantalla los datos de cabecera de la red neuronal multicapa.
int pds_neuronml_get_number_of_input_neurons(PdsNeuronML *NeuronML, PdsNnNatural *Number)
Retorna o numero de neuronas de entrada.
int pds_neuronml_save_data(const PdsNeuronML *NeuronML, const char *mlayer_filename)
Salva una estructura de tipo PdsNeuronML en un archivo de texto.
PdsNeuronML * pds_neuronml_new_load_data(const char *mlayer_filename)
Crea una estructura de tipo PdsNeuronML e inicia todos los elementos. desde un archivo de texto...
int pds_neuronml_body_fprintf(const PdsNeuronML *NeuronML, FILE *fd)
Guarda en un archivo de texto los pesos W[i], el valor de U. Ocupando una linea cada uno...
int pds_neuronml_get_output_soft_vote(const PdsNeuronML *NeuronML, PdsNnReal *Vote)
Evalúa una votación con desición suave de los valores de salida de la red neuronal multicapa...
La estructura tipo PdsNVector . Esta estructura genera un arreglo de neuronas. Para usar incluir pds/...
int pds_neuronml_training(PdsNeuronML *NeuronML, const PdsVector *Input, PdsVector *Output)
Entrena la red neuronal multicapa NeuronML. Usa el valor de Output como entrenamiento, para finalizar carga el nuevo valor de salida en Output.
int pds_neuronml_init_u_rand(PdsNeuronML *NeuronML, PdsSnReal min, PdsSnReal max)
Inicializa todos los umbrales U de forma aleatoria entre min y max.
int pds_neuronml_init_u_uniform(PdsNeuronML *NeuronML, PdsUniform *RV)
Inicializa todos los umbrales U usando una variable aleatoria uniforme.
PdsNnNatural pds_neuronml_training_results_printf(PdsNeuronML *MLayer, const char *Type)
Muestra los resultados del entrenamiento de la red neuronal multicapa NeuronML.
int pds_neuronml_body_fread(PdsNeuronML *NeuronML, FILE *fd)
Lee de un archivo binario los pesos W[i], el valor de U. (neurona por neurona)