Está en la página 1de 38

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

Espinoza H.Universidad Nacional de Ingeniería. 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. 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 . FIIS-FIC. Curso de Capacitación: “Redes Neuronales y Simulación”. Pedro C.

4 Redes neuronales de varias capas o redes multicapa Datos Capa de 5 neuronas Capa de 6 neuronas Dentro de una red neuronal. un vector de ganancias b1  [bk1 ] y una función vectorial de funciones de transferencias F 1 ( S )  [ f11 ( s1 ). f m1 1 ( sm1 )] . FIIS-FIC. La salida es q1  F 1 (W 1 p  b1 ) 51 . una capa es una colección de neuronas. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.. Capas ocultas: Estas son las capas que siguen a la capa de entrada. estas reciben diferentes nombres Capa de entrada: Es la primera capa de neuronas. Curso de Capacitación: “Redes Neuronales y Simulación”. los elementos de procesamiento se encuentran agrupados por capas.. Pedro C. Código PIAP-1-P-676-13.Universidad Nacional de Ingeniería. Espinoza H. Entonces: a) Para la primera capa se tienen una matriz de pesos W 1  [ w1j . 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 . 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.. Es la que recibe los datos de entrada a la red. Tampoco emiten las señales finales. 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.. f 21 ( s2 ).

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

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

donde: Rango= matrix de nx2. como su longitud de onda son únicas para cada componente). TFi=Función de transferencia capa.5060 0. Este es un ejemplo de MATLAB modificado en su desarrollo.2610 0. etc.2366 0. Cada columna que tiene 21 valores que son las longitudes de onda de la muestra de cada paciente. que es una matriz de 21 filas por 264 columnas. 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.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. que es una matriz de 3 filas por 264 columnas.VLDL) y se guardaron en el archivo t.2356 0. trainrp.3751 0. La función de entrenamiento BTF puede ser cualquiera de las funciones de entrenamiento Backpropagation tales como: trainlm. Curso de Capacitación: “Redes Neuronales y Simulación”. Con esta técnica se hicieron las mediciones de los tres tipos de colesterol de cada muestra (HDL.2496 0.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'). y retorna una red neuronal Backpropagation de k capas..2 Ejemplo: determinación de las concentraciones de colesterol en una muestra de sangre. a partir de las mediciones de su espectro de masas. Espinoza H.3094 0.Ck] de la red.4448 0.2044 0. logsig. 2.2022 0.3167 0.2456 0. formado por los mínimo y máximo de cada fila de la matriz de datos de entrada. 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. Desde luego en el mismo orden que en p para mantener la correspondencia. FIIS-FIC.2289 0. Por ejemplo los valores del paciente Nº5 son: 0..3538 0. La función de transferencia TFi puede ser cualquiera de las funciones de transferencia diferenciable tales como: tansig. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.i. traingd.Universidad Nacional de Ingeniería.3002 0. Pedro C. trainbfg.5406 0. que tiene n filas. Si los datos de entrada fuera solo una fila.2762 0. 54 .5037 0. o purelin. Con esta finalidad se practicaron dos técnicas: a) Espectro de Masas (EM). Por ejemplo los niveles del colesterol para el paciente Nº5 son: 35 151 51. entonces Rango será una matriz de 1x2 Ci=número de neuronas de la capa. 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. Sucesión de capas [C1 C2. LDL.2290 0. Código PIAP-1-P-676-13.

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

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

Marquardt. Código PIAP-1-P-676-13. desarrolladas a partir de las publicaciones: [1] Marquardt D. la primera de de 5 neuronas y la segunda de 3 neuronas. %matriz de 4x2 El número de filas de Rango indica que cada neurona de la primera capa de la red tendrá 4 dentritas.Universidad Nacional de Ingeniería. test. Paso 4. respectivamente. que son algoritmos para resolver clases especiales de sistemas de ecuaciones.1. 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). Esto indica que la matriz de pesos será de 5x4. test.T = tn(:. La red creada es entonces: >>net = newff(Rango. FIIS-FIC. para la primea y segunda capa. Para el entrenamiento se elige trainlm que según MATLAB. Creada la red. Pedro C.[5 3].'trainlm'). La elección del número de capas y el número de neuronas por capa es opcional. Creación de la red Para crear una red Backpropagation con MATLAB. Espinoza H.P = ptrans(:.Clas2). Fig. 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”. como ya se indicó en 2. y [2] Levenberg K.{'tansig' 'purelin'}. es un procedimiento basado en el método de Levenberg . En este ejemplo se escogió dos capas.Clas2). que se define en el corchete [5 3].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. automáticamente se inicializan los pesos y los sesgos de la primera capa 57 .

test y la correlación total.8842 -0. b) Training State: muestra el comportamiento del gradiente en cada iteración.3741 1.2310 0. Pedro C.3740 0. Fig.5354 -0.4590 -0. FIIS-FIC. en cada una de las tres etapas: entrenamiento. 58 . Curso de Capacitación: “Redes Neuronales y Simulación”.val.test). La validación y el test lo realizarán las otras matrices definidas en el paso indicado.b{1.Universidad Nacional de Ingeniería. del mu y los errores del test.8345 Paso 5.VEt.0529 0. 0.IW{1. Espinoza H.01.6949 2. Luego de ejecutar esta fila sale el aplicativo que indica que se han realizado 100 iteraciones.0040 0.4229 2. Código PIAP-1-P-676-13.8082 3. 2 Ejecutando los botones: a) Performance: se ven las curvas del entrenamiento. Entrenamiento de la RNA Este proceso se realiza con los datos de la matriz Enp y con la parte correspondiente del valor esperado.0409 -1.2 del capítulo 2.2416 -0.[].0352 1.0157 2.tr]=train(net. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.3455 0. validación.[].2980 1. que se encuentra en la matriz VEt que fueron seleccionados en el paso3. 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. La norma del gradiente está por debajo de 0.0966 -0.1178 -0.1} 0.Enp.2613 GANANCIAS net. La función de entrenamiento es train y su sintaxis es como sigue: >>[net.5099 -1.2272 -0. de la validación y del test. Esta curvas muestran el comportamiento de la norma del gradiente y que se vio en la sección 2.0161 -0.

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

t(i.6183 Paso 6. 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. 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.8803 2. Para ver los resultados en el nivel y las características de la data original.ptrans).ts).3626 1.6622 -0.1206 -0.b(i). 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.1556 0.0354 0. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.b{1. FIIS-FIC.0802 0.2460 0.4403 -2. Comparación del resultado entregado por la red y el valor esperado.an. con sus respectivos coeficientes de correlación R.3584 0.1953 0. end La salida esta formada por tres gráficas. Código PIAP-1-P-676-13. Curso de Capacitación: “Redes Neuronales y Simulación”.8809 -0.2036 0.7850 0. se tiene que aplicar el proceso inverso de la normalización. El siguiente bucle muestra la regresión lineal entre el valor entregado por la red: a valor esperado: t.0198 0.Universidad Nacional de Ingeniería.r(i)]=postreg(a(i. Espinoza H. Nuevas matrices de pesos y ganancias Luego del entrenamiento aparecen nuevas matrices de peso y ganancias o sesgos.1407 0. >>size(a) ans = 3 264 Paso 8.9515 2.IW{1.1459 0. llamando a la función: >> a = mapstd('reverse'.4224 2.:)).7023 -0.3408 0. 60 y el .1} 1.1198 1.1024 PESOS net. Este proceso se realiza mediante la función postreg for i=1:3 figure(i) [m(i).5040 GANANCIAS net.1} -0. 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. Pedro C.:). donde las rectas de color rojo son las rectas de regresión por mínimo cuadrados. primero vemos de qué orden es an con: >>size(an) ans = 3 264 Paso 7.

0000 8.0000 20. presentamos las 3 filas de a y t pero en forma de columnas.0000 5. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.8 Fig.0000 26.0000 a(2 .5026 11. 2.7420 20. : ) 0.4255 51. r(i)es el coeficiente de correlación entre a(i.2823 33.0000 8.0000 51.0000 5.0000 51.5968 1.0000 4.3105 35.:) y t(i.2240 40.9138 38.0576 21. : ) -3.6914 16.1571 40.0000 52.5488 56.0000 16.0000 8.b(i).0000 8.4902 45. Espinoza H.0000 4. : ) 0.4879 53.0000 5. juntamente con la primera columna de t y así sucesivamente y por separado con las otras columnas.0000 50.9246 55. FIIS-FIC. : ) 9.5634 3.0000 8.5298 -16. : ) 2.0000 8.0000 22.0000 16.3662 51.0000 21. Pedro C.0000 7.4204 40.0181 77.0000 23.0000 20.0000 22.0000 6.5577 41.0000 37. En la tabla que sigue se muestran 25 columnas de a y t a(1 . Fig.9087 72.2399 23.5204 13.7 Fig.6606 t(1 .0000 21.7835 14.:).9877 60.9919 64.4635 5.3964 40.9816 6.0000 34.6066 61 t(2.4744 62. : ) 0.0000 19.0898 38.0000 42.0000 5. Luego ordenamos la primera columnas de a en forma ascendente.0000 22.8160 34.0000 . Código PIAP-1-P-676-13.5555 26.0000 37.5579 61.7395 38.0000 19.9508 23.0000 a(3 .6206 79.8573 47.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.Universidad Nacional de Ingeniería.0000 22.0000 8.0000 20.0000 38. Curso de Capacitación: “Redes Neuronales y Simulación”.1507 21.8228 37.9581 23.0000 37.2645 59.8794 53.0000 37.0000 7.9 Además en cada arreglo [m(i).0000 9.0000 52.0000 22.7479 20.0000 6.2211 12.r(i)].8425 30.0000 42.0000 46.0363 t(3 . m(i) es la pendiente y b(i)la ordenada en el origen de la recta de regresión.3939 -0.

0000 25.0000 250.5715 38. Código PIAP-1-P-676-13.0000 26.6528 8.8837 88.5958 13.0000 26.0000 70.0000 24.0000 0.0000 25.0000 68.0000 54. FIIS-FIC.0000 22.7101 39.5182 41.5381 3.0000 55.0000 62 .1874 27.4171 21.:).0000 11.7994 73.0000 9.Universidad Nacional de Ingeniería.0000 50.0000 350.:) y t(1.0000 9.4610 102.6965 65.8394 52.5554 40.0000 26. Espinoza H.0000 100.8599 39.0000 55.0000 150.3065 35.0000 26.0000 24.0000 10.0000 23.4699 76.0000 60.4088 47.0000 59.6864 18.7840 62.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. : ) t(1 .0000 9.6395 5.3628 46.0000 después se grafican las curvas correspondientes a las filas a(1.2730 39.0000 24.3000 45.4458 66.9333 23.0000 105.0000 24.0000 56.7252 69.7925 25. 1 a(1 .0000 9.0000 10.6918 7.7491 35.3442 37.9249 92.3987 41. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. : ) 400.1320 32.0000 12.0000 26. 12.4672 24.4341 49.0000 23.4581 3.0000 200.0000 11. para establecer un contraste entre la variación de una y otra. Pedro C.0000 10.0000 67.9674 187.0000 69.0000 11. Así sucesivamente con las otras filas: Fig.0000 11.0000 64.0000 10.0000 69.8741 28.5624 63. Curso de Capacitación: “Redes Neuronales y Simulación”.0000 62.9965 59.4361 87.0000 300.

Curso de Capacitación: “Redes Neuronales y Simulación”.0000 40. Estos datos se guardan en la matriz p.0000 200.0000 0. Esto corrobora los resultados que establecen la regresión lineal y los coeficientes de correlación. 3.Universidad Nacional de Ingeniería. 63 . Fig. en las tres imágenes que entrega MATLAB.:) presentan una mayor distorsión en comparación a las dos primeras. REDES NEURONALES BACKPROPAGATION EN EL PROBLEMA DE LA CLASIFICACIÓN DE TRES TIPOS DE FLORES 3. : ) t(3 . Pedro C.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 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 100.:)y t(3. 3 a(3 .0000 150. En la matriz t se guarda el código que identifica a cada tipo de flor y que son 1.0000 80.0000 100. : ) 350. : ) t(2.0000 0.0000 Fig. Código PIAP-1-P-676-13. FIIS-FIC.0000 20.0000 300. Espinoza H.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 60. 2 y 3 respectivamente. Verginica y Versicolor. : ) 120.0000 50. 2 a(2 .0000 250. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.

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.001).Universidad Nacional de Ingeniería. El resultado lo guarda en la matriz ptrans. >>[ptrans. empleando la función H ( x)  . Espinoza H. >> C=[ ].ps2] = processpca(pn. Paso 2.ts] = mapstd(t). 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. Pedro C. >> [pn. Normalización y depuración de los datos a) Normalización Se aplica la función mapstd a las matrices p y t. Fig. Depurar de las filas de la matriz que se correlacionen entre sí. Matrices de datos de entrada a la red Se copian los datos a la ventana de comandos de MATLAB: >> Q=[ ]. 64 . Datos para el entrenamiento. donde mc y dc son dc respectivamente la media y la desviación estándar de cada fila.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. [tn. Para ver cómo ha variado el número de filas hacemos: >> S=size(ptrans) S = 4 150 Paso 3. FIIS-FIC. Es decir selecciona las columnas de la matriz ptrans de acuerdo a estas clases de números: >> col=S(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.ps1] = mapstd(p). Esta función transforma los elementos de x  mc cada fila de la matriz en otro. p=Q'. Curso de Capacitación: “Redes Neuronales y Simulación”.0. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. t=C'.

1} -0.5066 2.9190 SESGOS net.5021 0.4820 >>net = newff(Rango.4217 -0.[]. Entrenamiento de la RNA >>[net.2 65 .1643 -0.T = tn(:.4722 1.Clas2).test).3053 0.7022 Paso 5.4181 0.4915 2.1249 PESOS net.Clas2).val. b) Con estas clases se hace la separacacion. val. Pedro C.Universidad Nacional de Ingeniería.Clas4).IW{1.2634 1.P = ptrans(:.5858 0.b{1.0755 -0.T = tn(:.8460 -0.Clas4).0480 0. test. Creada la red. Creación de la red Como los datos de entrada están en la matriz ptrans se hace: >>Rango=minmax(ptrans).0493 -2.0769 -0.0512 1.[5 1].2090 1. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. %Entrenamiento %Validación %Test Paso 4.2957 -2. VEt = tn(:.5295 -0.Clas13).VEt.8416 2. Espinoza H.4467 -1.{'tansig' 'purelin'}. >>Enp = ptrans(:. automáticamente se inicializan los pesos y los sesgos de la primera capa 0.6662 1. Rango = -3.Clas13).Enp.[]. Clas2 = 2:4:col. Clas13 = [1:4:col Clas4 = 4:4:col.tr]=train(net.0244 0.3560 0. Código PIAP-1-P-676-13.'trainlm').1615 2. Fig.9203 -1.4149 0. test.1} -1.7693 2.6346 -0. Curso de Capacitación: “Redes Neuronales y Simulación”. FIIS-FIC.P = ptrans(:. 3:4:col]. val.

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

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

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

Se ordena la columnas t en forma ascendente.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 . Espinoza H. Código PIAP-1-P-676-13.Universidad Nacional de Ingeniería.9228 Verginica 19 51 27 58 3 2. Pedro C.5 t a 3 2. juntamente con la columna a.9935 20 52 30 65 3 2.0382 31 67 3 2. Curso de Capacitación: “Redes Neuronales y Simulación”.1152 8 Versicolor 16 47 33 63 2 2.5 2 1. t a 50 1 1.5 1 0.5 0 50 100 150 b) La columna a se copia a la hoja de Excel donde se encuentran los datos y t. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. FIIS-FIC.9451 Versicolor 13 45 28 57 2 2.0901 9 Verginica 17 45 25 49 3 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. >> TABLA=[a' t'] a) Se grafica con plot 3.9329 10 36 46 1 0.9956 31 69 3 2. 3.

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

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

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

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

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

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

. 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 . 2  ( f 21 )(V21 ) 1 b2 Como   21  (Tk  Q 2 )  ( f 22 )(V 2 )  w12. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. V 2  w12. Entonces 1 1.  ( f1 ) (V1 ) . Espinoza H.  w1. Q21  f 21 (V 21 ) .  ( f ) ( V )  w  ( f ) ( V )  1.  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 ) . FIIS-FIC. 2 Q12  b12 .Universidad Nacional de Ingeniería. 2 2 2 V 2 Q12 V21 b12  E ( x)  (Tk  Q 2 )  ( f 12 )(V 2 )  w12.1  ( f11 ) (V11 ) E ( x)   11 b11 d) Derivada parcial de E (x) respecto de la ganancia b12 Q 2  f12 (V 2 ) .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   . Código PIAP-1-P-676-13. V21  w12 . .  1 .1 . Pedro C. Entonces V 2 Q11 V11 b11  E ( x)  (Tk  Q 2 )  ( f12 )(V 2 )  w12.1Q11  w12. Curso de Capacitación: “Redes Neuronales y Simulación”.1  ( f11 )(V11 ) 1 b1 Como   11  (Tk  Q 2 )  ( f12 )(V 2 )  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.1  s(Tk  Q 2 )  Q11 b) w12. Curso de Capacitación: “Redes Neuronales y Simulación”.1  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 .1 b)  E ( x) = p (Tk  Q 2 )  w12. FIIS-FIC. se tiene a)  E ( x) = p (Tk  Q 2 )  w12.1 b)  E ( x)  (Tk  Q 2 )  Q21 2 w1. Pedro C.1 c)  E ( x) = (Tk  Q 2 )  w12. Código PIAP-1-P-676-13. 2  ( 1  [ f 21 (V21 )]2 ) w12 .Universidad Nacional de Ingeniería.1  ( 1  [ f11 (V11 )]2 ) b11 d)  E ( x) = (Tk  Q 2 )  w12. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. 2  w12.1  ( 1  [ f11 (V11 )]2 ) 2 w1. 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 . Espinoza H.

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

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

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

Pedro C.Universidad Nacional de Ingeniería. Código PIAP-1-P-676-13. Espinoza H. 81 . 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. FIIS-FIC.

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

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

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