martes, 30 de octubre de 2007

Practica 2 de Neuronales

Iniciada la Practica 2 de Neuronales:

Debido a que la Practica 1 no estaba todabía en perfecto estado para cumplir todos los requerimientos de la practica 2, decidí arreglarla antes de ponerme con la practica 2...

Hasta ahora he hecho la parte de importar de un archivo, para lo cual me resulto muy util la página de Programación en C/C++ por Virgilio Gómez Negrete

jueves, 25 de octubre de 2007

Configurar Centauro

Centauro.aulario.uniovi.es
$chsh "USUARIO" 
te preguntará el shell que deseas por ejemplo, /bin/bash

y despues insertar el .profile para que te diga en que directorio estas...


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).

miércoles, 24 de octubre de 2007