You are on page 1of 10

Tarea 4 - Identificaci´ on de Sistemas Din´ amicos con Redes Neuronales con Funciones de Base Radial

V´ ıctor M. Arellano Quintana
CINVESTAV - Zacatenco Dpto. de Control Autom´ atico E-mail: varellano@ctrl.cinvestav.mx M´ exico D.F., 2013

Resumen En el presente trabajo se muestra el dise˜ no e implementaci´ on de una red neuronal con funciones de base radial, utilizando la funci´ on Gaussiana como funci´ on de activaci´ on en la capa oculta y una funci´ on lineal continua en la neurona de salida, y con adaptaci´ on de lo centros de las funciones, se lograron resultados satisfactorios, sin embargo, este tipo de red se desempe˜ na de una mejor manera realizando adaptaci´ on de pesos y centros en linea.

1.

Introducci´ on

Las redes neuronales artificiales o simplemente redes neuronales, constituyen una de las a ´reas de la inteligencia artificial que ha despertado mayor inter´ es en los u ´ltimos a˜ nos y constituyen una herramienta sumamente general para abordar una amplia clase de problemas de identificaci´ on de sistemas din´ amicos. [1] En el contexto de red neuronal las neuronas de la capa oculta provee un conjunto de funciones que constituyen una base arbitraria para los patrones de entrada de donde son expandidos a al espacio oculto, estas funciones son llamadas, funciones de base radial. [2]

2.

Desarrollo

Se requiere realizar la identificaci´ on de un sistema no-lineal utilizando una red neuronal con funciones de base radial, de igual forma se desea obtener la generalizaci´ on con el fin de comprobar su desempe˜ no a una entrada diferente.

Señal de Entrada Planta desconocida

Señal de Salida

Red Neuronal (Perceptron)

Algoritmo de aprendizaje

Figura 1: Modelo b´ asico

1

el ancho es un valor constante para cada una de las funciones radiales consideradas en la capa oculta. a este modelo se le llama “modelo b´ asico de identificaci´ on” o “modelo serie-paralelo”. La capa oculta est´ a completamente interconectada entre todos sus nodos con la capa de entrada y activada a trav´ es de la funci´ on radial (Gaussiana). σ : Ancho de la funci´ on Gaussiana. 2. Se propone la red neuronal mostrada en la figura 2. Existe un centro para cada funci´ on radial involucrada en la capa oculta. se utiliz´ o el algoritmo “LMS”. la cual tiene las siguientes caracteriticas: Los nodos ocultos contienen una funci´ on base radial. este modelo es el que se utilizar´ a para identificar la planta. La capa de salida. Para la capa de salida. Entradas u(n-2) bias y(n-1) y(n-2) Salida y_e(n)Función Lineal Continua Capa Oculta. como ya se mencion´ o su funci´ on de activaci´ on es una funci´ on lineal continua. la cual tiene como par´ ametros un centro y un ancho. 1.En la figura 1. 2.1. se muestra el diagrama a bloques que se implementar´ a para lograr la identificaci´ on del sistema. por lo que la actualizaci´ on de los pesos queda definida por la siguiente ecuaci´ on: w ˆi (n + 1) = w ˆi (n) + ηp e(n)xi (3) 2 . Por otro lado. La capa de entrada que sirve para los ejemplos o patrones de entrenamiento y generalizaci´ on. 3 (1) ye = j =1 wj G(·) + w0 b (2) Para el entrenamiento de los pesos sin´ apticos. y est´ a definida por la siguiente ecuaci´ on: 3 ||xi − cij ||2 2σ 2 i = j = 1 . 3. tambi´ en completamente interconectada a la capa oculta y activada a trav´ es de una funci´ on lineal continua. cij : Vector de centros de cada funci´ on. 2.Funciones Gaussianas Figura 2: Topolog´ ıa propuesta La funci´ on Gaussiana G(·) utilizada se define de la siguiente forma: Gi (·) = exp − donde: xi : Vector de entrada. Funcionamiento de las Funciones de Base Radial Una funci´ on de base radial est´ a conformada de tres capas.

3 y posteriormente tiene un comportamiento decreciente.001 y σ = 1. Resultados Se utiliz´ o un periodo de muestreo de T = 0.95 10 x 10 4 Figura 3: Salida Real y Salida Estimada por la Red Neuronal n E (n) = 1 n (y (n) − y ˆ(n))2 i=1 (6) El EMC comienza con un pico de 0.3 + h(n) La planta no-lineal est´ a dada por la ecuaci´ on en diferencias (5). La actualizaci´ on de los centros queda definida por la siguiente ecuaci´ on: cij (n + 1) = cij (n) + ηc e(n)Gi (·)(xi − cij ) donde: ηc : Coeficiente de aprendizaje para adaptaci´ on de centros e(n) : Error entre la salida estimada y la salida real en el instante n. el error medio cuadr´ atico (EMC). se muestran las ultimas 30mil iteraciones.8 sin 2 2 h(n) u(n) = = En la siguiente secci´ on se muestran los resultados. en este caso G(·). 3 .5u(n − 1) + 0.001 y ηc = 0.5 9.5 0 −0.2.3y (n − 2) + 0. definido por (6) se muestra en la figura 4.9 9. (4) 2. En la figura 3. Identificacion Sistema No−Lineal (Aprendizaje) 1 Salida Real Salida Estimada 0.8 9.5 con estos par´ ametros se obtuvieron los siguientes resultados. Planta No-Lineal y (n) = −0. (5) donde: 0.75 9. la salida estimada se sobrepone a la salida real. el coeficiente de aprendizaje ηp = 0.2y (n − 1) − 0.7 9.5 sin 2nπ + 0. xi : Vector de entrada.3 sin 3nπ nπ + 0.donde: ηp : Coeficiente de aprendizaje para pesos sin´ apticos e(n) : Error entre la salida estimada y la salida real en el instante n.85 Iteraciones 9. en este caso G(·).01s.15 1 + y 2 (n − 1) − y 2 (n − 2) 0. xi : Vector de entrada. 3.

8 0.6 0. los valores a los cuales convergieron los pesos sin´ apticos se presentan en la tabla 1.3 Error Medio Cuadrático (Aprendizaje) 0.0.4672 j=2 0.15 0.2 0 −0.3957 1.4 0. w0 -0.2316 1. y en la figura 5 se muestra la evoluci´ on de los pesos sin´ apticos.2189 Tabla 1: Pesos sin´ apticos obtenidos Pesos Sinápticos 1 0.1754 w1 0.5168 1.2 −0.2 0.4062 j=3 1.3154 w3 0.4711 Tabla 2: Centros de las funciones Gaussianas 4 . cij i=1 i=2 i=3 j=1 1.6 −0. y en la figura 6 se muestra la evoluci´ on de los centros.05 0 0 1 2 3 4 5 Iteraciones 6 7 8 9 10 x 10 4 Figura 4: Error medio cuadr´ atico Por otro lado.3359 0.3400 0.4 −0.3739 1.25 0.8 −1 w0 w1 w2 w3 0 1 2 3 4 5 Iteraciones 6 7 8 9 10 x 10 4 Figura 5: Evoluci´ on de los pesos sin´ apticos De la misma manera.3895 w2 0.1 0. los valores a los cuales convergieron los centros se presentan en la tabla 2.

en la figura 7 se muestra el seguimiento de la salida de la planta.5 0 500 1000 1500 2000 2500 Iteraciones 3000 3500 4000 4500 5000 Figura 7: Salida Real vs Salida Estimada (Generalizaci´ on) En la figura 8.5 sin Identificacion Sistema No−Lineal (Generalización) 1 Salida Real Salida Estimada 0.4 0.8 0.1. asi como tambien el vector de centros de cada funcion con los valores mostrados en la tabla 2.2 0 0 1 2 3 4 5 Iteraciones 6 7 8 9 10 x 10 4 Figura 6: Evoluci´ on de los centros de las funciones Gaussianas 3. 5 4. y se ejecut´ o la simulaci´ on con la se˜ nal de entrada u∗ expresada por la ecuaci´ on 7 con el fin de evaluar su desempe˜ no. se ve la evoluci´ on del EMC. u∗ = 0.6 0.2 1 0.5 4 3.1.5 0 −0. Generalizaci´ on Para la generalizaci´ on se fijaron los pesos mostrados en la tabla 1.35 sin nπ + 0.4 1.5 3 2.5 0 x 10 −3 Error Medio Cuadrático (Generalización) 0 500 1000 1500 2000 2500 Iteraciones 3000 3500 4000 4500 5000 Figura 8: Error cuadr´ atico medio (Generalizaci´ on) 5 .6 c11 c12 c13 c21 c22 c23 c31 c32 c33 1.5 2 1.5 sin 2nπ + 0. el cual presenta oscilaciones en la etapa inicial y despu´ es se suaviza.5 1 0. nπ (7) 4 Utilizando la entrada u∗ se obtuvieron los siguientes resultados.0.

IEEE Transactions on Neuronal Networks [2] Haykin.A Comprehensive Foundation”. sin embargo. Kumpati et al. Prentice Hall International 6 . S. la convergencia fue lenta debido a los coeficientes de aprendizaje utilizados. esto se explica ya que se est´ an adaptando tanto los centros como los pesos sin´ apticos las mismo tiempo. (1990) “Identification and Control of Dynamical Systems using Neural Networks”. de haber sido valores mas grandes se presentan demasiadas oscilaciones. Referencias [1] Narendra.4. en la fase de generalizaci´ on se tuvieron resultados no tan satisfactorios como los presentados utilizando otros algoritmos. (1999) “Neural Networks . Conclusiones Del trabajo anterior se puede concluir que la utilizaci´ on de una red con funciones de base radial tiene resultados satisfactorios en cuanto a la identificaci´ on de la salida de la planta desconocida.

5. f =0. 1 ) ) ˆ2+(y ( k+1)−c2 ( k . 3 ) ) ˆ 2 ) / ( 2 * d * d ) ) . % P e r i o d o de muestreo % % Condiciones i n i c i a l e s y ( 1 ) =0. 5 9 8 5 ] . 0. c =0. 2 ) ) ˆ2+(y ( k )−c1 ( k . w3 ( 1 )=w( 4 ) . u ( 1 ) =0. N3( k )=exp ( − (( u ( k )−c3 ( k .Anexo A .C´ odigo en Matlab Identificaci´ on con funciones de base radial 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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 % Programa para i d e n t i f i c a c i o n de un p l a n t a no− l i n e a l u t i l i z a n d o f u n c i o n e s % de b a s e r a d i a l con a d a p t a c i o n de c e n t r o s . b=0.1615. w0 ( 1 )=w( 1 ) . w1 ( 1 )=w( 2 ) .001. 3 ) ) ˆ 2 ) / ( 2 * d * d ) ) . % C o e f i c i e n t e de a p r e n d i z a j e para a d a p t a c i o n de p e s o s etac =0. 0 3 3 6 0 .3 * s i n ( ( 3 * p i * ( k+2) *T) / 2 ) +0. % Va lor de b i a s etap =0.15 * (1+ y ( k+1)ˆ2− y ( k ) ˆ 2 ) .001.3. u ( 2 ) =0. 0. 4 2 5 3 . % Calculo del error 43 44 45 46 47 48 49 50 51 52 53 54 55 7 . 4 2 2 9 0 .3. % Centros i n i c i a l e s c1 = [ 0 .5 * ( s i n ( 2 * ( k+2) * p i *T) +0. 0 6 8 8 ] .1788]. 6 9 5 9 0 . % C o e f i c i e n t e de a p r e n d i z a j e para a d a p t a c i o n de c e n t r o s d=1. y ( 2 ) =0. 6 9 9 9 ] . 3 ) ) ˆ 2 ) / ( 2 * d * d ) ) . 0. % S a l i d a de r e d n e u r o n a l y n ( k )=w0 ( k ) * b i+w1 ( k ) * N1( k )+w2 ( k ) * N2( k )+w3 ( k ) * N3( k ) . 0 1 . N1( k )=exp ( − (( u ( k )−c1 ( k . % Ancho de l a f u n c i o n Gaussiana % % Entrenamiento de l o s c e n t r o s f o r k =1:200000 % Numero de i t e r a c i o n e s % Entrada u ( k+2) =0. 2 ) ) ˆ2+(y ( k )−c3 ( k . c3 = [ 0 . 4 7 0 9 0 . T= 0 .5. 6 3 8 5 0 .8 * s i n ( ( ( k+2) * p i *T) / 2 ) ). % Pesos i n i c i a l e s w= [ 0 . N2( k )=exp ( − (( u ( k )−c2 ( k . 0 9 4 2 0 .3127. y ( k+2)=−a * y ( ( k+1) )−b * y ( k )+c * u ( ( k+1) )+f+h ( k ) . w2 ( 1 )=w( 3 ) . % S a l i d a de l a p l a n t a h ( k ) =0. c2 = [ 0 . 2 ) ) ˆ2+(y ( k )−c2 ( k .2. 1 ) ) ˆ2+(y ( k+1)−c1 ( k . 1 ) ) ˆ2+(y ( k+1)−c3 ( k . % % Inicializacion clc % Limpiar todo clear all clf % D e c l a r a c i o n de v a r i a b l e s a =0. b i =1.

’m ’ . p l o t ( c1 ( : . ’ k ’ . 2 ) ) . ’ c12 ’ . 3 )+e t a c * e ( k ) * exp ( − (( y ( k )−c3 ( k . ’ LineWidth ’ . 3 )+e t a c * e ( k ) * exp ( − (( y ( k )−c2 ( k . 3 ] ) l e g e n d ( ’ E r r o r Medio C u a d r a ´ t i c o ( A p r e n d i z a j e ) ’ .1)=c1 ( k . c3 ( k +1 . ’ c32 ’ . 1 ) ) . 3 ) . 2 ) % G r a f i c a de EMC p l o t ( c2 ( : . 1 ) ) ˆ 2 ) / ( 2 * d * d ) ) * ( u ( k )−c1 ( k . % Entrenamiento de l a neurona de s a l i d a w0 ( k+1)=w0 ( k )+e t a p * e ( k ) * b i . ’ NorthEast ’ ) XLABEL( ’ I t e r a c i o n e s ’ ) % % Grafica centros figure [ f i l a s . c2 ( k +1 . 2 )+e t a c * e ( k ) * exp ( − (( y ( k )−c1 ( k . 2 ) ) ˆ 2 ) / ( 2 * d * d ) ) * ( y ( k )−c2 ( k . ’ L o c a t i o n ’ . ’ b ’ . columnas ]= s i z e ( y ) . 2 ) ) ˆ 2 ) / ( 2 * d * d ) ) * ( y ( k )−c3 ( k . 2 ) % G r a f i c a de EMC g r i d on a x i s ( [ 0 l e n g t h ( y ) −2 0 0 . 3 ) . w3 ( k+1)=w3 ( k )+e t a p * e ( k ) * N3( k ) . 1 ) ) . ’ L o c a t i o n ’ . c3 ( k +1 . * e . 3 ) ) ˆ 2 ) / ( 2 * d * d ) ) * ( y ( k )−c3 ( k . 2 ) % G r a f i c a de EMC p l o t ( c2 ( : . 2 )+e t a c * e ( k ) * exp ( − (( y ( k )−c3 ( k . ’ LineWidth ’ . c2 ( k +1 . 3 )+e t a c * e ( k ) * exp ( − (( y ( k )−c1 ( k . 2 ) % G r a f i c a de EMC p l o t ( c2 ( : . ’ LineWidth ’ . p l o t ( y . 2 ) % G r a f i c a de EMC l e g e n d ( ’ c11 ’ . c1 ( k +1 . end t = 1 : 1 : l e n g t h ( y ) − 2. ’ c31 ’ . ’ r ’ . ’ LineWidth ’ . 1 ) ) ˆ 2 ) / ( 2 * d * d ) ) * ( u ( k )−c3 ( k .2)=c1 ( k . ’ LineWidth ’ . columnas ]= s i z e ( y ) . 1 ) ) . 108 109 110 111 112 113 114 8 .3)=c1 ( k .1)=c3 ( k . ’ k ’ .2)=c2 ( k . ’ g ’ .3)=c2 ( k . 2 ) % G r a f i c a de EMC p l o t ( c3 ( : . 6 ] ) XLABEL( ’ I t e r a c i o n e s ’ ) g r i d on % % Grafica Salidas figure [ f i l a s . ’ c21 ’ . c3 ( k +1 . 1 )+e t a c * e ( k ) * exp ( − (( u ( k )−c3 ( k . e r c ( j +1) =(1/( j +1) ) * e r ( j +1) . 2 ) . 2 ) . 3 ) ) . e r c . ’ c23 ’ . 2 ) . ’ LineWidth ’ . ’ LineWidth ’ . 2 ) % G r a f i c a de EMC h o l d on p l o t ( c1 ( : . ’ b ’ . 3 ) . w2 ( k+1)=w2 ( k )+e t a p * e ( k ) * N2( k ) . end % % C a l c u l o de EMC de a p r e n d i z a j e emc=e .1)=c2 ( k . 2 ) % G r a f i c a de EMC p l o t ( c3 ( : . 1 ) ) ˆ 2 ) / ( 2 * d * d ) ) * ( u ( k )−c2 ( k . e r ( 1 )=emc ( 1 ) . 3 ) ) ˆ 2 ) / ( 2 * d * d ) ) * ( y ( k )−c1 ( k . w1 ( k+1)=w1 ( k )+e t a p * e ( k ) * N1( k ) . ’ b ’ . 2 ) ) . ’ g ’ . 3 ) ) ˆ 2 ) / ( 2 * d * d ) ) * ( y ( k )−c2 ( k . c2 ( k +1 . ’ LineWidth ’ . ’ LineWidth ’ . 2 ) ) . c1 ( k +1 . 1 ) . ’ k ’ . e r c ( 1 )=e r ( 1 ) . 1 ) . 2 ) % G r a f i c a de EMC p l o t ( c1 ( : . ’ c22 ’ . ’ c33 ’ .56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 e ( k )=y ( k+2)− y n ( k ) .3)=c3 ( k . 1 ) . ’ c13 ’ . ’ LineWidth ’ . 2 )+e t a c * e ( k ) * exp ( − (( y ( k )−c2 ( k . 1 )+e t a c * e ( k ) * exp ( − (( u ( k )−c2 ( k . 3 ) ) . 3 ) ) . figure p l o t ( t . 1 )+e t a c * e ( k ) * exp ( − (( u ( k )−c1 ( k . ’ r ’ . ’ NorthEast ’ ) a x i s ( [ 0 columnas 0 1 . 2 ) % G r a f i c a de EMC p l o t ( c3 ( : . % Entrenamiento de l o s c e n t r o s c1 ( k +1 . 2 ) . f o r j = 1 : 1 : l e n g t h ( y ) −3 e r ( j +1)=e r ( j )+emc ( j +1) .2)=c3 ( k . 2 ) ) ˆ 2 ) / ( 2 * d * d ) ) * ( y ( k )−c1 ( k . ’ LineWidth ’ .

’ L o c a t i o n ’ . end % % Grafica Salidas figure [ f i l a s .5 * ( s i n ( 2 * ( k+1) * p i *T) +0. ’ NorthEast ’ ) 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 9 . ’ LineWidth ’ . ’ g ’ . ’ r −− ’ . ’ w1 ’ . ’ LineWidth ’ . 3 ) ) ˆ 2 ) / ( 2 * d * d )). ’ NorthEast ’ ) TITLE( ’ P e s o s S i n a ´pticos ’ ) XLABEL( ’ I t e r a c i o n e s ’ ) % % Generalizacion yg ( 1 ) =0. ’ NorthEast ’ ) TITLE( ’ I d e n t i f i c a c i o n S i s t e m a No− L i n e a l ( A p r e n d i z a j e ) ’ ) XLABEL( ’ I t e r a c i o n e s ’ ) hold o f f % % G r a f i c a Pes os figure [ f i l a s . 2 ) .15 * (1+ yg ( k+1)ˆ2− yg ( k ) ˆ 2 ) . ’ k ’ . 1 ) ) ˆ2+(y ( k+1)−c1 ( end . 3 ) ) ˆ 2 ) / ( 2 * d * d )). ’ w3 ’ . ug ( 1 ) =0. ’ L o c a t i o n ’ . N1( k )=exp ( − (( ug ( k )−c1 ( end . ’ LineWidth ’ .5 max( y ) + 0 . f o r k =1:5000 % Numero de i t e r a c i o n e s % Entrada ug ( k+1) =0. 2 ) g r i d on l e g e n d ( ’ S a l i d a Real ’ . ’ b ’ . 1 ) ) ˆ2+(y ( k+1)−c3 ( end . 2 ) g r i d on l e g e n d ( ’ S a l i d a Real ’ . 2 ) .5 max( y ) + 0 . h o l d on p l o t ( w3 . h o l d on p l o t ( w1 .115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 a x i s ( [ 9 7 0 0 0 columnas min ( y ) − 0. 2 ) ) ˆ2+(y ( k )−c2 ( end . % Calculo del error eg ( k )=yg ( k+2)− y ng ( k+1) . % S a l i d a de l a p l a n t a h ( k ) =0. ’ r ’ . ’ LineWidth ’ . p l o t ( yg . 2 ) . 5 ] ) h o l d on p l o t ( y n . ’ LineWidth ’ . 2 ) . h o l d on p l o t ( w2 . N2( k )=exp ( − (( ug ( k )−c2 ( end . ’ r −− ’ . columnas ]= s i z e ( yg ) . a x i s ( [ 0 columnas −1 1 ] ) g r i d on l e g e n d ( ’ w0 ’ . ’ b ’ . h o l d on p l o t ( w0 . % S a l i d a Red Neuronal y ng ( k+1)=w0 ( end ) * b i+w1 ( end ) * N1( k )+w2 ( end ) * N2( k )+w3 ( end ) * N3( k ) . ’ L o c a t i o n ’ . ’ LineWidth ’ . N3( k )=exp ( − (( ug ( k )−c3 ( end . ’ w2 ’ .5 * s i n ( ( ( k+1) * p i *T) / 4 ) ) . ’ LineWidth ’ . 2 ) ) ˆ2+(y ( k )−c1 ( end .35 * s i n ( ( p i * ( k+1) *T) ) +0. 2 ) ) ˆ2+(y ( k )−c3 ( end . a x i s ( [ 0 columnas min ( y ) − 0. ’ S a l i d a Estimada ’ . 2 ) . 5 ] ) h o l d on p l o t ( y ng . ’ S a l i d a Estimada ’ . 1 ) ) ˆ2+(y ( k+1)−c2 ( end . % Condiciones I n i c i a l e s yg ( 2 ) =0. 3 ) ) ˆ 2 ) / ( 2 * d * d )). yg ( k+2)=−a * yg ( ( k+1) )−b * yg ( k )+c * ug ( ( k ) )+f+h ( k ) . columnas ]= s i z e ( y ) .

e r c g ( 1 )=e r ( 1 ) . 2 ) % G r a f i c a de EMC a x i s ( [ 0 l e n g t h ( yg ) −2 0 0 .172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 TITLE( ’ I d e n t i f i c a c i o n S i s t e m a No− L i n e a l ( G e n e r a l i z a c i o ´n ) ’ ) XLABEL( ’ I t e r a c i o n e s ’ ) hold o f f % % C a l c u l o de EMC de G e n e r a l i z a c i o n eg=eg . e r g ( 1 )=eg ( 1 ) . e r c g ( j +1) =(1/( j +1) ) * e r g ( j +1) . ’ NorthEast ’ ) XLABEL( ’ I t e r a c i o n e s ’ ) 10 . f o r j = 1 : 1 : l e n g t h ( yg ) −3 e r g ( j +1)=e r g ( j )+eg ( j +1) . e r c g . * eg . ’ LineWidth ’ . figure p l o t ( t . end t = 1 : 1 : l e n g t h ( yg ) − 2. ’ k ’ . 0 0 5 ] ) g r i d on l e g e n d ( ’ E r r o r Medio C u a d r a ´tico ( Generalizacio ´ n ) ’ . ’ L o c a t i o n ’ .