jueves, 25 de octubre de 2007

Practica 1 de Neuronales

Acabada la practica 1:

Repetir el entrenamiento hecho el primer día de clase para:

x1 x2 so
0 0 1
1 1 0

con una delta = 0.2


Para la realización de la practica 1 utilizaba las variables globales:
const int x0 = 0;
const int x1 = 1;
const int x2 = 2;
const int s0 = 3;
const int w0 = 4;
const int w1 = 5;
const int w2 = 6;
const int P = 7;
const int Y = 8;
const int D = 9;

const float variacion = 0.2;
const int n = 150;

float valores[n][10];
float variaciones[n][3];
int finIteraciones = n;

Lo cual hacia bastante incomodo ampliar el numero de entradas en cada patrón...



Esa es la salida que generaba en la primera versión de la practica... una vez dado el guión de la 2ª practica decidí rediseñar el codigo de la practica 1... quedando asi:

// maximo numero de patrones de entrenamiento
#define maxpat 1000
// maximo numero de entradas
#define maxent 20
// error maximo permitido
#define epsilon 0.001
// numero maximo de ciclos de entrenamiento permitidos
#define maxciclos 10000
// constante de aprendizaje
#define delta 0.25


const int ment = maxent;
const int mpat = maxpat;

const float variacion = 0.2;

float x[mpat][ment];
float s[mpat];
float w[mpat][ment];
float p[mpat];
float y[mpat];
float d[mpat];

float variaciones[mpat][ment];


de esta forma saldria esta salida (decidí en esta ocasión dejar las variaciones del problema)



sin variaciones sería asi: que es como se tiene que entregar...



Aunque la salida sea la misma, lo que es normal, ya que el problema es el mismo... el código ha sido remodelado entero para que sirva para todas las entradas que queramos (siempre que sea menor que "maxent", en este caso 20).

No hay comentarios: