Академический Документы
Профессиональный Документы
Культура Документы
ALGORITMO: -1) Inicializar pesos aleatoriamente y umbral -2) Presentar entradas y salidas deseadas -3) Calcular salida -4) Adaptar pesos a travs del error obtenido y la tasa de aprendizaje propagando hacia atrs y volver al paso 2 ALGORITMO (Detallado): 1.1 Para las capas ocultas y la de salida, cada neurona se activar si la funcin sigmoidea aplicada a la funcin sumatoria sobrepasa el valor fijado del umbral. La salida de cada neurona ser binaria (1 si se activa y 0 si no se activa) ( ( )) ( )
donde N son las entradas (de la capa anterior), W i,j el peso de la conexin (neurona i capa anterior neurona j capa actual), y X i corresponde al valor de la neurona i de la capa anterior (0 o 1). 1.2 A continuacin, si la salida de cada neurona no es la esperada, se aplica la regla delta de aprendizaje (calcular el error y el incremento para aplicar retropropagacin). Para cada salida (en la capa de salidas): ( )
Posteriormente ese incremento se propaga hacia atrs en la red hacia todas las conexiones activas (las que vienen de una neurona activada en 1) hasta llegar a la capa de entradas. Con esto, los pesos de la red se van modificando hasta que todos los patrones de entrada para el entrenamiento obtengan la respuesta esperada.
2. Por ltimo probar la red configurada con formas ligeramente distorsionadas para verificar si realmente la red con los pesos finales aprendi a reconocer los patrones de entrada bsicos (las tres figuras).
La condicin de activacin de la neurona 3 (salida) sera: ( ) La regla a aprender de la red ser AND (si X1 y X2 se activan, la neurona de salida 3 se activar).
X2 0 1 0 1
Para que el perceptrn aprenda, se utilizar una regla de aprendizaje derivada: 1. Si la salida generada por la neurona 3 es la correcta, no se realizan ajustes en los pesos sinpticos (Wi). 2. Si la salida es 1 pero debera ser 0, se reducen slo los pesos de las conexiones activas segn una constante C.
3. Si la salida es 0 pero debera ser 1, entonces se aumentan slo los pesos de las conexiones activas, segn la misma constante C. As comenzamos el entrenamiento partiendo de pesos sinpticos en 0 (W0=W1=W2=0), de una constante de refuerzo igual a 1 (C=1), y el bias siempre permanece activo (X0=1). Iteracin 1 Caso 1: (X1, X2) = (0,0) X0*W0 + X1*W1 + X2*W2 = 0 Salida = 0, Correcto (W0=0, W1=0, W2=0) Caso 2: (X1, X2) = (0,1) X0*W0 + X1*W1 + X2*W2 = 0 Salida = 0, Correcto (W0=0, W1=0, W2=0) Caso 3: (X1, X2) = (1,0) X0*W0 + X1*W1 + X2*W2 = 0 Salida = 0, Correcto (W0=0, W1=0, W2=0) Caso 4: (X1, X2) = (1,1) X0*W0 + X1*W1 + X2*W2 = 0 Salida = 0, Incorrecto (aumentar pesos de conexiones activas en un valor de C) W0=W0+C=1, W1=W1+C=1, W2=W2+C=1 Iteracin 2 Caso 1: (X1, X2) = (0,0) X0*W0 + X1*W1 + X2*W2 > 0 Salida = 1, Incorrecto (disminuir pesos de conexiones activas en un valor de C) W0 = W0 C = 0, W1=1, W2=1 Caso 2: (X1, X2) = (0,1) X0*W0 + X1*W1 + X2*W2 = 0 Salida = 0, Incorrecto (disminuir pesos de conexiones activas en un valor de C)
W0=W0C=-1, W1=1, W2=W2-C=0 Caso 3: (X1, X2) = (1,0) X0*W0 + X1*W1 + X2*W2 = 0 Salida = 0, Correcto (W0=-1, W1=1, W2=0) Caso 4: (X1, X2) = (1,1) X0*W0 + X1*W1 + X2*W2 = 0 Salida = 0, Incorrecto (aumentar pesos de conexiones activas en un valor de C) W0=W0+C=0, W1=W1+C=2, W2=W2+C=1 Iteracin 3 Caso 1: (X1, X2) = (0,0) X0*W0 + X1*W1 + X2*W2 = 0 Salida = 0, Correcto (W0=0, W1=2, W2=1) Caso 2: (X1, X2) = (0,1) X0*W0 + X1*W1 + X2*W2 > 0 Salida = 1, Incorrecto (disminuir pesos de conexiones activas en un valor de C) W0=W0C=-1, W1=2, W2=W2-C=0 Caso 3: (X1, X2) = (1,0) X0*W0 + X1*W1 + X2*W2 > 0 Salida = 1, Incorrecto (disminuir pesos de conexiones activas en un valor de C) W0=W0-C=-2, W1=W1-C=1, W2=0 Caso 4: (X1, X2) = (1,1) X0*W0 + X1*W1 + X2*W2 < 0 Salida = 0, Incorrecto (aumentar pesos de conexiones activas en un valor de C) W0=W0+C=-1, W1=W1+C=2, W2=W2+C=1
Iteracin 4
Caso 1: (X1, X2) = (0,0) X0*W0 + X1*W1 + X2*W2 < 0 Salida = 0, Correcto (W0=-1, W1=2, W2=1) Caso 2: (X1, X2) = (0,1) X0*W0 + X1*W1 + X2*W2 = 0 Salida = 0, Correcto (W0=-1, W1=2, W2=1) Caso 3: (X1, X2) = (1,0) X0*W0 + X1*W1 + X2*W2 > 0 Salida = 1, Incorrecto (disminuir pesos de conexiones activas en un valor de C) W0=W0-C=-2, W1=W1-C=1, W2=1 Caso 4: (X1, X2) = (1,1) X0*W0 + X1*W1 + X2*W2 = 0 Salida = 0, Incorrecto (aumentar pesos de conexiones activas en un valor de C) W0=W0+C=-1, W1=W1+C=2, W2=W2+C=2 Iteracin 5 Caso 1: (X1, X2) = (0,0) X0*W0 + X1*W1 + X2*W2 < 0 Salida = 0, Correcto (W0=-1, W1=2, W2=2) Caso 2: (X1, X2) = (0,1) X0*W0 + X1*W1 + X2*W2 > 0 Salida = 1, Incorrecto (disminuir pesos de conexiones activas en un valor de C) W0=W0C=-2, W1=2, W2=W2-C=1 Caso 3: (X1, X2) = (1,0) X0*W0 + X1*W1 + X2*W2 = 0 Salida = 0, Correcto (W0=-2, W1=2, W2=1) Caso 4: (X1, X2) = (1,1)
X0*W0 + X1*W1 + X2*W2 > 0 Salida = 1, Correcto (W0=-2, W1=2, W2=1) Despus de la iteracin 5, el perceptrn ha quedado entrenado para poder realizar la operacin AND. Los pesos finales quedaron: W0=-2, W1=2, W2=1, y a partir de ah, la red ya no se puede entrenar ms.
ANLISIS DE COMPLEJIDAD
A la red se le pasaron 12 patrones a clasificar para el entrenamiento (3 patrones de cuadrado, 5 patrones de lnea y 4 patrones de tringulo), y fueron necesarias aproximadamente 1000 iteraciones como mnimo para que la red haya podido aprender a reconocer las 3 formas. Debido a que el xito o fracaso de cada entrenamiento (el cual consta de 1000 iteraciones) depende de cmo hayan quedado inicializados los pesos de las conexiones (lo cual se hace aleatoriamente), se detect que hay un cierto patrn para saber cada cuantos entrenamientos tendr xito un cierto entrenamiento. En promedio cada 3988 entrenamientos tendr xito la inicializacin aleatoria de los pesos de las conexiones de la red de manera que con las 1000 iteraciones del entrenamiento podr aprender a clasificar correctamente las 3 clases de formas. Grfica de 26 corridas de aprendizaje satisfactorio. El eje y nos dice el nmero de cada cuantos entrenamientos la red aprendi.
25000
20000
15000
10000
5000
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Una vez que la red ha quedado satisfactoriamente entrenada, siempre requiere 290 ciclos a travs del algoritmo backpropagation para dar una respuesta, por lo que su orden una vez entrenado el perceptrn es O(1).
BIBLIOGRAFA
Gmez A. (1998). Inteligencia Artificial, Aprendizaje y Minera de Datos. Artculo electrnico obtenido el 28 de junio del 2010 de http://www.gsi.dit.upm.es/~anto/SLIDES/980610/ia_apr_kdd.pdf Artculo electrnico obtenido el 29 de junio del 2010 de http://revistas.concytec.gob.pe/scielo.php?script=sci_arttext&pid=S181099932005000100010&lng=es&nrm=iso
Artculo electrnico obtenido el 29 de junio del 2010 de http://es.wikipedia.org/wiki/Reconocimiento_de_patrones Artculo electrnico obtenido el 23 de junio del 2010 de http://electronica.com.mx/neural/informacion/perceptron.html Artculo electrnico obtenido el 25 de junio del 2010 de http://perso.wanadoo.es/alimanya/modelo.htm Artculo electrnico obtenido el 23 de junio del 2010 de http://oscar-sandoval.blogspot.com/2009/10/implementacion-de-una-red-neuronal.html