Professional Documents
Culture Documents
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 Salida
Algoritmo de aprendizaje
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.
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)
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)
h(n) u(n)
= =
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.
0.5
0.5 9.7
9.75
9.8
9.85 Iteraciones
9.9
9.95
10 x 10
4
E (n) =
1 n
(y (n) y (n))2
i=1
(6)
0.25
0.2
0.15
0.1
0.05
5 Iteraciones
10 x 10
4
w0 -0.1754
w1 0.3895
w2 0.3154
w3 0.2189
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
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
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
500
1000
1500
2000
2500 Iteraciones
3000
3500
4000
4500
5000
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
% 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
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 ) ;
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