You are on page 1of 10

Tarea 4 - Identicaci 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 articiales o simplemente redes neuronales, constituyen una de las a reas de la inteligencia articial 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 identicaci 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 identicaci 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 n de comprobar su desempe no a una entrada diferente.

Seal de Entrada Planta desconocida

Seal de Salida

Red Neuronal (Perceptron)

Algoritmo de aprendizaje

Figura 1: Modelo b asico

En la gura 1, se muestra el diagrama a bloques que se implementar a para lograr la identicaci on del sistema, a este modelo se le llama modelo b asico de identicaci on o modelo serie-paralelo, este modelo es el que se utilizar a para identicar la planta.

2.1.

Funcionamiento de las Funciones de Base Radial

Una funci on de base radial est a conformada de tres capas. 1. La capa de entrada que sirve para los ejemplos o patrones de entrenamiento y generalizaci on. 2. 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). 3. La capa de salida, tambi en completamente interconectada a la capa oculta y activada a trav es de una funci on lineal continua. Se propone la red neuronal mostrada en la gura 2, la cual tiene las siguientes caracteriticas: Los nodos ocultos contienen una funci on base radial, la cual tiene como par ametros un centro y un ancho. Existe un centro para cada funci on radial involucrada en la capa oculta. Por otro lado, el ancho es un valor constante para cada una de las funciones radiales consideradas en la capa oculta.

Entradas u(n-2)
bias y(n-1)

y(n-2)

Salida y_e(n)Funcin Lineal Continua

Capa Oculta- Funciones Gaussianas


Figura 2: Topolog a propuesta
La funci on Gaussiana G() utilizada se dene de la siguiente forma: Gi () = exp donde: xi : Vector de entrada. cij : Vector de centros de cada funci on. : Ancho de la funci on Gaussiana. Para la capa de salida, como ya se mencion o su funci on de activaci on es una funci on lineal continua, y est a denida por la siguiente ecuaci on:
3

||xi cij ||2 2 2

i = j = 1 , 2, 3

(1)

ye =
j =1

wj G() + w0 b

(2)

Para el entrenamiento de los pesos sin apticos, se utiliz o el algoritmo LMS, por lo que la actualizaci on de los pesos queda denida por la siguiente ecuaci on: w i (n + 1) = w i (n) + p e(n)xi (3)

donde: p : Coeciente de aprendizaje para pesos sin apticos e(n) : Error entre la salida estimada y la salida real en el instante n. xi : Vector de entrada, en este caso G(). La actualizaci on de los centros queda denida por la siguiente ecuaci on: cij (n + 1) = cij (n) + c e(n)Gi ()(xi cij ) donde: c : Coeciente de aprendizaje para adaptaci on de centros e(n) : Error entre la salida estimada y la salida real en el instante n. xi : Vector de entrada, en este caso G(). (4)

2.2.

Planta No-Lineal
y (n) = 0.2y (n 1) 0.3y (n 2) + 0.5u(n 1) + 0.3 + h(n)

La planta no-lineal est a dada por la ecuaci on en diferencias (5), (5)

donde: 0.15 1 + y 2 (n 1) y 2 (n 2) 0.5 sin 2n + 0.3 sin 3n n + 0.8 sin 2 2

h(n) u(n)

= =

En la siguiente secci on se muestran los resultados.

3.

Resultados

Se utiliz o un periodo de muestreo de T = 0.01s, el coeciente de aprendizaje p = 0.001 y c = 0.001 y = 1.5 con estos par ametros se obtuvieron los siguientes resultados. En la gura 3, se muestran las ultimas 30mil iteraciones, la salida estimada se sobrepone a la salida real, el error medio cuadr atico (EMC), denido por (6) se muestra en la gura 4.

Identificacion Sistema NoLineal (Aprendizaje) 1 Salida Real Salida Estimada

0.5

0.5 9.7

9.75

9.8

9.85 Iteraciones

9.9

9.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 y posteriormente tiene un comportamiento decreciente.

0.3 Error Medio Cuadrtico (Aprendizaje)

0.25

0.2

0.15

0.1

0.05

5 Iteraciones

10 x 10
4

Figura 4: Error medio cuadr atico


Por otro lado, los valores a los cuales convergieron los pesos sin apticos se presentan en la tabla 1, y en la gura 5 se muestra la evoluci on de los pesos sin apticos.

w0 -0.1754

w1 0.3895

w2 0.3154

w3 0.2189

Tabla 1: Pesos sin apticos obtenidos

Pesos Sinpticos 1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 w0 w1 w2 w3

5 Iteraciones

10 x 10
4

Figura 5: Evoluci on de los pesos sin apticos


De la misma manera, los valores a los cuales convergieron los centros se presentan en la tabla 2, y en la gura 6 se muestra la evoluci on de los centros.

cij i=1 i=2 i=3

j=1 1.3739 1.3957 1.4672

j=2 0.5168 1.3359 0.4062

j=3 1.2316 1.3400 0.4711

Tabla 2: Centros de las funciones Gaussianas

1.6 c11 c12 c13 c21 c22 c23 c31 c32 c33

1.4

1.2

0.8

0.6

0.4

0.2

5 Iteraciones

10 x 10
4

Figura 6: Evoluci on de los centros de las funciones Gaussianas 3.0.1. Generalizaci on

Para la generalizaci on se jaron los pesos mostrados en la tabla 1, asi como tambien el vector de centros de cada funcion con los valores mostrados en la tabla 2, y se ejecut o la simulaci on con la se nal de entrada u expresada por la ecuaci on 7 con el n de evaluar su desempe no. n (7) 4 Utilizando la entrada u se obtuvieron los siguientes resultados, en la gura 7 se muestra el seguimiento de la salida de la planta. u = 0.5 sin 2n + 0.35 sin n + 0.5 sin
Identificacion Sistema NoLineal (Generalizacin) 1 Salida Real Salida Estimada

0.5

0.5

500

1000

1500

2000

2500 Iteraciones

3000

3500

4000

4500

5000

Figura 7: Salida Real vs Salida Estimada (Generalizaci on)


En la gura 8, se ve la evoluci on del EMC, el cual presenta oscilaciones en la etapa inicial y despu es se suaviza.
5 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0 x 10
3

Error Medio Cuadrtico (Generalizacin)

500

1000

1500

2000

2500 Iteraciones

3000

3500

4000

4500

5000

Figura 8: Error cuadr atico medio (Generalizaci on) 5

4.

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 identicaci on de la salida de la planta desconocida, sin embargo, la convergencia fue lenta debido a los coecientes de aprendizaje utilizados, de haber sido valores mas grandes se presentan demasiadas oscilaciones, esto se explica ya que se est an adaptando tanto los centros como los pesos sin apticos las mismo tiempo, en la fase de generalizaci on se tuvieron resultados no tan satisfactorios como los presentados utilizando otros algoritmos.

Referencias
[1] Narendra, Kumpati et al. (1990) Identication and Control of Dynamical Systems using Neural Networks, IEEE Transactions on Neuronal Networks [2] Haykin, S. (1999) Neural Networks - A Comprehensive Foundation, Prentice Hall International

Anexo A - C odigo en Matlab


Identicaci 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 . % % 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.2; b=0.3; c =0.5; f =0.3; T= 0 . 0 1 ; % P e r i o d o de muestreo % % Condiciones i n i c i a l e s y ( 1 ) =0; y ( 2 ) =0; u ( 1 ) =0; u ( 2 ) =0; % Pesos i n i c i a l e s w= [ 0 . 4 2 5 3 ; 0.3127; 0.1615; 0.1788]; w0 ( 1 )=w( 1 ) ; w1 ( 1 )=w( 2 ) ; w2 ( 1 )=w( 3 ) ; w3 ( 1 )=w( 4 ) ; % Centros i n i c i a l e s c1 = [ 0 . 4 2 2 9 0 . 0 9 4 2 0 . 5 9 8 5 ] ; c2 = [ 0 . 4 7 0 9 0 . 6 9 5 9 0 . 6 9 9 9 ] ; c3 = [ 0 . 6 3 8 5 0 . 0 3 3 6 0 . 0 6 8 8 ] ; b i =1; % Va lor de b i a s etap =0.001; % 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.001; % 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.5; % 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.5 * ( s i n ( 2 * ( k+2) * p i *T) +0.3 * s i n ( ( 3 * p i * ( k+2) *T) / 2 ) +0.8 * s i n ( ( ( k+2) * p i *T) / 2 ) ); % S a l i d a de l a p l a n t a h ( k ) =0.15 * (1+ y ( k+1)2 y ( k ) 2 ) ; y ( k+2)=a * y ( ( k+1) )b * y ( k )+c * u ( ( k+1) )+f+h ( k ) ; N1( k )=exp ( (( u ( k )c1 ( k , 1 ) ) 2+(y ( k+1)c1 ( k , 2 ) ) 2+(y ( k )c1 ( k , 3 ) ) 2 ) / ( 2 * d * d ) ) ; N2( k )=exp ( (( u ( k )c2 ( k , 1 ) ) 2+(y ( k+1)c2 ( k , 2 ) ) 2+(y ( k )c2 ( k , 3 ) ) 2 ) / ( 2 * d * d ) ) ; N3( k )=exp ( (( u ( k )c3 ( k , 1 ) ) 2+(y ( k+1)c3 ( k , 2 ) ) 2+(y ( k )c3 ( k , 3 ) ) 2 ) / ( 2 * d * d ) ) ; % 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 ) ; % Calculo del error

43 44 45 46 47 48 49 50 51 52 53 54 55

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 ) ; % Entrenamiento de l o s c e n t r o s c1 ( k +1 ,1)=c1 ( k , 1 )+e t a c * e ( k ) * exp ( (( u ( k )c1 ( k , 1 ) ) 2 ) / ( 2 * d * d ) ) * ( u ( k )c1 ( k , 1 ) ) ; c1 ( k +1 ,2)=c1 ( k , 2 )+e t a c * e ( k ) * exp ( (( y ( k )c1 ( k , 2 ) ) 2 ) / ( 2 * d * d ) ) * ( y ( k )c1 ( k , 2 ) ) ; c1 ( k +1 ,3)=c1 ( k , 3 )+e t a c * e ( k ) * exp ( (( y ( k )c1 ( k , 3 ) ) 2 ) / ( 2 * d * d ) ) * ( y ( k )c1 ( k , 3 ) ) ; c2 ( k +1 ,1)=c2 ( k , 1 )+e t a c * e ( k ) * exp ( (( u ( k )c2 ( k , 1 ) ) 2 ) / ( 2 * d * d ) ) * ( u ( k )c2 ( k , 1 ) ) ; c2 ( k +1 ,2)=c2 ( k , 2 )+e t a c * e ( k ) * exp ( (( y ( k )c2 ( k , 2 ) ) 2 ) / ( 2 * d * d ) ) * ( y ( k )c2 ( k , 2 ) ) ; c2 ( k +1 ,3)=c2 ( k , 3 )+e t a c * e ( k ) * exp ( (( y ( k )c2 ( k , 3 ) ) 2 ) / ( 2 * d * d ) ) * ( y ( k )c2 ( k , 3 ) ) ; c3 ( k +1 ,1)=c3 ( k , 1 )+e t a c * e ( k ) * exp ( (( u ( k )c3 ( k , 1 ) ) 2 ) / ( 2 * d * d ) ) * ( u ( k )c3 ( k , 1 ) ) ; c3 ( k +1 ,2)=c3 ( k , 2 )+e t a c * e ( k ) * exp ( (( y ( k )c3 ( k , 2 ) ) 2 ) / ( 2 * d * d ) ) * ( y ( k )c3 ( k , 2 ) ) ; c3 ( k +1 ,3)=c3 ( k , 3 )+e t a c * e ( k ) * exp ( (( y ( k )c3 ( k , 3 ) ) 2 ) / ( 2 * d * d ) ) * ( y ( k )c3 ( k , 3 ) ) ; % 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 ; w1 ( k+1)=w1 ( k )+e t a p * e ( k ) * N1( k ) ; w2 ( k+1)=w2 ( k )+e t a p * e ( k ) * N2( k ) ; w3 ( k+1)=w3 ( k )+e t a p * e ( k ) * N3( 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 . * e ; e r ( 1 )=emc ( 1 ) ; e r c ( 1 )=e r ( 1 ) ; f o r j = 1 : 1 : l e n g t h ( y ) 3 e r ( j +1)=e r ( j )+emc ( j +1) ; e r c ( j +1) =(1/( j +1) ) * e r ( j +1) ; end t = 1 : 1 : l e n g t h ( y ) 2; figure p l o t ( t , e r c , k , LineWidth , 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 ] ) 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 ) , L o c a t i o n , NorthEast ) XLABEL( I t e r a c i o n e s ) % % Grafica centros figure [ f i l a s , columnas ]= s i z e ( y ) ; p l o t ( c1 ( : , 1 ) , k , LineWidth , 2 ) % G r a f i c a de EMC h o l d on p l o t ( c1 ( : , 2 ) , b , LineWidth , 2 ) % G r a f i c a de EMC p l o t ( c1 ( : , 3 ) , r , LineWidth , 2 ) % G r a f i c a de EMC p l o t ( c2 ( : , 1 ) , g , LineWidth , 2 ) % G r a f i c a de EMC p l o t ( c2 ( : , 2 ) , m , LineWidth , 2 ) % G r a f i c a de EMC p l o t ( c2 ( : , 3 ) , k , LineWidth , 2 ) % G r a f i c a de EMC p l o t ( c3 ( : , 1 ) , b , LineWidth , 2 ) % G r a f i c a de EMC p l o t ( c3 ( : , 2 ) , r , LineWidth , 2 ) % G r a f i c a de EMC p l o t ( c3 ( : , 3 ) , g , LineWidth , 2 ) % G r a f i c a de EMC l e g e n d ( c11 , c12 , c13 , c21 , c22 , c23 , c31 , c32 , c33 , L o c a t i o n , NorthEast ) a x i s ( [ 0 columnas 0 1 . 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 , columnas ]= s i z e ( y ) ; p l o t ( y , b , LineWidth , 2 ) ;

108 109 110 111 112 113 114

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.5 max( y ) + 0 . 5 ] ) h o l d on p l o t ( y n , r , LineWidth , 2 ) g r i d on l e g e n d ( S a l i d a Real , S a l i d a Estimada , L o c a t i o n , 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 , columnas ]= s i z e ( y ) ; h o l d on p l o t ( w0 , k , LineWidth , 2 ) ; h o l d on p l o t ( w1 , b , LineWidth , 2 ) ; h o l d on p l o t ( w2 , r , LineWidth , 2 ) ; h o l d on p l o t ( w3 , g , LineWidth , 2 ) ; a x i s ( [ 0 columnas 1 1 ] ) g r i d on l e g e n d ( w0 , w1 , w2 , w3 , L o c a t i o n , 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; % Condiciones I n i c i a l e s yg ( 2 ) =0; ug ( 1 ) =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.5 * ( s i n ( 2 * ( k+1) * p i *T) +0.35 * s i n ( ( p i * ( k+1) *T) ) +0.5 * s i n ( ( ( k+1) * p i *T) / 4 ) ) ; % S a l i d a de l a p l a n t a h ( k ) =0.15 * (1+ yg ( k+1)2 yg ( k ) 2 ) ; yg ( k+2)=a * yg ( ( k+1) )b * yg ( k )+c * ug ( ( k ) )+f+h ( k ) ; N1( k )=exp ( (( ug ( k )c1 ( end , 1 ) ) 2+(y ( k+1)c1 ( end , 2 ) ) 2+(y ( k )c1 ( end , 3 ) ) 2 ) / ( 2 * d * d )); N2( k )=exp ( (( ug ( k )c2 ( end , 1 ) ) 2+(y ( k+1)c2 ( end , 2 ) ) 2+(y ( k )c2 ( end , 3 ) ) 2 ) / ( 2 * d * d )); N3( k )=exp ( (( ug ( k )c3 ( end , 1 ) ) 2+(y ( k+1)c3 ( end , 2 ) ) 2+(y ( k )c3 ( end , 3 ) ) 2 ) / ( 2 * d * d )); % 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 ) ; % Calculo del error eg ( k )=yg ( k+2) y ng ( k+1) ; end % % Grafica Salidas figure [ f i l a s , columnas ]= s i z e ( yg ) ; p l o t ( yg , b , LineWidth , 2 ) ; a x i s ( [ 0 columnas min ( y ) 0.5 max( y ) + 0 . 5 ] ) h o l d on p l o t ( y ng , r , LineWidth , 2 ) g r i d on l e g e n d ( S a l i d a Real , S a l i d a Estimada , L o c a t i o n , NorthEast )

155

156

157 158 159 160 161 162 163 164 165 166 167 168 169 170 171

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 . * eg ; e r g ( 1 )=eg ( 1 ) ; e r c g ( 1 )=e r ( 1 ) ; 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 ( j +1) =(1/( j +1) ) * e r g ( j +1) ; end t = 1 : 1 : l e n g t h ( yg ) 2; figure p l o t ( t , e r c g , k , LineWidth , 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 . 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 , NorthEast ) XLABEL( I t e r a c i o n e s )

10

You might also like