Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Práctica 2
Resumen
Las redes neuronales han abarcado muchos ambientes educativos tan-
to para modelos psicológicos a llegar a evaluar modelos matemáticos para
sistemas de control, en este caso sistemas lineales como sistemas no linea-
les; las redes neuronales tratan de simular una red neuronal biológica. La
red neuronal perceptrón multicapa es otro método de las redes neurona-
les para el aprendizaje de ciertos modelos matemáticos, en este caso para
la clasificación de señales, sin embargo se debe tomar en cuenta varios
aspectos a considerar como el numero de capas que se utilizarán ya que
importa mucho el tiempo en el que la red neuronal aprende y valida lo
aprendido.
1
ÍNDICE
Índice
1. Introducción 4
1.1. Antecedentes del tema . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. Introducción al tema . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Desarrollo 6
2.1. Red Neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2. Etapas de la red neuronal . . . . . . . . . . . . . . . . . . . . . . 6
3. Resultados 7
3.1. Señales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4. Conclusiones 13
5. Anexos 14
2
ÍNDICE DE FIGURAS
Índice de figuras
1. Esquema de Neurona. . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Señales a generar. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Pesos de la red neuronal. . . . . . . . . . . . . . . . . . . . . . . . 7
4. Pesos de la red neuronal (salida). . . . . . . . . . . . . . . . . . . 8
5. Señales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6. Señal cuadrada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
7. Señal triangular positiva. . . . . . . . . . . . . . . . . . . . . . . 10
8. Señal cosenoidal. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
9. Señal constante. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
10. Señal senoidal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
11. Señal triangular negativa. . . . . . . . . . . . . . . . . . . . . . . 12
Índice de listados
3
1. Introducción
1. Introducción
1.1. Antecedentes del tema
El cerebro humano es el sistema de cálculo más complejo que conoce el hom-
bre. El ordenador y el hombre realizan bien diferentes clases de tareas; así la
operación de reconocer el rostro de una persona resulta una tarea relativamente
sencilla para el hombre y difícil para el ordenador, mientras que la contabilidad
de una empresa es tarea costosa para un experto contable y una sencilla rutina
para un ordenador básico. Las RNA intentan ser una emulación inteligente del
comportamiento de los sistemas biológicos, en donde los sistemas nerviosos se
basan en la neurona como elemento fundamental (Hilera, 1995).
Actualmente, una RNA puede ser considerada como un modelo de âĂIJcaja
negraâĂİ. Entre las principales características de las RNA cabe destacar (Solo-
matine, 2002) que es un modelo con múltiples parámetros, el cual es capaz de
reproducir complejas relaciones no lineales, cuyo proceso de calibración (entre-
namiento) requiere de gran cantidad de información, siendo el modelo resultante
veloz y que puede ser utilizado donde los modelos físicos resultan inadecuados
o donde pueda complementarlos.
4
1.2 Introducción al tema
Para esta práctica se pide que sese desarrolle un clasificador de señales, para ser
especifico sesi, y los puntos a cosiderar son:
Usted conoce cuando inicia el ciclo de cada señal.
5
2. Desarrollo
2. Desarrollo
2.1. Red Neuronal
La estructura para la simulación del programa se llevó a cabo en el softwa-
re matemático MATLAB considerando que se debe utilizar una red neuronal
multicapa perceptron (MLP) y se tiene en consideración que la red neuronal
esta compuesta de tres capas, la capa de entrada consta de 5 neuronas, la capa
oculta consta de 20 neuronas y la capa de salida consta de 1 neurona.
Por lo que primeramente se realiza un entrenamiento de la red neuronal seguido
de su validacion.
6
3. Resultados
3. Resultados
Se obtuvieron los siguientes pesos dentro de la red neuronal:
7
3. Resultados
8
3.1 Señales
Figura 5: Señales.
3.1. Señales
La señal cuadratica generó una amplitud de onda de 0,5 como se puede
visualizar en la figura 6 y a demas se agrego un poco de ruido ya que si no se
hacia esto no se podria visualizar la linea recta al graficarla.
9
3.1 Señales
10
3.1 Señales
11
3.1 Señales
12
4. Conclusiones
4. Conclusiones
Para el estado de entrenamiento de la red no llego al error permitido aunque
se agregaron y se quitaron neuronas de la capa oculta sin embargo el error
tendio a 0,00089 aproximadamente cuando el error permitido fue de 0,0001 el
error quiza no fue muy grande sin embargo no llego a nuestro error permitido.
13
5. Anexos
5. Anexos
Código implementado en Matlab usando MLP.
1 clc ;
2 close a l l ;
3 clear ;
4 n = 5; %e n t r a d a
5 l = 20; %n e u r o n a s capa o c u a l t a
6m = 1; %n e u r o n a s capa s a l i d a
7 muestras = 5 0 ;
8 e p o c a s = m u e s t r a s ∗6 ;
9 [ Y_entre , s e n a l _ e n t r e , s e n a l _ v a l i d a , s1 , s2 , s3 , s4 , s5 , s 6 ] =
s e n a l e s ( muestras ) ;
10 ye = Y_entre ;
11 s e n a l _ e n t r e = s e n a l _ e n t r e ∗ 0 . 5 + 0 . 5 ;
12 s e n a l _ v a l i d a = s e n a l _ v a l i d a ∗ 0 . 5 + 0 . 5 ;
13 %% Entrenamiento
14 f o r t =1: m u e s t r a s ∗6
15 i f t >49
16 xe ( t , 1 ) = s e n a l _ e n t r e ( t ) ;
17 xe ( t , 2 ) = xe ( t −10) ;
18 xe ( t , 3 ) = xe ( t −20) ;
19 xe ( t , 4 ) = xe ( t −30) ;
20 xe ( t , 5 ) = xe ( t −40) ;
21 xe ( t , 6 ) = xe ( t −49) ;
22 e l s e i f t >40
23 xe ( t , 1 ) = s e n a l _ e n t r e ( t ) ;
24 xe ( t , 2 ) = xe ( t −10) ;
25 xe ( t , 3 ) = xe ( t −20) ;
26 xe ( t , 4 ) = xe ( t −30) ;
27 xe ( t , 5 ) = xe ( t −40) ;
28 xe ( t , 6 ) = 0 ;
29 e l s e i f t >30
30 xe ( t , 1 )= s e n a l _ e n t r e ( t ) ;
31 xe ( t , 2 )=xe ( t −10) ;
32 xe ( t , 3 )=xe ( t −20) ;
33 xe ( t , 4 )=xe ( t −30) ;
34 xe ( t , 5 ) =0;
35 xe ( t , 6 ) =0;
36 e l s e i f t >20
37 xe ( t , 1 )= s e n a l _ e n t r e ( t ) ;
38 xe ( t , 2 )=xe ( t −10) ;
39 xe ( t , 3 )=xe ( t −20) ;
40 xe ( t , 4 ) =0;
41 xe ( t , 5 ) =0;
42 xe ( t , 6 ) =0;
43 e l s e i f t >10
44 xe ( t , 1 ) = s e n a l _ e n t r e ( t ) ;
45 xe ( t , 2 ) = xe ( t −10) ;
46 xe ( t , 3 ) = 0 ;
47 xe ( t , 4 ) = 0 ;
48 xe ( t , 5 ) = 0 ;
49 xe ( t , 6 ) = 0 ;
50 else
51 xe ( t , 1 ) = s e n a l _ e n t r e ( t ) ;
52 xe ( t , 2 ) = 0 ;
14
5. Anexos
53 xe ( t ,3) = 0;
54 xe ( t ,4) = 0;
55 xe ( t ,5) = 0;
56 xe ( t ,6) = 0;
57 end
58 end
59 %% V a l i d a c i o n
60 f o r t =1: m u e s t r a s ∗14
61 i f t >49
62 xv ( t , 1 ) = s e n a l _ v a l i d a ( t ) ;
63 xv ( t , 2 ) = xv ( t −10) ;
64 xv ( t , 3 ) = xv ( t −20) ;
65 xv ( t , 4 ) = xv ( t −30) ;
66 xv ( t , 5 ) = xv ( t −40) ;
67 xv ( t , 6 ) = xv ( t −49) ;
68 e l s e i f t >40
69 xv ( t , 1 ) = s e n a l _ v a l i d a ( t ) ;
70 xv ( t , 2 ) = xv ( t −10) ;
71 xv ( t , 3 ) = xv ( t −20) ;
72 xv ( t , 4 ) = xv ( t −30) ;
73 xv ( t , 5 ) = xv ( t −40) ;
74 xv ( t , 6 ) = 0 ;
75 e l s e i f t >30
76 xv ( t , 1 ) = s e n a l _ v a l i d a ( t ) ;
77 xv ( t , 2 ) = xv ( t −10) ;
78 xv ( t , 3 ) = xv ( t −20) ;
79 xv ( t , 4 ) = xv ( t −30) ;
80 xv ( t , 5 ) = 0 ;
81 xv ( t , 6 ) = 0 ;
82 e l s e i f t >20
83 xv ( t , 1 ) = s e n a l _ v a l i d a ( t ) ;
84 xv ( t , 2 ) = xv ( t −10) ;
85 xv ( t , 3 ) = xv ( t −20) ;
86 xv ( t , 4 ) = 0 ;
87 xv ( t , 5 ) = 0 ;
88 xv ( t , 6 ) = 0 ;
89 e l s e i f t >10
90 xv ( t , 1 ) = s e n a l _ v a l i d a ( t ) ;
91 xv ( t , 2 ) = xv ( t −10) ;
92 xv ( t , 3 ) = 0 ;
93 xv ( t , 4 ) = 0 ;
94 xv ( t , 5 ) = 0 ;
95 xv ( t , 6 ) = 0 ;
96 else
97 xv ( t , 1 ) = s e n a l _ v a l i d a ( t ) ;
98 xv ( t , 2 ) = 0 ;
99 xv ( t , 3 ) = 0 ;
100 xv ( t , 4 ) = 0 ;
101 xv ( t , 5 ) = 0 ;
102 xv ( t , 6 ) = 0 ;
103 end
104 end
105 e t a = 0 . 0 7 ; %f a c t o r de e n t r e n a m i e n t o
106 a l f a = 0 . 0 3 5 ;
107 W = rand ( n+1 , l ) ;
108 V= rand ( l +1 ,m) ;
109 incrementoV=zeros ( l +1 ,m) ;
15
5. Anexos
16
5. Anexos
166 plot ( h i s _ e r r o r ) ;
167
168 f o r epo =1:( m u e s t r a s ∗ 1 4 ) /50
169 apunta ( epo ) =(( epo ) ∗ 5 0 ) ;
170 x=xv ( ( ( epo ) ∗ 5 0 ) , : ) ;
171
172 [ S , H, R, O, e , Ep ] = C a l c u l o s ( n , l , m, x , y , W, V ) ;
173 s a l i d a s ( epo , : ) =O;
174 end
175 Sen = s e n a l _ v a l i d a ’ ;
176WW = W’ ;
177 subplot ( 2 , 1 , 1 ) , plot ( s e n a l _ v a l i d a , ’ . g ’ )
178 t i t l e ( ’ S e à ś a l e s a c l a s i f i c a r ’ ) ;
179 xlabel ( ’ Muestras ’ ) ;
180 ylabel ( ’ S a l i d a ’ ) ;
181 legend ( ’ S e à ś a l a v a l i d a r ’ )
182 grid on
183 subplot ( 2 , 1 , 2 ) , plot ( apunta , s a l i d a s , ’ r ’ )
184 t i t l e ( ’ S a l i d a de l a r e d n e u r o n a l ’ ) ;
185 xlabel ( ’ Muestras ’ ) ;
186 ylabel ( ’ S a l i d a ’ ) ;
187 legend ( ’ e s t a d o de l a s seÃśales ’ )
188 grid on
17
5. Anexos
31 e l s e i f i > m u e s t r a s ∗4
32 Y_entre ( i ) = 0 . 5 ;
33 e l s e i f i > m u e s t r a s ∗3
34 Y_entre ( i ) = 0 . 4 ;
35 e l s e i f i > m u e s t r a s ∗2
36 Y_entre ( i ) = 0 . 3 ;
37 e l s e i f i > muestras
38 Y_entre ( i ) = 0 . 2 ;
39 else
40 Y_entre ( i ) = 0 . 1 ;
41 end
42 end
43
44 s e n a l _ e n t r e=s e n o i d a l ;
45 s e n a l _ e n t r e ( m u e s t r a s +1: m u e s t r a s ∗ 2 )=c o s e n o i d a l ;
46 s e n a l _ e n t r e ( m u e s t r a s ∗2+1: m u e s t r a s ∗ 3 )=t r i a n g u l a r ;
47 s e n a l _ e n t r e ( m u e s t r a s ∗3+1: m u e s t r a s ∗ 4 )=t r i a n g u l a r _ i n v ;
48 s e n a l _ e n t r e ( m u e s t r a s ∗4+1: m u e s t r a s ∗ 5 )=cuadrada ;
49 s e n a l _ e n t r e ( m u e s t r a s ∗5+1: m u e s t r a s ∗ 6 )=c o n s t a n t e ;
50
51
52 s e n a l _ v a l i d a=cuadrada ;
53 s e n a l _ v a l i d a ( m u e s t r a s +1: m u e s t r a s ∗ 2 )=cuadrada+r u i d o 1 ;
54 s e n a l _ v a l i d a ( m u e s t r a s ∗2+1: m u e s t r a s ∗ 3 )=cuadrada+r u i d o 2 ;
55 s e n a l _ v a l i d a ( m u e s t r a s ∗3+1: m u e s t r a s ∗ 4 )=t r i a n g u l a r ;
56 s e n a l _ v a l i d a ( m u e s t r a s ∗4+1: m u e s t r a s ∗ 5 )=t r i a n g u l a r ;
57 s e n a l _ v a l i d a ( m u e s t r a s ∗5+1: m u e s t r a s ∗ 6 )=c o s e n o i d a l ;
58 s e n a l _ v a l i d a ( m u e s t r a s ∗6+1: m u e s t r a s ∗ 7 )=c o s e n o i d a l+r u i d o 1 ;
59 s e n a l _ v a l i d a ( m u e s t r a s ∗7+1: m u e s t r a s ∗ 8 )=c o n s t a n t e ;
60 s e n a l _ v a l i d a ( m u e s t r a s ∗8+1: m u e s t r a s ∗ 9 )=c o n s t a n t e ;
61 s e n a l _ v a l i d a ( m u e s t r a s ∗9+1: m u e s t r a s ∗ 1 0 )=s e n o i d a l ;
62 s e n a l _ v a l i d a ( m u e s t r a s ∗10+1: m u e s t r a s ∗ 1 1 )=s e n o i d a l ∗ 0 . 7 ;
63 s e n a l _ v a l i d a ( m u e s t r a s ∗11+1: m u e s t r a s ∗ 1 2 )=t r i a n g u l a r _ i n v ;
64 s e n a l _ v a l i d a ( m u e s t r a s ∗12+1: m u e s t r a s ∗ 1 3 )=s e n o i d a l ∗ 0 . 8 ;
65 s e n a l _ v a l i d a ( m u e s t r a s ∗13+1: m u e s t r a s ∗ 1 4 )=s e n o i d a l ∗ 0 . 7 ;
66 end
18
REFERENCIAS
20 e ( k ) = y ( k ) − O( k ) ;
21 Ep = Ep +(e ( k ) ^ 2 ) ;
22 end
23 Ep=Ep ∗ 0 . 5 ;
24 end
Referencias
[1] Rodrigo Salas Redes Neuronales Artificiales, Departamento de Compu-
tación, Universidad de Valparaíso.
19