Redes neuronales

Páginas: 6 (1365 palabras) Publicado: 25 de julio de 2010
INTELIGENCIA ARTIFICIAL PRÁCTICA REDES NEURONALES – SEPTIEMBRE Creación de la red. El objetivo de la práctica es comprender cómo funciona una red neuronal, trabajando con un ejemplo de clasificación de muestras. Puedes utilizar cualquier lenguaje de programación (se ha de entregar el ejecutable y el fuente). El conjunto de datos lo tienes en el fichero “datos.xls”1. Divide el conjunto de muestrasen tres subconjuntos, seleccionándolo aleatoriamente con la siguiente proporción: Conjunto para entrenar: 30% Conjunto para validar: 30% Conjunto para testear la red: 40% En la siguiente figura, se muestra una red neuronal de dos entradas (x1 y x2), tres neuronas en la capa oculta y una neurona de salida.

b1 w11 X1 y1 v1 v2 v3 y3 bsal ysal

b2 w12 w21 y2 w22 b3

X2

w31 w32

Los pesosw, v y b se inicializan con un valor aleatorio entre -0.5 y 0.5. La salida de cada neurona viene representada por la función de activación de la suma de sus entradas (x) por sus pesos (w). El sesgo (b=bias), se comporta como otro peso más donde su entrada x es siempre 1. Esto quiere decir que para una entrada x1 y x2, la salida que obtendremos de la red neuronal será la siguiente:
1

Puedespasar los datos al formato que te sea más cómodo para trabajar.

1

y1=f (w11*x1 + w12*x2 + b1*1) y2=f (w21*x1 + w22*x2 + b2*1) y3=f (w31*x1 + w32*x2 + b3*1)
donde f es una función sigmoide que utilizaremos como función de activación de la neurona f(valor)= 1 / (1+e-valor) Si representamos gráficamente esta función sigmoide, tiene la siguiente forma:

Se puede observar que la función nos va adevolver siempre un valor entre 0 y 1 (que es la salida de la neurona). De esta forma, cada neurona de la capa oculta produce una salida con un valor entre 0 y 1 que se multiplicarán por los pesos (v) de la neurona de salida y se evaluará con la función de activación de esa neurona. Por lo que la salida obtenida por la red es: ysal=f(y1*v1+y2*v2+y3*v3+bsal*1) Cada muestra está asociada a unaclase (0 ó 1). La salida de la red neuronal para una determinada muestra es un valor comprendido entre 0 y 1, por lo que el criterio para decir a que clase pertenece es: Si el valor obtenido es < 0.5 pertenece a la clase 0, en caso contrario es de la clase 1. Por lo que podemos comparar el valor obtenido con el deseado y así calcular el porcentaje de acierto (en el estado inicial de la red):Probabilidad de acierto = (aciertos / número de muestras) * 100

La práctica ha de permitir elegir el número de neuronas en la capa oculta, variando en un rango desde 2 hasta 8.

2

Aprendizaje de la red.

Algoritmo de propagación hacia atrás (back-propagation). El algoritmo es el siguiente: Inicializamos los pesos (w, v y b) con valores aleatorios entre -0.5 y 0.5 Inicializamos η = 0.25, estevalor es el factor de aprendizaje. Hasta condición de salir:

Para cada muestra del conjunto de entrenamiento hacer: Introducimos en nuestra red una muestra y obtenemos la salida de la red (esto es lo que hemos hecho en la práctica 1). Calculamos el error como la diferencia entre lo deseado (t) y el obtenido (ysal). error = t – ysal Modificación de los pesos: Aquí se propaga el error hacia atrásmodificando los valores de v, w y b de la siguiente manera: Modificamos v: δv=ysal * (1 - ysal) * error δv1=η * δv * y1 δv2=η * δv * y2 δv2=η * δv * y3 Una vez calculadas las modificaciones, v1 es lo que valía antes + la modificación de v1 (nota: que puede ser positiva o negativa). Igual para v2 y v3. v1=v1+δv1 v2=v2+δv2 v3=v3+δv3 bsal es igual que un peso “v” pero con la diferencia que su entradaes 1 en vez de “y”, por lo tanto: δbsal=η * δv * 1 bsal = bsal +δbsal

3

Modificamos w: Para w, el procedimiento es similar al de v. δw1=y1 * (1 – y1) * v1 * δv δw11=η * δw1 * x1 w11=w11 + δw11 Igual para w12, w13, etc Para las b se calculan igual que las w pero en vez de tener la entrada x tienen la entrada a 1 (similar a como se ha hecho bsal).

Para la condición de salida tenemos las...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Redes Neuronales
  • Red Neuronal
  • Redes neuronales
  • Redes Neuronales
  • Redes Neuronales
  • Redes Neuronales
  • Redes Neuronales
  • redes neuronales

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS