SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
Página 1
UNIVERSIDAD DE FUERZAS ARMADAS “ESPE”
DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA
ASIGNATURA: CONTROL INTELIGENTE
Actividad No 5. Aprendizaje del perceptrón
Fecha: Lunes, 16 de abril de 2014
Nombre alumno: Evelyn Gabriela Lema – Fernando Javier Villalba Portilla.
NRC: 2055
Entrenamiento de un perceptrón para que realice clasificación de aviones
Desarrollo en MATLAB
A. Regla de aprendizaje del perceptrón
1. Escriba en un vector “inputs” de dimensión nx2 las entradas de los patrones de
entrenamiento. Cada fila tiene un patrón de entrenamiento. Escriba el vector “tag” de
dimensión nx1 con las salidas de cada patrón de entrenamiento
2. Escriba una línea de código para tomar el primer patrón de aprendizaje y encontrar la
actualización de los pesos. Factor de aprendizaje=0.5.
Vector inputs:
inputs=[1.0 0.1 ;2.0 0.2; 0.1 0.3; 2.0 0.3; 0.2 0.4 ; 3.0 0.4; 0.1
0.5; 1.5 0.5 ;0.5 0.6 ;1.6 0.7]
Vector tag:
target=[1 1 0 1 0 1 0 1 0 0]
w2=rand();
w1=rand();
w0=rand();
in0=1;
n=0.5;
inputs=[1.0 0.1 ;2.0 0.2; 0.1 0.3; 2.0 0.3; 0.2 0.4
3.0 0.4; 0.1 0.5; 1.5 0.5 ;0.5 0.6 ;1.6 0.7];
out=hardlim(inputs(1,1)*w1+inputs(1,2)*w2+w0*in0);
target =[1 1 0 1 0 1 0 1 0 0];
delta_w0=n*(target(1)-out)*in0;
delta_w1=n*(target(1)-out)*inputs(1,1);
delta_w2=n*(target(1)-out)*inputs(1,2);
w0=w0+ delta_w0;
w1=w1+ delta_w1;
w2=w2+ delta_w2;
w0
w1
w2
Página 2
3. Escriba las líneas de código para calcular la actualización de pesos y completar una
época.
4. Utilice un lazo for para que el programa ejecute 50 épocas. Dibuje el diagrama de flujo y
transcriba el programa:
w2=rand();
w1=rand();
w0=rand();
in0=1;
n=0.5;
inputs=[1.0 0.1 ;2.0 0.2; 0.1 0.3; 2.0 0.3; 0.2 0.4 ; 3.0 0.4; 0.1
0.5; 1.5 0.5 ;0.5 0.6 ;1.6 0.7];
tag=[1 1 0 1 0 1 0 1 0 0];
for i=1:10
out=hardlim(inputs(i,1)*w1+inputs(i,2)*w2+w0*in0);
Dw0=0.5*(tag(i)-out)*in0;
Dw1=0.5*(tag(i)-out)*inputs(i,1);
Dw2=0.5*(tag(i)-out)*inputs(i,2);
w0=w0+Dw0;
w1=w1+Dw1;
w2=w2+Dw2;
end
w0
w1
w2
w2=rand();
w1=rand();
w0=rand();
in0=1;
n=0.5;
inputs=[1.0 0.1 ;2.0 0.2; 0.1 0.3; 2.0 0.3; 0.2 0.4 ; 3.0 0.4; 0.1 0.5;
1.5 0.5 ;0.5 0.6 ;1.6 0.7];
tag=[1 1 0 1 0 1 0 1 0 0];
for j=1:50
for i=1:10
out=hardlim(inputs(i,1)*w1+inputs(i,2)*w2+w0*in0);
Dw0=0.5*(tag(i)-out)*in0;
Dw1=0.5*(tag(i)-out)*inputs(i,1);
Dw2=0.5*(tag(i)-out)*inputs(i,2);
w0=w0+Dw0;
w1=w1+Dw1;
w2=w2+Dw2;
end
end
w0
w1
w2
Página 3
Inicio
w0=rand();
w1=rand();
w2=rand();
in0=1;
n=0.5;
inputs=[Nx2]
target=[NX1]
j=j+1
J <=50
i=i+1
i <=50
out=hardlim(inputs(i,1)*w1+inputs(i,2)*w2+w0*in0);
delta_w0=n*(tag(i)-out)*in0;
delta_w1=n*(tag(i)-out)*inputs(i,1);
delta_w2=n*(tag(i)-out)*inputs(i,2);
w0=w0+Dw0;
w1=w1+Dw1;
w2=w2+Dw2;
w0
w1
w2
si
no
si
Página 4
5. Complete el programa para que se grafique el error cuadrático total versus la época.
Transcriba el programa y el gráfico obtenido
Valores Obtenidos: Gráfica de Resultados:
B. Aprendizaje por descenso de gradiente
0 5 10 15 20 25 30 35 40 45 50
0
1
2
3
4
5
6
ERRORCUADRATICO
EPOCA
w0=rand();
w1=rand();
w2=rand();
in0=1;
n=0.5;
inputs=[1.0 0.1 ;2.0 0.2; 0.1 0.3; 2.0 0.3; 0.2 0.4 ; 3.0 0.4; 0.1 0.5; 1.5
0.5 ;0.5 0.6 ;1.6 0.7];
target=[1 1 0 1 0 1 0 1 0 0];
for j=1:50
err_T=0;
for i=1:10
out=hardlim(inputs(i,1)*w1+inputs(i,2)*w2+w0*in0);
delta_w0=0.5*(target(i)-out)*in0;
delta_w1=0.5*(target(i)-out)*inputs(i,1);
delta_w2=0.5*(target(i)-out)*inputs(i,2);
w0=w0+ delta_w0;
w1=w1+ delta_w1;
w2=w2+ delta_w2;
err_i=(target(i)-out)^2;
err_T=err_T+err_i;
end
vector_epocas(j)=j;
vector_err(j)=err_T;
plot(vector_epocas,vector_err);
ylabel('ERROR CUADRATICO')
xlabel('EPOCA')
end
w0
w1
w2
Página 5
6. Escriba en detalle la ecuación de cálculo de actualización de cada peso
7. Modifique el programa de la regla de aprendizaje para que ejecute el entrenamiento por
descenso de gradiente. Transcriba el programa y el gráfico del aprendizaje
w0=rand();
w1=rand();
w2=rand();
in0=1;
n=0.5;
alpha=4;
inputs=[1.0 0.1 ;2.0 0.2; 0.1 0.3; 2.0 0.3; 0.2 0.4 ; 3.0 0.4; 0.1 0.5; 1.5 0.5 ;0.5 0.6
;1.6 0.7];
target=[1 1 0 1 0 1 0 1 0 0];
for j=1:50
errT=0;
for i=1:10
net=(inputs(i,1)*w1+inputs(i,2)*w2+w0*in0);
out=1/1+exp(-alpha*net);
delta_w0=0.5*(target(i)-out)*in0*alpha*out*(1-out);
delta_w1=0.5*(target(i)-out)*alpha*out*(1-out)*inputs(i,1);
delta_w2=0.5*(target(i)-out)*alpha*out*(1-out)*inputs(i,2);
w0=w0+ delta_w0;
w1=w1+ delta_w1;
w2=w2+ delta_w2;
erri=(target(i)-out)^2;
errT=errT+erri;
end
vector_epocas(j)=j;
vector_err(j)=errT;
plot(vector_epocas,vector_err);
ylabel('ERROR CUADRATICO')
xlabel('EPOCA')
end
∑
Página 6
Valores Obtenidos: Gráfica de Resultados
Evelyn Gabriela Lema y Fernando Javier Villalba Portilla afirmamos que esta actividad es de
nuestra autoría y establecemos que para la elaboración de la misma se ha seguido los
lineamientos del Código de Ética de la Universidad de las Fuerzas Armadas ESPE.
0 5 10 15 20 25 30 35 40 45 50
5
5.05
5.1
5.15
5.2
5.25
ERRORCUADRATICO
EPOCA
w0
w1
w2

Más contenido relacionado

La actualidad más candente

Tabla reglas derivación
Tabla reglas derivaciónTabla reglas derivación
Tabla reglas derivaciónbellidomates
 
Peralta matias unidad-4_act-5_segunda-parte
Peralta matias unidad-4_act-5_segunda-partePeralta matias unidad-4_act-5_segunda-parte
Peralta matias unidad-4_act-5_segunda-partematias526
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Gustavo Macias
 
Java problems
Java problemsJava problems
Java problemsNoe Lopez
 
Funcion implicita
Funcion implicitaFuncion implicita
Funcion implicitajc-alfa
 
Resolución de problemas con java
Resolución de problemas con javaResolución de problemas con java
Resolución de problemas con javadiegocastro1234
 
Guia tema 4 (espacios con producto interno)
Guia tema 4 (espacios con producto interno)Guia tema 4 (espacios con producto interno)
Guia tema 4 (espacios con producto interno)pedroguzmanvinoacasa
 
Apuntes electr digital
Apuntes electr digitalApuntes electr digital
Apuntes electr digitalDanos Pinto
 
Arreglos 1D, 2D, 3D.
Arreglos 1D, 2D, 3D.Arreglos 1D, 2D, 3D.
Arreglos 1D, 2D, 3D.Susan Gil
 
Guía homogeneas
Guía homogeneasGuía homogeneas
Guía homogeneaseymavarez
 
Electrónica digital: Tema 1 Sistemas combinaciones combinacionales
Electrónica digital: Tema 1 Sistemas combinaciones combinacionalesElectrónica digital: Tema 1 Sistemas combinaciones combinacionales
Electrónica digital: Tema 1 Sistemas combinaciones combinacionalesSANTIAGO PABLO ALBERTO
 
Arduino uno 2 estudiantes
Arduino uno 2 estudiantesArduino uno 2 estudiantes
Arduino uno 2 estudiantesCiraBringas2
 
Modelo de regresion lineal
Modelo de regresion linealModelo de regresion lineal
Modelo de regresion linealRodrigo Paniagua
 

La actualidad más candente (19)

Derivadas expo-loga
Derivadas expo-logaDerivadas expo-loga
Derivadas expo-loga
 
Tabla reglas derivación
Tabla reglas derivaciónTabla reglas derivación
Tabla reglas derivación
 
Funciones
FuncionesFunciones
Funciones
 
Peralta matias unidad-4_act-5_segunda-parte
Peralta matias unidad-4_act-5_segunda-partePeralta matias unidad-4_act-5_segunda-parte
Peralta matias unidad-4_act-5_segunda-parte
 
Practicas
PracticasPracticas
Practicas
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402
 
Java problems
Java problemsJava problems
Java problems
 
Funcion implicita
Funcion implicitaFuncion implicita
Funcion implicita
 
Resolución de problemas con java
Resolución de problemas con javaResolución de problemas con java
Resolución de problemas con java
 
Reglas
ReglasReglas
Reglas
 
Guia tema 4 (espacios con producto interno)
Guia tema 4 (espacios con producto interno)Guia tema 4 (espacios con producto interno)
Guia tema 4 (espacios con producto interno)
 
Unidad4
Unidad4Unidad4
Unidad4
 
Apuntes electr digital
Apuntes electr digitalApuntes electr digital
Apuntes electr digital
 
Arreglos 1D, 2D, 3D.
Arreglos 1D, 2D, 3D.Arreglos 1D, 2D, 3D.
Arreglos 1D, 2D, 3D.
 
Guía homogeneas
Guía homogeneasGuía homogeneas
Guía homogeneas
 
Electrónica digital: Tema 1 Sistemas combinaciones combinacionales
Electrónica digital: Tema 1 Sistemas combinaciones combinacionalesElectrónica digital: Tema 1 Sistemas combinaciones combinacionales
Electrónica digital: Tema 1 Sistemas combinaciones combinacionales
 
Arduino uno 2 estudiantes
Arduino uno 2 estudiantesArduino uno 2 estudiantes
Arduino uno 2 estudiantes
 
Unidad 4 segunda parte
Unidad 4 segunda parteUnidad 4 segunda parte
Unidad 4 segunda parte
 
Modelo de regresion lineal
Modelo de regresion linealModelo de regresion lineal
Modelo de regresion lineal
 

Similar a Perceptrón clasificador de aviones en MATLAB

unidad-5 cideteq
unidad-5 cidetequnidad-5 cideteq
unidad-5 cideteqsonik60
 
Puebe de programacion
Puebe de programacionPuebe de programacion
Puebe de programaciondaquicaro
 
Puebe de programacion
Puebe de programacionPuebe de programacion
Puebe de programaciondaquicaro
 
Utp ia_2014-2 lab1
 Utp ia_2014-2 lab1 Utp ia_2014-2 lab1
Utp ia_2014-2 lab1jcbp_peru
 
Correccion del la prueba de mfsi
Correccion del la prueba de mfsiCorreccion del la prueba de mfsi
Correccion del la prueba de mfsiPeque Uli
 
DDAA FPGA - Unidad Aritmetica Logica (Procesador de Numeros Enteros y Logicos)
DDAA   FPGA - Unidad Aritmetica Logica (Procesador de Numeros Enteros y Logicos)DDAA   FPGA - Unidad Aritmetica Logica (Procesador de Numeros Enteros y Logicos)
DDAA FPGA - Unidad Aritmetica Logica (Procesador de Numeros Enteros y Logicos)Fernando Marcos Marcos
 
Cómo hacer una calculadora en java y visual basic
Cómo hacer una calculadora en java y visual basicCómo hacer una calculadora en java y visual basic
Cómo hacer una calculadora en java y visual basicKadir876756654
 
Sistemas digitales - Practica 4
Sistemas digitales - Practica 4Sistemas digitales - Practica 4
Sistemas digitales - Practica 4Luis Reyes
 

Similar a Perceptrón clasificador de aviones en MATLAB (20)

Correcion de modulofsi
Correcion de modulofsiCorrecion de modulofsi
Correcion de modulofsi
 
Correcion de xavi
Correcion de xaviCorrecion de xavi
Correcion de xavi
 
unidad-5 cideteq
unidad-5 cidetequnidad-5 cideteq
unidad-5 cideteq
 
Correcion de xavi
Correcion de xaviCorrecion de xavi
Correcion de xavi
 
Equipo7 Arduino
Equipo7 ArduinoEquipo7 Arduino
Equipo7 Arduino
 
Correcion de mfsi
Correcion de mfsiCorrecion de mfsi
Correcion de mfsi
 
Puebe de programacion
Puebe de programacionPuebe de programacion
Puebe de programacion
 
Puebe de programacion
Puebe de programacionPuebe de programacion
Puebe de programacion
 
Arduino - Ejercicios Básicos
Arduino - Ejercicios BásicosArduino - Ejercicios Básicos
Arduino - Ejercicios Básicos
 
Utp ia_2014-2 lab1
 Utp ia_2014-2 lab1 Utp ia_2014-2 lab1
Utp ia_2014-2 lab1
 
Correccion del la prueba de mfsi
Correccion del la prueba de mfsiCorreccion del la prueba de mfsi
Correccion del la prueba de mfsi
 
DDAA FPGA - Unidad Aritmetica Logica (Procesador de Numeros Enteros y Logicos)
DDAA   FPGA - Unidad Aritmetica Logica (Procesador de Numeros Enteros y Logicos)DDAA   FPGA - Unidad Aritmetica Logica (Procesador de Numeros Enteros y Logicos)
DDAA FPGA - Unidad Aritmetica Logica (Procesador de Numeros Enteros y Logicos)
 
franklin cuñas
franklin cuñasfranklin cuñas
franklin cuñas
 
Franklin
FranklinFranklin
Franklin
 
Actividad no10 1er parcial lema evelyn
Actividad no10 1er parcial lema evelynActividad no10 1er parcial lema evelyn
Actividad no10 1er parcial lema evelyn
 
Actividad no10 1er parcial lema evelyn
Actividad no10 1er parcial lema evelynActividad no10 1er parcial lema evelyn
Actividad no10 1er parcial lema evelyn
 
Correccion.
Correccion.Correccion.
Correccion.
 
Cómo hacer una calculadora en java y visual basic
Cómo hacer una calculadora en java y visual basicCómo hacer una calculadora en java y visual basic
Cómo hacer una calculadora en java y visual basic
 
Sistemas digitales - Practica 4
Sistemas digitales - Practica 4Sistemas digitales - Practica 4
Sistemas digitales - Practica 4
 
Correcion de mfsi
Correcion de mfsiCorrecion de mfsi
Correcion de mfsi
 

Más de Evelyn Gabriela Lema Vinueza

Más de Evelyn Gabriela Lema Vinueza (18)

Tarjeta de Adquisición STM32F4-Discovery
Tarjeta de Adquisición STM32F4-Discovery Tarjeta de Adquisición STM32F4-Discovery
Tarjeta de Adquisición STM32F4-Discovery
 
Actividad no20 3do parcial
Actividad no20 3do parcialActividad no20 3do parcial
Actividad no20 3do parcial
 
Actividad no12. resuelta_1er_parcial _lema_evelyn
Actividad no12. resuelta_1er_parcial _lema_evelynActividad no12. resuelta_1er_parcial _lema_evelyn
Actividad no12. resuelta_1er_parcial _lema_evelyn
 
Lectura seis
Lectura seisLectura seis
Lectura seis
 
Actividad no9. 1er parcial lema evelyn
Actividad no9. 1er parcial lema evelynActividad no9. 1er parcial lema evelyn
Actividad no9. 1er parcial lema evelyn
 
Actividad no8. 1er parcial lema evelyn
Actividad no8. 1er parcial lema evelynActividad no8. 1er parcial lema evelyn
Actividad no8. 1er parcial lema evelyn
 
Actividad no7. 1er parcial lema evelyn
Actividad no7. 1er parcial lema evelynActividad no7. 1er parcial lema evelyn
Actividad no7. 1er parcial lema evelyn
 
Actividad no6. 1er parcial lema evelyn
Actividad no6. 1er parcial lema evelynActividad no6. 1er parcial lema evelyn
Actividad no6. 1er parcial lema evelyn
 
Aprendizaje de un perceptrón simple
Aprendizaje de un perceptrón simpleAprendizaje de un perceptrón simple
Aprendizaje de un perceptrón simple
 
Actividad no20 3do parcial
Actividad no20 3do parcialActividad no20 3do parcial
Actividad no20 3do parcial
 
Controlador con Red Neuronal Inversa
Controlador con Red Neuronal InversaControlador con Red Neuronal Inversa
Controlador con Red Neuronal Inversa
 
Actividad no19 2do parcial
Actividad no19 2do parcialActividad no19 2do parcial
Actividad no19 2do parcial
 
Actividad no17 2er parcial lema evelyn
Actividad no17 2er parcial lema evelynActividad no17 2er parcial lema evelyn
Actividad no17 2er parcial lema evelyn
 
Actividad no17 2er parcial lema evelyn
Actividad no17 2er parcial lema evelynActividad no17 2er parcial lema evelyn
Actividad no17 2er parcial lema evelyn
 
Actividad no18 2do_parcial_lema_evelyn
Actividad no18 2do_parcial_lema_evelynActividad no18 2do_parcial_lema_evelyn
Actividad no18 2do_parcial_lema_evelyn
 
Actividad no16 2do parcial lema evelyn
Actividad no16 2do parcial lema evelynActividad no16 2do parcial lema evelyn
Actividad no16 2do parcial lema evelyn
 
Actividad no15 2do_parcial_lema_evelyn
Actividad no15 2do_parcial_lema_evelynActividad no15 2do_parcial_lema_evelyn
Actividad no15 2do_parcial_lema_evelyn
 
Actividad no13 y_14_de_1er_parcial_lema_evelyn
Actividad no13 y_14_de_1er_parcial_lema_evelynActividad no13 y_14_de_1er_parcial_lema_evelyn
Actividad no13 y_14_de_1er_parcial_lema_evelyn
 

Perceptrón clasificador de aviones en MATLAB

  • 1. Página 1 UNIVERSIDAD DE FUERZAS ARMADAS “ESPE” DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA ASIGNATURA: CONTROL INTELIGENTE Actividad No 5. Aprendizaje del perceptrón Fecha: Lunes, 16 de abril de 2014 Nombre alumno: Evelyn Gabriela Lema – Fernando Javier Villalba Portilla. NRC: 2055 Entrenamiento de un perceptrón para que realice clasificación de aviones Desarrollo en MATLAB A. Regla de aprendizaje del perceptrón 1. Escriba en un vector “inputs” de dimensión nx2 las entradas de los patrones de entrenamiento. Cada fila tiene un patrón de entrenamiento. Escriba el vector “tag” de dimensión nx1 con las salidas de cada patrón de entrenamiento 2. Escriba una línea de código para tomar el primer patrón de aprendizaje y encontrar la actualización de los pesos. Factor de aprendizaje=0.5. Vector inputs: inputs=[1.0 0.1 ;2.0 0.2; 0.1 0.3; 2.0 0.3; 0.2 0.4 ; 3.0 0.4; 0.1 0.5; 1.5 0.5 ;0.5 0.6 ;1.6 0.7] Vector tag: target=[1 1 0 1 0 1 0 1 0 0] w2=rand(); w1=rand(); w0=rand(); in0=1; n=0.5; inputs=[1.0 0.1 ;2.0 0.2; 0.1 0.3; 2.0 0.3; 0.2 0.4 3.0 0.4; 0.1 0.5; 1.5 0.5 ;0.5 0.6 ;1.6 0.7]; out=hardlim(inputs(1,1)*w1+inputs(1,2)*w2+w0*in0); target =[1 1 0 1 0 1 0 1 0 0]; delta_w0=n*(target(1)-out)*in0; delta_w1=n*(target(1)-out)*inputs(1,1); delta_w2=n*(target(1)-out)*inputs(1,2); w0=w0+ delta_w0; w1=w1+ delta_w1; w2=w2+ delta_w2; w0 w1 w2
  • 2. Página 2 3. Escriba las líneas de código para calcular la actualización de pesos y completar una época. 4. Utilice un lazo for para que el programa ejecute 50 épocas. Dibuje el diagrama de flujo y transcriba el programa: w2=rand(); w1=rand(); w0=rand(); in0=1; n=0.5; inputs=[1.0 0.1 ;2.0 0.2; 0.1 0.3; 2.0 0.3; 0.2 0.4 ; 3.0 0.4; 0.1 0.5; 1.5 0.5 ;0.5 0.6 ;1.6 0.7]; tag=[1 1 0 1 0 1 0 1 0 0]; for i=1:10 out=hardlim(inputs(i,1)*w1+inputs(i,2)*w2+w0*in0); Dw0=0.5*(tag(i)-out)*in0; Dw1=0.5*(tag(i)-out)*inputs(i,1); Dw2=0.5*(tag(i)-out)*inputs(i,2); w0=w0+Dw0; w1=w1+Dw1; w2=w2+Dw2; end w0 w1 w2 w2=rand(); w1=rand(); w0=rand(); in0=1; n=0.5; inputs=[1.0 0.1 ;2.0 0.2; 0.1 0.3; 2.0 0.3; 0.2 0.4 ; 3.0 0.4; 0.1 0.5; 1.5 0.5 ;0.5 0.6 ;1.6 0.7]; tag=[1 1 0 1 0 1 0 1 0 0]; for j=1:50 for i=1:10 out=hardlim(inputs(i,1)*w1+inputs(i,2)*w2+w0*in0); Dw0=0.5*(tag(i)-out)*in0; Dw1=0.5*(tag(i)-out)*inputs(i,1); Dw2=0.5*(tag(i)-out)*inputs(i,2); w0=w0+Dw0; w1=w1+Dw1; w2=w2+Dw2; end end w0 w1 w2
  • 3. Página 3 Inicio w0=rand(); w1=rand(); w2=rand(); in0=1; n=0.5; inputs=[Nx2] target=[NX1] j=j+1 J <=50 i=i+1 i <=50 out=hardlim(inputs(i,1)*w1+inputs(i,2)*w2+w0*in0); delta_w0=n*(tag(i)-out)*in0; delta_w1=n*(tag(i)-out)*inputs(i,1); delta_w2=n*(tag(i)-out)*inputs(i,2); w0=w0+Dw0; w1=w1+Dw1; w2=w2+Dw2; w0 w1 w2 si no si
  • 4. Página 4 5. Complete el programa para que se grafique el error cuadrático total versus la época. Transcriba el programa y el gráfico obtenido Valores Obtenidos: Gráfica de Resultados: B. Aprendizaje por descenso de gradiente 0 5 10 15 20 25 30 35 40 45 50 0 1 2 3 4 5 6 ERRORCUADRATICO EPOCA w0=rand(); w1=rand(); w2=rand(); in0=1; n=0.5; inputs=[1.0 0.1 ;2.0 0.2; 0.1 0.3; 2.0 0.3; 0.2 0.4 ; 3.0 0.4; 0.1 0.5; 1.5 0.5 ;0.5 0.6 ;1.6 0.7]; target=[1 1 0 1 0 1 0 1 0 0]; for j=1:50 err_T=0; for i=1:10 out=hardlim(inputs(i,1)*w1+inputs(i,2)*w2+w0*in0); delta_w0=0.5*(target(i)-out)*in0; delta_w1=0.5*(target(i)-out)*inputs(i,1); delta_w2=0.5*(target(i)-out)*inputs(i,2); w0=w0+ delta_w0; w1=w1+ delta_w1; w2=w2+ delta_w2; err_i=(target(i)-out)^2; err_T=err_T+err_i; end vector_epocas(j)=j; vector_err(j)=err_T; plot(vector_epocas,vector_err); ylabel('ERROR CUADRATICO') xlabel('EPOCA') end w0 w1 w2
  • 5. Página 5 6. Escriba en detalle la ecuación de cálculo de actualización de cada peso 7. Modifique el programa de la regla de aprendizaje para que ejecute el entrenamiento por descenso de gradiente. Transcriba el programa y el gráfico del aprendizaje w0=rand(); w1=rand(); w2=rand(); in0=1; n=0.5; alpha=4; inputs=[1.0 0.1 ;2.0 0.2; 0.1 0.3; 2.0 0.3; 0.2 0.4 ; 3.0 0.4; 0.1 0.5; 1.5 0.5 ;0.5 0.6 ;1.6 0.7]; target=[1 1 0 1 0 1 0 1 0 0]; for j=1:50 errT=0; for i=1:10 net=(inputs(i,1)*w1+inputs(i,2)*w2+w0*in0); out=1/1+exp(-alpha*net); delta_w0=0.5*(target(i)-out)*in0*alpha*out*(1-out); delta_w1=0.5*(target(i)-out)*alpha*out*(1-out)*inputs(i,1); delta_w2=0.5*(target(i)-out)*alpha*out*(1-out)*inputs(i,2); w0=w0+ delta_w0; w1=w1+ delta_w1; w2=w2+ delta_w2; erri=(target(i)-out)^2; errT=errT+erri; end vector_epocas(j)=j; vector_err(j)=errT; plot(vector_epocas,vector_err); ylabel('ERROR CUADRATICO') xlabel('EPOCA') end ∑
  • 6. Página 6 Valores Obtenidos: Gráfica de Resultados Evelyn Gabriela Lema y Fernando Javier Villalba Portilla afirmamos que esta actividad es de nuestra autoría y establecemos que para la elaboración de la misma se ha seguido los lineamientos del Código de Ética de la Universidad de las Fuerzas Armadas ESPE. 0 5 10 15 20 25 30 35 40 45 50 5 5.05 5.1 5.15 5.2 5.25 ERRORCUADRATICO EPOCA w0 w1 w2