• No se han encontrado resultados

aplicaciones de redes neuronales en MATLAB

N/A
N/A
Protected

Academic year: 2021

Share "aplicaciones de redes neuronales en MATLAB"

Copied!
11
0
0

Texto completo

(1)

Aplicaci´

on de Redes Neuronales en

MATLAB

Simulaci´

on de Procesos Industriales

Trabajo Pr´

actico # 5

Jos´

e Eduardo Laruta Espejo

Resumen

El presente trabajo trata acerca de las aplicaciones b´asicas de las redes neuronales, en espec´ıfico el perceptron, para aproximar funciones l´ogicas combinacionales, explorando las ventajas y limitaciones de una red de un perceptron simple y analizando aspectos acerca de la separa-bilidad lineal de los problemas. Tambien analizamos los algoritmos de aprendizaje de dichas redes y su rendimiento. Se implementan 3 fun-ciones l´ogicas combinacionales b´asicas en el software MATLAB con el fin de analizar los resultados del entrenamiento de dicha red.

1.

DESCRIPCI ´

ON DEL PROBLEMA

1.1.

Funciones l´

ogicas AND, OR y XOR

Se intenta implementar la funci´on AND en un perceptron simple con 2 entradas y una salida, siguiendo con la tabla de verdad propia de la funci´on mostrada en 1.1. x1 x2 x1 ∧ x2 0 0 0 0 1 0 1 0 0 1 1 1

(2)

Luego, tambi´en procederemos a implementar la funci´on OR inclusivo en nuestra red neuronal, cuya tabla de verdad se muestra a continuaci´on:

x1 x2 x1 ∨ x2 0 0 0 0 1 1 1 0 1 1 1 1

Cuadro 2: Tabla de verdad de la funci´on OR

Y por ´ultimo, tenemos que implementar o aproximar la funci´on OR- Ex-clusivo o XOR mediante una red neuronal, vemos su tabla de verdad:

x1 x2 x1 ⊕ x2 0 0 0 0 1 1 1 0 1 1 1 0

Cuadro 3: Tabla de verdad de la funci´on XOR

Para implementar esta funci´on utilizaremos un perceptron simple cuyo esquema y estructura se muestra a continuaci´on:

(3)

1.2.

Aprendizaje de la red

El aprendizaje de una red neuronal se manifiesta a trav´es del cambio y ajuste de los pesos sin´apticos de sus entradas y de su nivel de umbral. Iniciando con valores aleatorios, si no se conoce nada del sistema, para luego, mediante pruebas sucesivas con patrones de entrenamiento, se logre ajustar dichos pesos para obtener el comportamiento deseado [2].

Para el entrenamiento (ajuste de pesos) utilizamos en siguiente algoritmo: 1. Inicializaci´on. Asignar a los pesos w1, w2, w3, . . . , wn y el umbral θ

valores aleatorios en el rango [−0,5, 0,5].

2. Activaci´on. Activar el perceptron aplicando las entradas x1(p).x2(p) . . . , xn(p)

y la salida deseada Yd(p), calcular la salida en la iteraci´on p = 1:

Y (p) = step " n X i=1 xi(p)wi(p) − θ #

donde n es el n´umero de entradas al perceptr´on y step es una funci´on de activaci´on tipo escal´on.

3. Entrenamiento de ponderaciones Adaptar los pesos del perceptr´on: wi(p + 1) = wi(p) + ∆wi(p)

donde ∆wi(p) es la correcci´on del peso en la iteraci´on p. la correcci´on

se calcula mediante la regla “delta”:

∆wi(p) = α × xi(p) × e(p)

4. Iteraci´on. Incrementamos la iteraci´on p en 1 y volvemos al paso 2 y repetimos hasta que exista la convergencia.

2.

IMPLEMENTACI ´

ON EN MATLAB

Para la implementaci´on y simulaci´on de nuestras redes neuronales uti-lizaremos el toolbox de redes neuronales del software especializado MATLAB

(4)

2.1.

Funci´

on AND

En primer lugar ingresamos los patrones de entrada con 2 variables de entrada y su correspondiente salida en matrices y las visualizamos en una gr´afica:

P=[0 0 1 1 ; 0 1 0 1 ] ; T=[0 0 0 1 ] ;

p l o t p v (P , T)

Figura 2: Patrones de entrada y salidas deseadas Luego procedemos a crear la red neuronal del perceptron simple: n e t=newp ( [ 0 1 ; 0 1 ] , 1 ) ;

y luego simulamos la red para ver los pesos: a=sim ( net , P)

(5)

Despues de inicializar todas las herramientas procedemos a entrenar la red neuronal:

n e t=t r a i n ( net , P , T ) ;

p l o t p c ( n e t . IW{ 1 , 1 } , n e t . b { 1 } )

Figura 4: Gr´afica de entrenamiento

y simulamos su comprtamiento con los nuevos pesos que se ajustaron luego del entrenamiento:

a=sim ( net , P)

(6)

2.2.

Funci´

on OR

Como en el anterior caso, ingresamos los patrones de entrada con 2 vari-ables de entrada y su correspondiente salida en matrices y las visualizamos en una gr´afica:

P=[0 0 1 1 ; 0 1 0 1 ] ; T=[0 1 1 1 ] ;

p l o t p v (P , T)

Figura 6: Patrones de entrada y salidas deseadas Luego procedemos a crear la red neuronal del perceptron simple: n e t=newp ( [ 0 1 ; 0 1 ] , 1 ) ;

y luego simulamos la red para ver los pesos: a=sim ( net , P)

Despues de inicializar todas las herramientas procedemos a entrenar la red neuronal:

n e t=t r a i n ( net , P , T ) ;

(7)

Figura 7: Red sin entrenamiento

Figura 8: Gr´afica de entrenamiento

y simulamos su comprtamiento con los nuevos pesos que se ajustaron luego del entrenamiento:

a=sim ( net , P)

2.3.

Funci´

on XOR

Esta funci´on no se puede implementar por un perceptron simple dada la propiedad de la no separabilidad lineal, tal como vemos en el gr´afico de los patrones de entrada y salida:

Entonces procedemos a utilizar una red de perceptrones multicapa feed-forward:

P=[0 0 1 1 ; 0 1 0 1 ] ; T=[0 1 1 0 ] ;

(8)

Figura 9: Resultados, pesos y umbral

Figura 10: Funci´on XOR

p l o t p v (P , T)

n e t=n e w f f ( minmax (P ) , [ 2 , 1 ] , { ’ t a n s i g ’ , ’ p u r e l i n ’ } , ’ t r a i n g d ’ ) simulamos su comportamiento inicial:

luego definimos algunos par´ametros para el entrenamiento de la red: n e t . trainParam . show =50;

n e t . t r a i n p a r a m . l r = 0 . 0 5 ;

n e t . trainParam . e p o c h s =30000; n e t . trainParam . g o a l = 0 . 0 0 1 ;

(9)

Figura 11: Xomportamiento inicial de la red

finalmente entrenamos nuestra red dados los anteriores par´ametros.

(10)

Figura 13: Comportamiento final de la red

3.

CONCLUSIONES

Pudimos implementar y simular las redes neuronales gracias al software matlab mediante su toolbox de redes neuronales artificiales.

Observamos el fen´omeno de la separabilidad lineal con una funci´on XOR la cual no puede implementarse en una sola neurona. Para realizar esta tu-vimos que implementar una red multicapa con varias neuronas arrojando los resultados que se ven en la figuta(13).

(11)

Referencias

[1] G. Choque, “Redes Neuronales Artificiales, Aplicaciones en MATLAB” Centro de Publicaciones de la Facultad de Ciencias Puras y Naturales -UMSA

Referencias

Documento similar

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de

En este capítulo se consideran las redes neuronales como modelo para describir sistemas dinámicos y se introduce una clase particular, los módulos neuronales, con

por unidad de tiempo (throughput) en estado estacionario de las transiciones.. de una red de Petri

Tome el MacRm media libra de Manecca de puerca ,media Je Manmca de Bac media de A- yre Rolado ,media de Azeyre Violado, y re poMc'tn holla vi- driadaafuegommfo,paza que

Finalmente, usando la red neuronal recurrente de William y Zipser(1989) con el algoritmo RTRL se desarrolla un sistema de reconocimiento de hablante independiente de texto,

En este trabajo se emplea una de las técnicas no determinista de la inteligencia artificial, las redes neuronales artificiales, para definir el comportamiento de

Análisis histórico-lógico: Para conocer, con mayor profundidad, los antecedentes y las tendencias actuales referidas a las funciones de transferencia de modelos de

Figura 9: Influencia del ruido en la pérdida al variar el número de neuronas en la capa oculta Como se puede observar en la Fig.9, la versión sin ruido siempre tiene una pérdida menor