Universidad Nacional de Ingeniería. FIIS-FIC. Curso de Capacitación: “Redes Neuronales y Simulación”.

Proyecto FINCYT:
Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. Código PIAP-1-P-676-13.
Pedro C. Espinoza H.

CAPÍTULO 3
INTRODUCCIÓN A LAS REDES NEURONALES ARTIFICIALES
1. NOCIONES GENERALES SOBRE REDES NEURONALES
1.1 Neurona artificial
Las neuronas biológicas tienen esencialmente tres componentes: el cuerpo de la célula,
las dendritas que actúan como canales de recepción de señales que vienen de otras
neuronas y el axón es el canal de emisión de señales de una neurona. El punto de unión de
una dentrita de una célula con el axón de otra, se denomina sinapsis. En este punto de
unión, que es entre membranas celulares, se produce intercambios de sustancias químicas y
por ende reacciones químicas e impulsos eléctricos, es decir todo un proceso complejo de
transferencia de información.
Modelo matemático de una neurona artificial
Un modelo de neurona artificial recoge las características esenciales señaladas en la
introducción y se formula mediante el siguiente diagrama:

El vector p  [ p1 , p2 ,..., pn ] representa a un conjunto de n señales pk , donde cada una de
ellas ingresa a la neurona por la correspondiente dentrita; a esta última le está asociado un
número w k denominado peso. Al conjunto de las n dentritas le corresponde el vector de
pesos W  [ w1 , w 2 ,......, w n ] . Cuando un vector de señales p que llega a la neurona el
proceso que sigue dentro del cuerpo de la célula, se representa mediante la suma de los
productos de cada señal por su peso, más un valor b denominado ganancia o sesgo de la
neurona. Todo esto se representa por la transformación afín:
Wp  b  w 1 p 1  w 2 p 2  ......  w n pn  b
Interpretación del producto Wp  b

47

Universidad Nacional de Ingeniería. FIIS-FIC. Curso de Capacitación: “Redes Neuronales y Simulación”. Proyecto FINCYT:
Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. Código PIAP-1-P-676-13.
Pedro C. Espinoza H.

Esta expresión matemática trata de representar lo que ocurre en una neurona biológica. Por
ejemplo una persona que conduce un vehículo, tiene el sentido de la visión en estado de
mayor alerta en comparación a los del oído o del gusto. La vista recibe información relativa
a las características de la pista, que el cerebro lo procesa y emite una respuesta, que se
traduce en reflejos orientados a los músculos de los brazos para controlar el timón y al de
los pies para el control de la caja de cambios y el freno. En este proceso unos datos son
acrecentados frente a otros que son disminuidos o anulados. Si p  [ p1 , p2 ,..., pn ]
representa todos los datos que recibe el conductor, los pesos W  [ w1 , w 2 ,......, w n ] ,
representan la intensidad con que son tomados en cuenta cada uno de los ellos. La ganancia
o sesgo b , podría interpretarse como una reacción de la neurona para incentivar, disminuir
o anular el valor final del producto Wp .
Finalmente, el valor de Wp  b es transformado mediante una función de transferencia
f (s ) de la neurona, dando lugar a la respuesta final de la misma: q  f (Wp  b) .
1.2 Modelo matemático de una capa de neuronas artificiales
Fig.1
Dato

Capa de 5 neuronas

Salida

Una capa de neuronas está formada por m neuronas, dispuestas en paralelo, esto es no hay
comunicación entre ellas, operan independientemente.
A cada neurona j , de la capa le está asociada una matriz fila W j  [ w j ,1 , w j , 2 ,......, w j , n ] que
es la matriz de pesos de dicha neurona. El proceso, dentro de la neurona j , se representa
mediante la suma de los productos de cada señal por su peso, más un sesgo b j , en otras
palabras por: W j p  b j  w j ,1 p 1  w j , 2 p 2  ......  w j , n pn  b j . Este valor es transformado por
la función de transferencia f j (s ) de la misma neurona j , dando lugar a la respuesta final:
q j  f j (W j p  b j ) . Este proceso se da en cada neurona en forma independiente.

Entonces la matriz de pesos de una capa de m neuronas será una matriz de orden mxn :

48

Universidad Nacional de Ingeniería. FIIS-FIC. Curso de Capacitación: “Redes Neuronales y Simulación”. Proyecto FINCYT:
Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. Código PIAP-1-P-676-13.
Pedro C. Espinoza H.

 w1,1 , w1, 2 ,......, w1, n 


w2,1 , w2, 2 ,......, w2 , n 

y la ganancia o sesgo de la capa será la matriz
W  [w j , k ]  
.......... .................. 


 wm ,1 , wm , 2 ,......, wm , n 

b1 
b 
columna b   2  de los sesgos de cada neurona de la capa.
... 
 
bm 
Donde la primera fila de las dos matrices corresponde a la primera neurona, la segunda a la
segunda neurona de la capa y así sucesivamente.

Para un vector p  p1 , p2 ,..., pn  que llega a la capa de neuronas, el proceso se representa
mediante el producto de la matriz de pesos W por el vector p , más el vector b de
ganancias de la capa de neuronas. Luego cada componente de este vector es transformado
por la función de transferencia de cada neurona. Las funciones de transferencia en cada
capa se representa mediante una función vectorial con valores vectoriales: F :  m  m ,
donde para cada vector s  ( s1 , s2 ,..., sm )  m , la función F está definida como:
F ( s )  [ f1 ( s1 ), f 2 ( s2 ),..., f m ( sm )] .

En consecuencia la respuesta de la capa será el vector q  F (Wp  b) , donde
F (Wp  b)  f1 (W1 p  b1 ), f 2 (W2 p  b2 ),..., f m (Wm p  bm )  , que es la señal procesada y

transformada por la capa de neuronas. Entonces es el vector de salida de la capa de
neuronas es q  F (Wp  b) .
De aquí, el proceso en una capa de m neuronas, no es otra cosa que una función
T :  n   m , que transforma una señal p n en un vector q m , definido por

q  T ( p)  F (Wp  b)
1.3 Funciones de transferencia
Existen muchas funciones de transferencia empleadas en el diseño de redes neuronales, las
más comunes son:
a) Limitador fuerte (Hardlim):
0 si s  0
f ( s)  
1 si s  0

49

Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. FIIS-FIC. b) Limitador fuerte simétrico (Hardlims): 1 si s  0 f ( s)    1 si s  0 c) Función de transferencia lineal positiva (poslin)  0 si s  0 f ( s)    s si s  0 d) Función de transferencia lineal (purelin): f (s)  s e) Función de transferencia lineal saturada (satlin)  0 si s  0  f ( s)   s si 0  s  1 1 si 1  s  f) Función de transferencia lineal saturada Simétrico (satlins) s  1   1 si  f ( s)   s si  1  s  1  1 si 1 s  g) Función de transferencia sigmoidal (logsig): f (s)  1 1  e s h) Función de transferencia tangente sigmoidal hiperbólica (tansig): 50 .Universidad Nacional de Ingeniería. Pedro C. Curso de Capacitación: “Redes Neuronales y Simulación”. Código PIAP-1-P-676-13. Espinoza H.

Capa de salida: Es la última capa que sigue a las capas anteriores y es la que envía la respuesta final de la red. e s  es f ( s)  tanh(s )  s e  e s i) Función de transferencia competitiva (compet)  1 neurona con s máximo f (s)    0 en los demas casos 1. k ] de m1 x n . de acuerdo a la ubicación de la capa en la RNA. Formulación matemática de una red neuronal multicapa Supongamos que se tiene una RNA de N capas. estas reciben diferentes nombres Capa de entrada: Es la primera capa de neuronas. Curso de Capacitación: “Redes Neuronales y Simulación”. Es la que recibe los datos de entrada a la red. un vector de ganancias b1  [bk1 ] y una función vectorial de funciones de transferencias F 1 ( S )  [ f11 ( s1 ). Pedro C. Espinoza H. Capas ocultas: Estas son las capas que siguen a la capa de entrada. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. una capa es una colección de neuronas. f m1 1 ( sm1 )] . FIIS-FIC. Código PIAP-1-P-676-13.... Entonces: a) Para la primera capa se tienen una matriz de pesos W 1  [ w1j .. Tampoco emiten las señales finales. los elementos de procesamiento se encuentran agrupados por capas.4 Redes neuronales de varias capas o redes multicapa Datos Capa de 5 neuronas Capa de 6 neuronas Dentro de una red neuronal. La salida es q1  F 1 (W 1 p  b1 ) 51 . f 21 ( s2 ).Universidad Nacional de Ingeniería.

Curso de Capacitación: “Redes Neuronales y Simulación”. pN ]. Entonces la respuesta q  q(x) depende de esta variable... t 2 . k ] de m 2 x m1 ..1 La RNA de aprendizaje supervisado. FIIS-FIC... denominándose RNA de variables binarias o variables continuas. que son los datos de entrada a la red. la respuesta de la RNA depende de los pesos y sesgos de todas las neuronas involucradas en ella... f 22 ( s2 ). qM ]. La señal emitida será q 2  F 2 (W 2Q1  b 2 ) c) Para la N -ésima capa se tendrá una matriz de pesos W N  [ w Nj ... que es una matriz del mismo orden de t . En este aspecto. Dada una matriz de vectores p  [ p1 .. Código PIAP-1-P-676-13.. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. 1. mN 1. se tiene una respuesta de la red: q  [q1 . Como es sabido.. De esta manera se observa que la salida final de la red neuronal de N capas será: p  q1  F 1 (W 1 p  b1 )  q 2  F 2 (W 2 q1  b 2 )      q N  F N (W N q m ( N 1)  b N ) Que es la composición de N transformaciones o N funciones vectoriales no lineales a valores vectoriales. k ] de mN x m( N  1) . Espinoza H. 52 . b) Para la segunda capa se tendrá una matriz de pesos W 2  [ w 2j .. que se concatenan o componen: T1 T2 TN n  m1  m2  .. p2 . es por el tipo de variables que se emplean. La señal emitida será Q N  F N (W N Q m ( N 1)  b N ) ..... q2 .... existen dos tipos de redes.. unas que tienen un aprendizaje supervisado y otras no.... pk  n (de n filas por N columnas).. un vector de ganancias b 2  [bk2 ] y una función vectorial de funciones de transferencias F 2 ( S )  [ f12 ( s1 ). Pedro C. f mN ( smN )] .5 Clasificación de las RNA en supervisadas y no supervisadas Existen otras clasificaciones de las redes neuronales.5. t M ]. Otra clasificación es por el tipo de aprendizaje.Universidad Nacional de Ingeniería.. qk  m . En síntesis es la composición de N transformaciones. se caracteriza por que está acompañada de una matriz de vectores t  [t1 . Una por ejemplo....... un vector de ganancias b N  [bkN ] y una función vectorial de funciones de transferencias N F N ( S )  [ f1N ( s1 ). t k  m (o sea t es una matriz de m filas por M columnas) denominada: valor esperado de la red. f m2 2 ( sm 2 )] . f 2N ( s2 ). El conjunto de estos pesos y sesgos se puede representar con una variable vectorial: x .

depuración y transformación de la data. Curso de Capacitación: “Redes Neuronales y Simulación”. denominadas Topologías. en el capítulo siguiente.BTF. Espinoza H. Estas redes tienen una sola capa. Esto se explicará en detalle.. bajo ciertas formas o estructuras geométricas.1 Sintaxis en MATLAB de la RNA Backpropagation (newff ) Para crear una red de propagación inversa se tiene la función: net = newff(Rango. Lo que se espera es que la respuesta de la red esté los más cercana posible al valor esperado t . cuyo número de neuronas lo elige el usuario. p N ]. Lo que se hará en esta oportunidad es en primer lugar describir brevemente la sintaxis en MATLAB de esta clase de RNA y luego desarrollar mediante un ejemplo. donde como se dijo antes.TFk}. 2... Cuando se ha conseguido esto se dice que la RNA ha sido entrenada. También se denominan RNA de propagación inversa.Universidad Nacional de Ingeniería. FIIS-FIC. p N ]. Código PIAP-1-P-676-13.(Ver la sección 4 de este capítulo) Las RNA de aprendizaje no supervisado.5 del capítulo 1. pk   n . solo de una matriz de vectores p  [ p1 . Su estructura o arquitectura es la misma que la de una red general..Ck]... Pedro C. p2 .. creación de la red neuronal Backpropagation. Además MATLAB ofrece visualizaciones gráficas de los clusters en dos dimensiones.BLF. su entrenamiento y finalmente la simulación.. es decir que E (x) encuentre un mínimo local. Su función es agrupar los vectores en grupos o clusters. cuando se aborden las RNA de Cohonen o Self-Organizing Maps. las etapas de ingreso de datos. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. p2 . Existen muchas Topologías que elige el usuario.{TF1 TF2... descrita en la sección 1... empleando parte de las normas o métricas descritas en 2. El aprendizaje de la red consiste en minimizar el error de la media cuadrática entre los vectores t y la respuesta q de la RNA a la que ha ingresado una secuencia de datos p  [ p1 . 2.. REDES NEURONALES BACKPROPAGATION EN EL PROBLEMA DEL COLESTEROL Estas RNA son supervisadas.PF) 53 .[C1 C2.. x es un vector que k 1 representa los pesos y sesgos de todas las neuronas que conforman la red. son las que no requieren del valor esperado t ... pk  n . En otros términos el aprendizaje de la red consiste en minimizar la función del error medio M cuadrático: E ( x)  1 2  q ( x)  t k 2 k .

2. que consiste en bombardear una muestra de sangre con iones (ionización) y los componentes de ella responden ante esta excitación formando un espectro y las característica del espectro. trainbfg.2022 0. Con esta técnica se hicieron las mediciones de los tres tipos de colesterol de cada muestra (HDL.3538 0. Curso de Capacitación: “Redes Neuronales y Simulación”. Espinoza H. donde: Rango= matrix de nx2. logsig..2290 0.2289 0. La función de transferencia TFi puede ser cualquiera de las funciones de transferencia diferenciable tales como: tansig. Con esta finalidad se practicaron dos técnicas: a) Espectro de Masas (EM).2366 0. traingd.i. Código PIAP-1-P-676-13.Universidad Nacional de Ingeniería. que tiene n filas. como su longitud de onda son únicas para cada componente). Pedro C.4448 0. Con esta la técnica se consiguieron las mediciones de las 21 longitudes de onda del espectro de cada muestra y se guardaron los valores en el archivo p. Por ejemplo los niveles del colesterol para el paciente Nº5 son: 35 151 51. LDL. formado por los mínimo y máximo de cada fila de la matriz de datos de entrada.2762 0. 54 .3002 0. Desde luego en el mismo orden que en p para mantener la correspondencia.2044 0.2356 0.Ck] de la red.3751 0.5406 0.3167 0.2496 0. y retorna una red neuronal Backpropagation de k capas. a partir de las mediciones de su espectro de masas. o purelin.2456 0. que es una matriz de 21 filas por 264 columnas. Por ejemplo los valores del paciente Nº5 son: 0.VLDL) y se guardaron en el archivo t. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. El problema es el siguiente: se les tomó una muestra de sangre a un total de 264 pacientes para medir el nivel de colesterol que poseen. Sucesión de capas [C1 C2.5037 0. TFi=Función de transferencia capa.i (por defecto = 'tansig') BTF=Función de entrenamiento de la red Backpropagation (por defecto = 'traingdx') BLF=Función de aprendizaje peso/sesgo de la red Backpropagation (por defecto = 'learngdm') PF=Función que mide la Performance (por defecto = 'mse'). trainrp. FIIS-FIC.5060 0.2610 0. Este es un ejemplo de MATLAB modificado en su desarrollo. que es una matriz de 3 filas por 264 columnas. La función de entrenamiento BTF puede ser cualquiera de las funciones de entrenamiento Backpropagation tales como: trainlm.3094 0.2 Ejemplo: determinación de las concentraciones de colesterol en una muestra de sangre.1945 b) La técnica tradicional consiste en seguir un procedimiento químico de separación del suero de la sangre y con ello se mide el nivel de colesterol.. Cada columna que tiene 21 valores que son las longitudes de onda de la muestra de cada paciente. Si los datos de entrada fuera solo una fila. entonces Rango será una matriz de 1x2 Ci=número de neuronas de la capa. etc.

Clas13). %creacion y entrenamiento de la red Rango=minmax(ptrans). test. %Simulacion de la red an = sim(net.[].0.Clas2).3 Explicación del programa del colesterol Paso 1. Paso 2. Enp = ptrans(:. net = newff(Rango.col] = size(ptrans). val. Clas2 = 2:4:col. FIIS-FIC.Clas4).Enp.VEt. Clas4 = 4:4:col.T = tn(:.{'tansig' 'purelin'}. end El resultado es la salida gráfica de las curvas de entrenamiento.b(i). VEt = tn(:. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.[]. Curso de Capacitación: “Redes Neuronales y Simulación”.'trainlm').:)). luego de haberse entrenado tomando como valor esperado las mediciones de colesterol que se encuentran en la matriz t. [tn.val. test.ts] = mapstd(t). 2.Clas4). for i=1:3 figure(i) [m(i).t(i.ts). Pedro C. Código PIAP-1-P-676-13.T = tn(:. validación y prueba (test) seguido de graficas de interpretación de la respuesta de la red.r(i)]=postreg(a(i.P = ptrans(:. las dos matrices p y t que son de orden 21x264 y 3x264 respectivamente. Normalización y depuración de los datos 55 . val. que compara los resultados que arroja la red con el valor esperado. que está en la matriz t.P = ptrans(:.Clas2).tr]=train(net.test). Clas13 = [1:4:col 3:4:col]. [net. Espinoza H.Universidad Nacional de Ingeniería.[5 3].an.ps1] = mapstd(p). a = mapstd('reverse'. [ptrans.Clas13). entre ellas la regresión lineal. El objetivo es encontrar una RNA que determine las concentraciones de colesterol a partir de mediciones de las longitudes de onda del espectro de una muestra de sangre.001).ptrans).:). Matrices de datos de entrada a la red >> load choles_all Este archivo guarda entre otras cosas. Previamente se correrá el programa completo que trae MATLAB: >> load choles_all [pn.ps2] = processpca(pn. [fil.

Curso de Capacitación: “Redes Neuronales y Simulación”. Para ver cómo ha variado el número de filas hacemos: >> S=size(ptrans) S = 4 264 Es decir la data se ha reducido a una matriz de 4 filas por 264 columnas. la validación y el test. Esta función transforma los elementos de cada fila de la matriz en otra. Poggi J-M. donde mc y dc son respectivamente.. De este modo resultan las matrices: pn y tn del mismo orden a las anteriores. val. la media y la desviación dc estándar de cada fila.P = ptrans(:. >>[ptrans. empleando la x  mc función H ( x)  ..001). tomando las clases Clas13. se aplica la función mapstd a las matrices p y t. b) Con estas clases se hace la elección de las columnas de ptrans. >> [pn. Clas4 = 4:4:col. FIIS-FIC.T = tn(:.Clas13). Tiene como objetivo depurar de las 21 filas de la matriz pn aquellas que son redundantes o que menos contribuyen a la variación en el conjunto de datos. VEt = tn(:. Clas4. es decir 132 columnas. a) Normalización Para evitar el ingreso de datos muy grandes o muy pequeños a las RNA. El resultado final se guarda en la matriz ptrans. Clas2 respectivamente.Clas4). Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.ps1] = mapstd(p). Que son 66 columnas en cada caso.ts] = mapstd(t). Un 25% para la validación y un 25% para el test.0. Pedro C. >> col=S(2). Código PIAP-1-P-676-13. b) Depuración de los datos mediante el Análisis de Componentes Principales MATLAB tiene la función processpca que realiza el análisis de componentes principales de una matriz. en este caso se toma un 50% para el entrenamiento. >>Enp = ptrans(:. [tn. para el entrenamiento. MATLAB sugiere para este tema la lectura de la publicación [3] Aminghafari M. estando por debajo de una la tolerancia indicada. Clas13 = [1:4:col 3:4:col].ps2] = processpca(pn. validación y test de la RNA a) Como la RNA tiene que entrenarse se debe separar la data en tres grupos de columnas. val. Clas2 = 2:4:col. Datos para el entrenamiento.Clas4). Espinoza H. Paso 3. Cheze N.Universidad Nacional de Ingeniería.Clas13). 56 . El proceso es biunívoco e independiente en cada fila y cada matriz. MATLAB hace la selección de las columnas de la matriz ptrans por medio de las clases de equivalencia módulo 4.

Curso de Capacitación: “Redes Neuronales y Simulación”. Pedro C. Esto indica que la matriz de pesos será de 5x4. test. automáticamente se inicializan los pesos y los sesgos de la primera capa 57 .{'tansig' 'purelin'}.T = tn(:. Creada la red. FIIS-FIC.1. La red creada es entonces: >>net = newff(Rango. que son algoritmos para resolver clases especiales de sistemas de ecuaciones. desarrolladas a partir de las publicaciones: [1] Marquardt D. y [2] Levenberg K. Paso 4. En este ejemplo se escogió dos capas. como ya se indicó en 2. %matriz de 4x2 El número de filas de Rango indica que cada neurona de la primera capa de la red tendrá 4 dentritas. La elección del número de capas y el número de neuronas por capa es opcional.'trainlm').Marquardt.[5 3]. Código PIAP-1-P-676-13.Clas2). es un procedimiento basado en el método de Levenberg .Universidad Nacional de Ingeniería. la primera de de 5 neuronas y la segunda de 3 neuronas. para la primea y segunda capa. Creación de la red Para crear una red Backpropagation con MATLAB. Espinoza H. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.1 La primera capa de la red tiene 5 neuronas y 4 dentritas cada una La segunda capa de la red tiene 3 neuronas y 5 dentritas cada una (pues la capa anterior tiene 5 neuronas) Las funciones de transferencia elegidas son tansig y purelin.P = ptrans(:.Clas2). respectivamente. se llama a la función newff: Como los datos de entrada están en la matriz ptrans de aquí sale el rango de la red con el código: >>Rango=minmax(ptrans). test. Fig. Para el entrenamiento se elige trainlm que según MATLAB. que se define en el corchete [5 3].

0040 0. La validación y el test lo realizarán las otras matrices definidas en el paso indicado. Curso de Capacitación: “Redes Neuronales y Simulación”.[].4590 -0. Esta curvas muestran el comportamiento de la norma del gradiente y que se vio en la sección 2. 2 Ejecutando los botones: a) Performance: se ven las curvas del entrenamiento.2980 1. 58 .VEt.3455 0.2416 -0. La norma del gradiente está por debajo de 0. Pedro C.IW{1.1178 -0.4229 2.8082 3. de la validación y del test. c) Regression: Presenta el R y la gráfica de la correlación entre el output y el valor esperado de la red.1} -1.0706 PESOS net.8842 -0.2 del capítulo 2.8345 Paso 5.2310 0. del mu y los errores del test.2272 -0.0157 2. en cada una de las tres etapas: entrenamiento.val.5354 -0. b) Training State: muestra el comportamiento del gradiente en cada iteración.0966 -0. Espinoza H.tr]=train(net.3741 1. Fig.Enp.Universidad Nacional de Ingeniería.0409 -1. La función de entrenamiento es train y su sintaxis es como sigue: >>[net. test y la correlación total. Luego de ejecutar esta fila sale el aplicativo que indica que se han realizado 100 iteraciones. 0. que se encuentra en la matriz VEt que fueron seleccionados en el paso3. validación.6949 2.5099 -1.0161 -0.1} 0. Código PIAP-1-P-676-13. FIIS-FIC.2613 GANANCIAS net. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.0352 1.3740 0.01. Entrenamiento de la RNA Este proceso se realiza con los datos de la matriz Enp y con la parte correspondiente del valor esperado.0529 0.test).[].b{1.

tperf) legend('ENTRENAMIENTO'.epoch. tr. FIIS-FIC. tr. tr.Universidad Nacional de Ingeniería. 5. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.-1). 5 Fig. ylabel('ERROR CUADRÁTICO MEDIO'). 4 Fig.epoch. como aparece en el gráfico de la Fig. 3 Fig. 6 Para graficar un nuevo cuadro con las curvas de entrenamiento.perf. Pedro C. tr. tr. leyenda.epoch. agregando el título. puede correr el siguiente programa: >>plot(tr. Código PIAP-1-P-676-13. Fig.'VALIDACION'.vperf. de validación y prueba.'TEST'. Curso de Capacitación: “Redes Neuronales y Simulación”. xlabel('ITERACIÓN') title('CURVAS DE:') 59 . Espinoza H. ejes.

Este proceso se realiza mediante la función postreg for i=1:3 figure(i) [m(i).5040 GANANCIAS net.0354 0. Para ver los resultados en el nivel y las características de la data original. end La salida esta formada por tres gráficas.1953 0.0802 0. El siguiente bucle muestra la regresión lineal entre el valor entregado por la red: a valor esperado: t. Simulación de la RNA Para ejecutar la simulación se llama a la función sim tal como aparece en el siguiente comando >>an = sim(net.an. >>size(a) ans = 3 264 Paso 8.8803 2. Espinoza H.3584 0.1556 0.b(i).2036 0. Código PIAP-1-P-676-13. donde las rectas de color rojo son las rectas de regresión por mínimo cuadrados.4403 -2. Conversión de la respuesta de la simulación an a valores originales En el paso 2 se normalizó la data y todo el proceso de entrenamiento y simulación de la red se ha realizado con valores normalizados.3408 0. 60 y el .7023 -0. La simulación consiste en ingresar por la red toda la data que contiene la matriz ptrans la red devuelve como respuesta la matriz an.1459 0.1198 1.IW{1. Pedro C.:)). producto de los procesos de minimización de la media cuadrática que se realiza durante el entrenamiento de la red y que son: 0. Nuevas matrices de pesos y ganancias Luego del entrenamiento aparecen nuevas matrices de peso y ganancias o sesgos.Universidad Nacional de Ingeniería. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.ts). llamando a la función: >> a = mapstd('reverse'.9515 2.4224 2.3626 1. se tiene que aplicar el proceso inverso de la normalización. Curso de Capacitación: “Redes Neuronales y Simulación”.2460 0.1407 0. FIIS-FIC.1} 1.7850 0.1024 PESOS net.8809 -0.t(i. con sus respectivos coeficientes de correlación R. Comparación del resultado entregado por la red y el valor esperado.r(i)]=postreg(a(i.6183 Paso 6.1206 -0.:).b{1. primero vemos de qué orden es an con: >>size(an) ans = 3 264 Paso 7.1} -0.6622 -0.ptrans).0198 0.

0000 37.9087 72. : ) 9.0000 5.2399 23.0000 26.1507 21.0000 20.9919 64.0000 8.0000 7.9 Además en cada arreglo [m(i).0000 4.0898 38. : ) 2.0000 16.5026 11.0000 38.8 Fig.3939 -0.2211 12.3105 35.0000 21.0000 22.4255 51.0000 19.0000 20.4744 62.:). : ) -3.7479 20.7835 14. Curso de Capacitación: “Redes Neuronales y Simulación”.0000 4.0363 t(3 .5488 56. 2.7395 38. presentamos las 3 filas de a y t pero en forma de columnas.0000 51.0000 8.0000 9.5577 41.7 Fig.6206 79.5579 61.0000 46.8160 34. : ) 0.5634 3. : ) 0.Universidad Nacional de Ingeniería.8425 30.9138 38. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.0000 52.4204 40.5968 1.0000 5.1571 40.0000 6.0000 8.0181 77.0000 22.0000 a(2 .0000 22. Fig.0000 6. r(i)es el coeficiente de correlación entre a(i. : ) 0.4879 53.0000 22.2645 59.8794 53.0000 7.3964 40. Código PIAP-1-P-676-13.2823 33.4902 45.0000 22.0000 19.6066 61 t(2.0000 5.9508 23.0000 8.0000 . En la tabla que sigue se muestran 25 columnas de a y t a(1 .0000 8.0000 a(3 .0576 21. juntamente con la primera columna de t y así sucesivamente y por separado con las otras columnas.0000 34. FIIS-FIC.3662 51.0000 21.5555 26.2240 40. m(i) es la pendiente y b(i)la ordenada en el origen de la recta de regresión.0000 51.0000 5.7420 20. Pedro C.4635 5.0000 20.0000 8.8228 37.0000 37.0000 42.9877 60.0000 52.6606 t(1 .4 Otra interpretación de la correlación de los resultados de la simulación Para comprender un poco más la correlación entre los valores esperados y el resultado de la simulación.r(i)].0000 16.0000 42.8573 47.9816 6.0000 23.5204 13.b(i).0000 8.0000 50.0000 37. Luego ordenamos la primera columnas de a en forma ascendente.9581 23.6914 16.:) y t(i.9246 55. Espinoza H.5298 -16.0000 37.

0000 70.:).0000 26.4088 47.0000 25.7994 73.:) y t(1.0000 23.0000 10. 1 a(1 .2730 39.7252 69.6918 7.0000 62 .0000 11.0000 150.0000 9.0000 62.6965 65.0000 10.0000 25.0000 0.0000 26. 12.5381 3.1320 32.5715 38.0000 200.0000 12.0000 24.0000 9.0000 22.0000 105.0000 26.4581 3.4699 76.0000 64.8599 39.0000 55.5958 13.0000 59. Curso de Capacitación: “Redes Neuronales y Simulación”.3065 35. Pedro C. para establecer un contraste entre la variación de una y otra.0000 23.0000 50.0000 60.0000 11.0000 350.0000 69.1874 27.0000 24.0000 68.8394 52.0000 después se grafican las curvas correspondientes a las filas a(1.0000 56. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.7840 62.3987 41.0000 54.0000 1 9 17 25 33 41 49 57 65 73 81 89 97 105 113 121 129 137 145 153 161 169 177 185 193 201 209 217 225 233 241 249 257 -50.0000 55. : ) 400.3000 45.0000 250. Así sucesivamente con las otras filas: Fig.5624 63.7925 25.4341 49.0000 67.4672 24.9333 23.8741 28.0000 10.4361 87.7491 35.0000 26. FIIS-FIC.0000 26.0000 11.0000 9. : ) t(1 .0000 69.0000 300.3442 37. Espinoza H.8837 88.0000 10.7101 39.Universidad Nacional de Ingeniería.0000 11.9249 92.6395 5.4610 102. Código PIAP-1-P-676-13.5554 40.6864 18.9674 187.9965 59.0000 24.0000 100.6528 8.4171 21.3628 46.0000 24.0000 9.4458 66.5182 41.

0000 100. Pedro C.0000 50.0000 20.0000 80. REDES NEURONALES BACKPROPAGATION EN EL PROBLEMA DE LA CLASIFICACIÓN DE TRES TIPOS DE FLORES 3. Espinoza H.0000 1 9 17 25 33 41 49 57 65 73 81 89 97 105 113 121 129 137 145 153 161 169 177 185 193 201 209 217 225 233 241 249 257 -50.0000 250. En la matriz t se guarda el código que identifica a cada tipo de flor y que son 1.Universidad Nacional de Ingeniería.0000 200. : ) 120. Estos datos se guardan en la matriz p.0000 60.0000 0.0000 100. Código PIAP-1-P-676-13.:) presentan una mayor distorsión en comparación a las dos primeras. 2 a(2 . Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. : ) 350. Fig. 63 .:)y t(3.0000 40.0000 300. FIIS-FIC. : ) t(3 .1 Reconocimiento de tipos de flor por las dimensiones de sus pétalos y sépalos El archivo que sigue guarda las medidas del ancho y largo de los pétalos y sépalos de tres clases de flores: Setosa.0000 1 9 17 25 33 41 49 57 65 73 81 89 97 105 113 121 129 137 145 153 161 169 177 185 193 201 209 217 225 233 241 249 257 Se observa que las filas a(3.0000 Fig. 3.0000 0. Verginica y Versicolor. 2 y 3 respectivamente.0000 150. 3 a(3 . Curso de Capacitación: “Redes Neuronales y Simulación”. : ) t(2. Esto corrobora los resultados que establecen la regresión lineal y los coeficientes de correlación. en las tres imágenes que entrega MATLAB.

Esta función transforma los elementos de x  mc cada fila de la matriz en otro. p=Q'. >>[ptrans. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.ps1] = mapstd(p). donde mc y dc son dc respectivamente la media y la desviación estándar de cada fila. Matrices de datos de entrada a la red Se copian los datos a la ventana de comandos de MATLAB: >> Q=[ ]. >> [pn. t=C'. El problema es crear una RNA Backpropagation que se entrene con los códigos que identifica a cada tipo de flor y que sea capaz de diferenciar uno de otro sólo por las dimensiones de sus pétalos y sépalos. 64 . Normalización y depuración de los datos a) Normalización Se aplica la función mapstd a las matrices p y t. Paso 2. Código PIAP-1-P-676-13. validación y test de la RNA a) MATLAB lo hace mediante subconjuntos de las clases de equivalencia módulo 4. empleando la función H ( x)  . Fig.Universidad Nacional de Ingeniería.001). b) Depuración de los datos mediante el Análisis de Componentes Principales MATLAB tiene la función processpca que realiza el análisis de componentes principales de una matriz. Para ver cómo ha variado el número de filas hacemos: >> S=size(ptrans) S = 4 150 Paso 3. Pedro C. Espinoza H. >> C=[ ].ps2] = processpca(pn. FIIS-FIC.1 Tipo de flor Codigo AnchPeta LongPeta AnchSepa LongSepa Setosa 1 2 14 33 50 Verginica 3 24 56 31 67 Verginica 3 23 51 31 69 Setosa 1 2 10 36 46 Verginica 3 20 52 30 65 Verginica 3 19 51 27 58 Versicolor 2 13 45 28 57 Versicolor 2 16 47 33 63 Paso 1.0. Datos para el entrenamiento. El resultado lo guarda en la matriz ptrans. [tn.ts] = mapstd(t). Es decir selecciona las columnas de la matriz ptrans de acuerdo a estas clases de números: >> col=S(2). Curso de Capacitación: “Redes Neuronales y Simulación”. Depurar de las filas de la matriz que se correlacionen entre sí.

8416 2.tr]=train(net.Clas2).7022 Paso 5.T = tn(:.5066 2. Pedro C.P = ptrans(:. Fig.Clas2).IW{1. FIIS-FIC.0480 0. Espinoza H.7693 2.VEt.2090 1.1249 PESOS net.Clas13). b) Con estas clases se hace la separacacion.1643 -0.5021 0. 3:4:col]. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.4149 0. Creación de la red Como los datos de entrada están en la matriz ptrans se hace: >>Rango=minmax(ptrans).2634 1.1615 2.8460 -0. Clas2 = 2:4:col.val.9203 -1.2 65 . automáticamente se inicializan los pesos y los sesgos de la primera capa 0. Clas13 = [1:4:col Clas4 = 4:4:col.1} -0. Rango = -3.5295 -0. val.T = tn(:.4820 >>net = newff(Rango.test).6346 -0.4722 1.3560 0.{'tansig' 'purelin'}.P = ptrans(:.0769 -0. VEt = tn(:.5858 0.b{1.0512 1.Clas4).6662 1.1} -1.'trainlm'). test.Clas13). %Entrenamiento %Validación %Test Paso 4.4181 0. Entrenamiento de la RNA >>[net. val. Creada la red.Clas4).0493 -2.9190 SESGOS net.[].4217 -0.4915 2. Curso de Capacitación: “Redes Neuronales y Simulación”.4467 -1.2957 -2.3053 0.0244 0.0755 -0.[]. test. >>Enp = ptrans(:. Código PIAP-1-P-676-13.Enp.Universidad Nacional de Ingeniería.[5 1].

3. agregando el título. leyenda. Epoch 0/100. Luego de correr. de validación y prueba.4689/0. ejes. la salida indica que en 20 iteraciones se logra el entrenamiento y muestra las curvas de entrenamiento en la Fig. correr el siguiente programa: 66 . Fig.3 Fig. 2 TRAINLM-calcjx.Universidad Nacional de Ingeniería. Código PIAP-1-P-676-13. Epoch 20/100.96349/1e-010 TRAINLM-calcjx. Validation stop. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.328009/0. MSE 0. Gradient 0. MSE 2. Pedro C. Gradient 3. FIIS-FIC.0218904/1e-010 TRAINLM. 4 Para graficar un nuevo cuadro con las curvas de entrenamiento. como aparece en el gráfico de la Fig. Curso de Capacitación: “Redes Neuronales y Simulación”. Espinoza H.

ylabel('ERROR CUADRÁTICO'). Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.'TEST'. tr.tperf) legend('ENTRENAMIENTO'.epoch. >>plot(tr.epoch. Pedro C. tr. Espinoza H. xlabel('ITERACIÓN') title('CURVAS DE:') 67 .-1). Curso de Capacitación: “Redes Neuronales y Simulación”.'VALIDACION'.vperf. FIIS-FIC. tr.perf. tr.epoch. Código PIAP-1-P-676-13.Universidad Nacional de Ingeniería. tr.

ptrans).ts).5 ENTRENAMIENTO VALIDACION TEST 3 2.:).3847 -2.8302 1.0688 0.7234 GANANCIAS net.4299 0.1} -1.7925 0. CURVAS DE: 4 ERROR CUADRÁTICO 3. >>size(an) ans = 1 150 Paso 7.0651 0. Curso de Capacitación: “Redes Neuronales y Simulación”.0348 PESOS net.b(i).Universidad Nacional de Ingeniería. Conversión de la respuesta de la simulación an a valores originales >> a = mapstd('reverse'.5386 1.3835 1.5706 0.t(i.0686 -0.b{1.9296 -2. Comparación del resultado entregado por la red a y el valor esperado t.1} -2.7694 Paso 6.1522 0.5360 -0. FIIS-FIC.7608 -0.3760 3. end La salida esta formada por una sola gráfica con el coeficiente de correlación R.an.1139 -0.r(i)]=postreg(a(i. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. Código PIAP-1-P-676-13. Simulación de la RNA >>an = sim(net.IW{1.5 0 0 2 4 6 8 ITERACIÓN 10 12 Nuevas matrices de peso y ganancias 0. Pedro C.8690 -1. Este proceso se realiza mediante la función postreg for i=1:1 figure(i) [m(i). 68 .2884 0.5 1 0. size(a) ans = 1 150 Paso 8.8354 2.:)).8644 0.5 2 1.5633 1. Espinoza H.5319 -0.

9935 20 52 30 65 3 2. Espinoza H. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. juntamente con la columna a.0901 9 Verginica 17 45 25 49 3 2.9451 Versicolor 13 45 28 57 2 2.5 0 50 100 150 b) La columna a se copia a la hoja de Excel donde se encuentran los datos y t. Pedro C.9956 31 69 3 2.1152 8 Versicolor 16 47 33 63 2 2.2 Otra interpretación de la correlación de los resultados de la simulación Se presenta a y t en forma de columnas formando una tabla.0382 31 67 3 2.9228 Verginica 19 51 27 58 3 2. t a 50 1 1.9329 10 36 46 1 0.5 2 1. FIIS-FIC.5 t a 3 2. 3.7781 Especie AnchPeta LongPeta AnchSepa LongSepa Nº 1 Setosa 2 14 33 2 Verginica 24 56 3 Verginica 23 51 4 Setosa 2 5 Verginica 6 7 69 . Código PIAP-1-P-676-13.Universidad Nacional de Ingeniería. >> TABLA=[a' t'] a) Se grafica con plot 3.5 1 0. Se ordena la columnas t en forma ascendente. Curso de Capacitación: “Redes Neuronales y Simulación”.

2567 95 Versicolor 13 54 29 62 2 2.Universidad Nacional de Ingeniería. descrito en el parágrafo 1. Código PIAP-1-P-676-13. Curso de Capacitación: “Redes Neuronales y Simulación”.5221 100 Versicolor 17 50 30 67 2 2.5.3954 98 Verginica 23 69 26 77 3 2.7246 109 Verginica 14 56 26 61 3 2. Pedro C. la primera con dos neuronas. 4. pero donde se muestra parte de los aspectos matemáticos que explican la implementación del método del gradiente y la regla de la cadena para encontrar un mínimo local del error medio cuadrático. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.6756 106 Verginica 16 58 30 72 3 2.7386 110 4.3308 96 Versicolor 13 56 29 66 2 2.6031 102 Verginica 18 48 30 60 3 2.6937 107 Verginica 20 67 28 77 3 2. En cambio hay 5 errores entre las dos especies restantes. FIIS-FIC. juntamente con la columna t y se observa que la red ha identificado completamente a la especie Setosa. APRENDIZAJE DE LAS RNA BACKPROPAGATION Y LA REGLA DE LA CADENA EN LA DERIVACIÓN DE FUNCIONES COMPUESTAS. Luego se ordena a en forma ascendente. se desarrollan estas ideas mediante un ejemplo.6564 105 Verginica 18 51 30 59 3 2. Dada la importancia de este concepto.6412 104 Verginica 18 49 30 61 3 2.5734 101 Versicolor 15 49 25 63 2 2.5147 99 Verginica 15 51 28 63 3 2. donde cada neurona tiene solo un canal de entrada (una dentrita) y la segunda una neurona con dos canales de entrada (dos dentritas).2315 94 Verginica 13 52 30 67 3 2. Espinoza H.6242 103 Verginica 23 61 30 77 3 2.7212 108 Versicolor 16 51 27 60 2 2. 70 . Especie AnchPeta LongPeta AnchSepa LongSepa Codigo Red Especie Versicolor 15 46 28 65 2 2.3804 97 Versicolor 18 48 32 59 2 2.1 de la sección 1.1 Un ejemplo simple de aprendizaje supervisado en RNA Backpropagation Consideremos una RNA de dos capas.

..1  Matriz de pesos W   1  es una matriz de 2x1 w2. Pedro C....... T2 ..1 p  b 2 ) b) Segunda capa: 71 (tansig ) .1 p  b11  V W P b = 1  1  w2 . p n ) .2 Formulación matemática de las capas a) Primera capa w11. En general si la respuesta esperada de la red es T (T1 .. una a una.. Rn ) .. Este valor se llama respuesta o valor esperado de la red. Entonces la red cambiará sus pesos y ganancias para entregar una respuesta R ( R1 . Espinoza H. para un conjunto de datos que se le suministra P ( p1 . cada neurona sólo tiene una dentrita.. k 1 Como en este ejemplo. Tn )  n . entonces ingresarán las componentes de P ( p1 ... R2 .1 p  b 2  1 1 1 Funciones de transferencia de la primera capa  f11 ( s1 )   tanh(s1 )  e s  e s 1 1 = ...... p n ) ..1  1 b11  Vector de ganancias b1    es una matriz 2x1 1 b2  Dentro de la primera capa (antes de ser transformada) se tiene  w11. que se aproxime a un valor Tk fijado.. que se aproxima a T (T1 ...1 p  b11 )   1 1  . p 2 . p 2 . 4. Curso de Capacitación: “Redes Neuronales y Simulación”. Código PIAP-1-P-676-13.. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.. se busca una respuesta Rk de la red. donde F ( S )  1 f1 ( s)  f 2 ( s )  tanh(s )  s    e  es  f 2 ( s2 )  tanh(s2 )  1 Salida de la primera capa Q11  Q   1  = F 1 (V 1 )  Q2  1  f11 (V11 )   1 1   f 2 (V2 )   f 11 ( w11. es una matriz de 2x1 1  f 2 ( w 2.Universidad Nacional de Ingeniería. Supuesto que para cada dato pk .. FIIS-FIC... T2 . Tn ) . de modo n que minimice la media cuadrática 1 2  (T k  Rk ) 2 ..

2 .3 Método del gradiente heurístico en el aprendizaje de la RNA El vector x  ( w11.1 . Aplicando la regla de cadena. se denotará con Q 2 el valor de Rk . Pedro C.1 .2 del capítulo 3. con un factor de pequeño 0  s  1 . 72 . FIIS-FIC. indica que para minimizar la función E (x) deben actualizase los pesos y las ganancias de las dos capas. k 1 empleando el método del gradiente heurístico de la sección 2. b12 ) . w12. w12.1 . w12. matriz de 1x1 . b11 . 2 Q12  b12 )  w12. b11 . 2Q12  b12 Funciones de transferencia de la segunda capa F 2 ( s)  [ f12 ( s)]  f12 ( s) . de la sección 2. w12. El error en media cuadrática será la función n F ( x)  1 2  (T k  Rk ) 2 de 7 variables. Código PIAP-1-P-676-13. donde f12 ( s ) s (identidad= purelin) Salida de la segunda capa Q 2  F 2 (V 2 )  f12 ( w12.Universidad Nacional de Ingeniería. capítulo 3.1 .1 . b12 ) es el vector de pesos y ganancias de la RNA del ejemplo que se viene implementando. se comienza derivando las funciones de la segunda capa. b21 . w12.   Matriz de pesos W 2  w12.1 . Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. de aquí viene el nombre de la red: Backpropagation. El algoritmo del gradiente heurístico.1Q11  w12. 2 es una matriz de 1x2 Vector de ganancias b 2  [b12 ] es una matriz 1x1 Dentro de la segunda capa (antes de ser transformada) se tiene V 2  W 2 Q1  b 2  w12. Espinoza H. w12. b21 . 2 Q12  b12 4. 2 . Curso de Capacitación: “Redes Neuronales y Simulación”. Entonces se debe minimizar la función E ( x)  12 (Tk  Q 2 ) 2 El proceso de entrenamiento comienza dándole un valor inicial aleatorio al vector de pesos y ganancias x  ( w11.3. para la derivación de funciones compuestas.1 .1Q11  w12. w12.1Q11  w12. Basta minimizar cada sumando E ( x)  12 (Tk  Rk ) 2 . En vista de las notaciones establecidas en 2.2.

2 V2 b2 1 Respecto de los pesos y ganancias de la segunda capa a) La derivada parcial de E (x) respecto del peso w12.1  s 1 ( x) w2.1  s w1 ( x) 1.  2 E 2  w1. Curso de Capacitación: “Redes Neuronales y Simulación”.1 Q 2  F 2 (V 2 )  f 12 (V 2 ) . Código PIAP-1-P-676-13. Espinoza H. V 2  w12. en la derivación de funciones compuestas de varias variables.1  w1.1Q11  w12. respecto de los pesos y ganancias.1  E  (2. se necesitan las derivadas parciales de E ( x)  12 (Tk  Q 2 ) 2 . 2   2 E b1  b12  s 2 ( x)  b1 Luego se actualizan los pesos y ganancias de la primera capa E  1 1  w1. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.1  w1.1   1 E 1  w2 .1  (2. 2 Q12  b12 73 . En el caso del ejemplo debe tomarse en cuenta las siguientes relaciones de dependencia. FIIS-FIC. 2  w12.1b)  b1  b1  s E ( x) 1  1 b11  b1  b1  s E ( x) 2  2 b21 Derivadas parciales de E (x) Para seguir desarrollando. por ejemplo: w2 1.1a)  w12. Para esto se aplica la regla de la cadena. 2  s 2 ( x) w1. establecidas para la primera y segunda capa.1 Q2 w2 1. Pedro C.Universidad Nacional de Ingeniería.1  w2.1  s 2 ( x) w1.

Pedro C.1 74 . 2 pero Entonces E ( x)  (Tk  Q 2 )  ( f12 ) (V 2 )  Q21 2 w1.Universidad Nacional de Ingeniería.  E dQ 2 V 2 2 ( x )  ( T  Q )   k w12.1 b) La derivada parcial de E (x) respecto del peso w12. Entonces dV 2 b12  E ( x)  (Tk  Q 2 )  ( f12 ) (V 2 ) 2 b1 Respecto de los pesos y ganancias de la primera capa a) La derivada parcial de E (x) respecto del peso w11. 2 Q12  b12 E dQ 2 V 2 2 ( x )  ( T  Q )   k w12.  1 . FIIS-FIC. 2 pero dQ 2 V 2 2  2 = ( f1 ) (V ) .1Q11  w12.1 dV 2 w12.  V 2  w12. Curso de Capacitación: “Redes Neuronales y Simulación”. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. 2 dQ 2 = ( f12 ) (V 2 ) y dV 2  V 2  w12. 2 Q12  b12 V 2  Q21 . 2 w1. 2 dV 2 w12. 2 Q 2  F 2 (V 2 )  f12 (V 2 ) . Espinoza H. Código PIAP-1-P-676-13. 1 dQ 2 = ( f12 ) (V 2 ) y 2 dV  V 2  Q11 .1Q11  w12.  E dQ 2 V 2 2 ( x )  ( T  Q )   k w12.1 pero Entonces E ( x)  (Tk  Q 2 )  ( f12 ) (V 2 )  Q11 2 w1. 2 dV 2 w12. w12. 2 c) La derivada parcial de E (x) respecto la ganancia b12 Q 2  F 2 (V 2 )  f12 (V 2 ) .

. 2  ( f 21 )(V21 )  p w12 . Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. Q 2  F 2 (V 2 )  f12 (V 2 ) . Curso de Capacitación: “Redes Neuronales y Simulación”. .1 pero dQ 2 V 2 Q21 V11 2  2 2 1 1  = .1 c) Derivada parcial de E (x) respecto de la ganancia b11 Q 2  f12 (V 2 ) . .1 p  b11 75 .1  ( f11 )(V11 )  p 1 w1. 1 1.Universidad Nacional de Ingeniería. 2 Q12  b12 .1Q11  w12. V 2  w12.  V 2  w12. Q11  f 11 (V11 ) . Entonces 1 1. 1 p  b11 E Q 2 V 2 Q11 V11 2  ( x )  ( T  Q )    k w11. 2 Q12  b12 . Q21  f 21 (V 21 ) . 2 2 2 dV 2 Q12 V21 w12 .1Q11  w12. 2  ( f 21 )(V21 ) E ( x)   21 p w12. Pedro C.1Q11  w12. Código PIAP-1-P-676-13. 2 Q12  b12 .1 Denotando  11  (Tk  Q 2 )  ( f12 )(V 2 )  w12.1 .1 Llamando   21  (Tk  Q 2 )  ( f 22 )(V 2 )  w12.1 V 2 Q11 V11 w11. Q11  f 11 (V 11 ) . V11  w11. ( f ) ( V )  w  ( f ) ( V )  p. .1  E ( x)  (Tk  Q 2 )  ( f 22 )(V 2 )  w12.1 b) La derivada parcial de E (x) respecto del peso w12.1 pero dQ 2 V 2 Q21 V11 2  2 2 1 1  = . Espinoza H.1 1 1 dV 2 Q11 V11 w11.1 w2 .1  E ( x)  (Tk  Q 2 )  ( f12 ) (V 2 )  w12. FIIS-FIC. V21  w12. Q 2  F 2 (V 2 )  f12 (V 2 ) . 1 p  b21 Q 2 V 2 Q21 V21 E 2   1 ( x)  (Tk  Q )    V 2 Q12 V21 w12 . ( f ) ( V )  w  ( f ) ( V )  p . V11  w11.  Entonces sale E ( x)   11 p 2 w1.1  ( f11 ) (V11 ) . V 2  w12.

. V 2  w12.1Q11  w12. V21  w12 .Universidad Nacional de Ingeniería. Entonces V 2 Q11 V11 b11  E ( x)  (Tk  Q 2 )  ( f12 )(V 2 )  w12. 2  ( f 21 )(V21 ) E ( x)   21 b21 Reemplazando las derivadas de las funciones de transferencia a) Para la primera capa e s  e s 1  1 2 f11 ( s )  f 21 ( s)  tanh(s)  s  s entonces ( f k ) ( s )  1  [ f k ( s )] e e 76 . . Código PIAP-1-P-676-13.1  ( f11 ) (V11 ) E ( x)   11 b11 d) Derivada parcial de E (x) respecto de la ganancia b12 Q 2  f12 (V 2 ) . Curso de Capacitación: “Redes Neuronales y Simulación”. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.1  ( f11 )(V11 ) 1 b1 Como   11  (Tk  Q 2 )  ( f12 )(V 2 )  w12. Entonces 1 1.1 . Pedro C.  w1.  ( f ) ( V )  w  ( f ) ( V )  1. 2  ( f 21 )(V21 ) 1 b2 Como   21  (Tk  Q 2 )  ( f 22 )(V 2 )  w12. 2 Q12  b12 .  1 . FIIS-FIC. Q21  f 21 (V 21 ) .  ( f1 ) (V1 ) .  E Q 2 V 2 Q11 V11 2 ( x )  ( T  Q )     k b11 V 2 Q11 V11 b11 pero Q 2 V 2 Q11 V11 2 2 2 1 1    ( f1 ) (V ) . 2 2 2 V 2 Q12 V21 b12  E ( x)  (Tk  Q 2 )  ( f 12 )(V 2 )  w12. Espinoza H.1 p  b21  Q 2 V 2 Q21 V21 E 2  pero ( x )  ( T  Q )    k V 2 Q12 V21 b21 b21 Q 2 Q21 V21 V 2 2 2 2 1 1   .

1 b)  E ( x) = p (Tk  Q 2 )  w12.1  w12. b) Para la segunda capa f12 ( s )  s entonces ( f12 ) ( s)  1 Se tienen las siguientes derivadas parciales: Respecto de los pesos y ganancias de la segunda capa a)  E ( x)  (Tk  Q 2 )  Q11 2 w1. Espinoza H.1  ( 1  [ f11 (V11 )]2 ) 2 w1. FIIS-FIC. Código PIAP-1-P-676-13.1 c)  E ( x) = (Tk  Q 2 )  w12. 2  ( 1  [ f 21 (V21 )]2 ) 1 b2 Actualización de los pesos y ganancias en su forma vectorial Segunda capa a) w12. 2  s(Tk  Q 2 )  Q12 77 .1  s(Tk  Q 2 )  Q11 b) w12. 2  w12. 2 c)  E ( x)  (Tk  Q 2 ) 2 b1 Respecto de los pesos y ganancias de la primera capa Como ( f11 ) (V11 )  1  [ f11 (V11 )]2 y ( f 21 ) (V21 )  1  [ f 21 (V21 )]2 . Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. Pedro C. Curso de Capacitación: “Redes Neuronales y Simulación”. 2  ( 1  [ f 21 (V21 )]2 ) w12 .1  ( 1  [ f11 (V11 )]2 ) b11 d)  E ( x) = (Tk  Q 2 )  w12. se tiene a)  E ( x) = p (Tk  Q 2 )  w12.Universidad Nacional de Ingeniería.1 b)  E ( x)  (Tk  Q 2 )  Q21 2 w1.

3 Ejemplo 1: red neuronal Backpropagation para aproximar una función Consideremos la función h( s)  sen( 3 s) cos( 6 s) con  2  s  2 y un vector P ( p1 . Espinoza H. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.1  w12.1 .1   w11. Mf    0 .. 2] .. que para el vector de entrada P .1  w11.1   1 de (a) y (b) se tiene W 1  W 1  sp (Tk  Q 2 ) Mf 1 *W 2 de (c) y (d) se tiene b1  b1  s(Tk  Q 2 ) Mf 1 *W 2 4.1  sp (Tk  Q 2 )  w12.. de (a) y (b) se tiene W 2  W 2  s(Tk  Q 2 )Q1 b12  b12  s (Tk  Q 2 )  ( 1  [ f12 (V 2 )]2 ) Primera capa a) w11.. 2  ( 1  [ f 21 (V21 )]2 ) c) b11  b11  sp (Tk  Q 2 )  w12. Q12 ) . t 2 ..1  sp (Tk  Q 2 )  w12. Pedro C. Q1  ( Q11 .1  ( 1  [ f11 (V11 )]2 ) d) b21  b21  s (Tk  Q 2 )  w12.. W   2  .  0 2 1 Denotando W   1  .. 78 . Se quiere construir una RNA de propagación inversa.. FIIS-FIC. 1  1  [ f11 (V11 )]2 . t N ) . p N ) cuyas componentes son los puntos de una partición del intervalo [2 .. donde t k  sen( 3 pk ) cos( 6 pk ) ..4 Implementación en un programa propio en base a los resultados de 4. Código PIAP-1-P-676-13.. aproxime los valores de la función h(s ) en los puntos de esta partición. w12. 1  [ f 21 (V21 )]2  w1. 2   w2 . c) b12  b12  s (Tk  Q 2 ) Forma vectorial: Denotando W 2  ( w12.1  ( 1  [ f11 (V11 )]2 ) b) w12. 2  ( 1  [ f 21 (V21 )]2 ) Forma vectorial de la actualización w12. es decir aproxime el vector T (t1 . Curso de Capacitación: “Redes Neuronales y Simulación”.Universidad Nacional de Ingeniería. 2 ) . p 2 ..

Programa propio en MATLAB % vector de entrada P=partición de [-2. TABLA=[P'.4 0. end end %valores de P.1.5 2 . Mf1=[1-Q1(1)^2. Curso de Capacitación: “Redes Neuronales y Simulación”.'o'. h=(b-a)/N.2]. Pedro C. % Matriz de 2x2 % salida de la segunda capa V2=dot(W2. Espinoza H. b2=b2+s*(T(i)-Q2). b1=[0.'r'). Ya se dijo que el entrenamiento consiste en minimizar el error.6 SALIDA R VALOR ESPERADO 0. b1=b1+s*(T(i)-Q2)*Mf1*W2.2] y la respuesta esperada T a=-2.R=salida de la RNA.2 -0.2.R.1.Q1(2)^2].0. 79 0 EJE X 0.3].5]. Bucle de salidas y entradas a la RNA for k=1:KK for i=1:N+1 % salida de la primera capa V1=P(i)*W1+b1. % atualización de pesos y ganancias en las dos capas W1=W1+s*P(i)*(T(i)-Q2)*(Mf1*W2). for i=1:N+1 P(i)=a+h*(i-1). W2=W2+s*(T(i)-Q2)*Q1.tanh(V1(2))]. N=50. b=2. 0.4 -0.5 la última capa.3 para explicar el aprendizaje de una red. ylabel('EJE Y').5 1 1. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. Código PIAP-1-P-676-13.8 -2 -1.Universidad Nacional de Ingeniería. en media cuadrática entre los vectores T y la respuesta de la RNA en cada componente del vector de entrada P . 0 -0.7.15. Consideremos una RNA de 2 capas.'VALOR ESPERADO'. s=0. Q1=[tanh(V1(1)). Q2=V2.-0.0.T.8 0. FIIS-FIC.2 EJE Y %.0.T'. b2=0.T.1). W2=[0.Q1)+b2. end % Inicialización de pesos. T(i)=sin(pi*P(i)/3)*cos(pi*P(i)/6).P. ganancias y el valor pequeño “s” W1=[-0.1.R'].6 % función que guarda la respuesta de -0. 0. % Gráficas plot(P. legend('SALIDA R'. como el que se utilizó en 4. para cada P(i) R(i)=Q2.5 -1 -0. Esto nos conduce al desarrollo de un programa que se hará en MATLAB. RED NEURONAL: KK=300.

[3 1].R). Espinoza H.[]. net = newff(Rango. [tn.99563 4.val.'trainlm'). FIIS-FIC.{'tansig' 'purelin'}. El nivel de correlación es alto: 0. test. N=50.Clas2).Clas4). Enp = pn(:.Clas2). Clas13 = [1:4:col 3:4:col].T = tn(:. val.5 Solución del mismo ejemplo 1 con los recursos de MATLAB Generacion de datos Se generan los datos de entrada a la RNA de la misma manera y se guardan en la matriz p. Clas2 = 2:4:col.ts] = mapstd(t). % se omite el uso de processpca por que p es de una fila.T = tn(:.col] = size(p).ps1] = mapstd(p). test.Clas13). for i=1:N+1 p(i)=a+h*(i-1).P = pn(:. VEt = tn(:.P = pn(:. 80 . t(i)=sin(pi*p(i)/3)*cos(pi*p(i)/6). h=(b-a)/N. Clas4 = 4:4:col.Enp. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. val.[]. El valor esperado en t a=-2.tr]=train(net.Universidad Nacional de Ingeniería. Código PIAP-1-P-676-13. xlabel('EJE X') title('RED NEURONAL:') Nivel de correlación obtenido entre T y R >>postreg(T. Pedro C.Clas13). [net.VEt.test). Curso de Capacitación: “Redes Neuronales y Simulación”. b=2.Clas4). Creación de la red Rango=minmax(pn). end Transformacion (y depuracion) de los datos [pn. [fil.

Curso de Capacitación: “Redes Neuronales y Simulación”.Universidad Nacional de Ingeniería. Pedro C. Espinoza H. Código PIAP-1-P-676-13. 81 . Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. FIIS-FIC.

Simulación an = sim(net. Espinoza H.pn).an. Pedro C.r(i)]=postreg(a(i. legend('SALIDA DE LA RED'.'o'.p.'r').:)). end Grafica de la respuesta de la red y del valor esperado plot(p.t. FIIS-FIC.Universidad Nacional de Ingeniería. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. a = mapstd('reverse'.:).'VALOR ESPERADO'. xlabel('EJE X') title('RED NEURONAL:') 82 .t(i. for i=1:1 figure(i) [m(i).ts).a.b(i).-1). ylabel('EJE Y'). Código PIAP-1-P-676-13. Curso de Capacitación: “Redes Neuronales y Simulación”.

no se contempla el control del gradiente mediante una tolerancia tol.0000 -0.1600 0.0836 0.4330 -1.5 2 Tabla de valores: entrada. c) Es interesante ver el comportamiento de la matriz Hessiana en puntos próximos a un punto crítico.2468 …………………………………………………………………… 1. d) La respuesta de la red desarrollada con los recursos de MATLAB. D.2467 0.t'.0000 0. Código PIAP-1-P-676-13.5350 1.4849 2. Curso de Capacitación: “Redes Neuronales y Simulación”.1662 -0.4 -0. respuesta y valor esperado >>TABLA=[p'. K. debido a las 300 iteraciones se logra obtener una buena aproximación. esto se debe a que MATLAB emplea algoritmos más eficientes para la búsqueda de mínimos locales.9200 -0. No obstante ello. TABLA = -2. no es más que un problema de minimización local del error en media cuadrática.5 -1 -0.1662 0.6 SALIDA DE LA RED VALOR ESPERADO 0.0836 0 0 0.0836 0.2 -0.1662 -0. es muy superior al que se consigue con el programa propio. exactamente con la misma arquitectura. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.4330 -0.1600 -0.5349 0.2400 0.2 0 -0.8 0.5 0 EJE X 0. por cuanto es una condición para que la función no lineal tenga un mínimo local en el punto crítico. RED NEURONAL: 0.a'].4330 Observaciones finales a) En el programa propio con MATLAB.5 1 1. Un programa más completo tendría que considerar todos estos aspectos para estar seguros de la convergencia del proceso iterativo a algún punto crítico de la función no lineal E ( x)  12 (Tk  Q 2 ) 2 . y [2] Levenberg.0800 0. FIIS-FIC.Universidad Nacional de Ingeniería.9200 0.0836 -0. como son los de [1] Marquardt. Pedro C. b) Debe quedar muy claro que el aprendizaje supervisado de una red neuronal.8 -2 -1.4848 0.1662 0. Espinoza H.4 EJE Y 0.4330 0. 83 .8400 0. Si se logra una buena solución esta matriz será definida negativa.6 -0.0000 0.4849 …………………………………………………………………… -0.4848 -0.0800 -0.

1963. Poggi. donde sus componentes están descritos por: a=0. [3] Aminghafari. Describa la transformación   ejercicio 1. donde la primera tiene dos entradas (dentritas) la segunda una entrada. Vol.. Curso de Capacitación: “Redes Neuronales y Simulación”. una red de 2 neuronas. Desarrolle en MATLAB una red neuronal Backpropagation. Ejercicios 4. [2] Levenberg." Computational Statistics & Data Analysis. Luego entrene la red neuronal con los mismos datos de entrada del ejercicio 1. Vol. 11. matrice y transformaciones dos capas de neuronas.. 84 . Appl.Universidad Nacional de Ingeniería. 1944. Math. Appl. Genere en MATLAB una red neuronal Backpropagation. N=100. b] cualquiera. J-M. pp 431-441. Las funciones de transferencia son tansig y logsig respectivamente. "A Method for the Solution of Certain Problems in Least Squares.(2006). Espinoza H. for i=1:N+1 P(i)=a+h*(i-1)." SIAM J. D. pp. Ejercicios 1. cada una con 3 dentritas y la segunda de dos neurona. M. 50.. la primera con 4 neuronas y la segunda de 1 neurona y con funciones de transferencia tansig. Pedro C. Desarrolle un programa en MATLAB para el ejercicio 1 y aplique dicha red para aproximar la gráfica de la función h ( s)  sen( x 2 ) cos( 3 x) en un intervalo [a. matrices y transformaciones. Describa mediante vectores. 2. 5. "An Algorithm for Least-Squares Estimation of Nonlinear Parameters. Describa mediante vectores. 3. de dos capas.. 2381-2398." Quart. "Multivariate denoising using wavelets and principal component analysis. purelin respectivamente. BIBLIOGRAFIA [1] Marquardt. de dos capas. 6. Math. la primera con 3 neuronas y la segunda de 1 neurona y con funciones de transferencia tansig. Las funciones de transferencia para todas las neuronas es tansig.b=4. Código PIAP-1-P-676-13. Cheze. purelin respectivamente. pp 164-168. K. la primera de 3 neurona. N. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. end n T m  correspondiente a la capa de neuronas del 2. T(i)=4*cos(pi*P(i)/4). h=(b-a)/N. Luego entrene la red neuronal con los siguientes datos entrada P y el valor esperado T. FIIS-FIC.