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

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

Formulación matemática de una red neuronal multicapa Supongamos que se tiene una RNA de N capas. Capas ocultas: Estas son las capas que siguen a la capa de entrada. La salida es q1  F 1 (W 1 p  b1 ) 51 . Pedro C. de acuerdo a la ubicación de la capa en la RNA. Espinoza H. Entonces: a) Para la primera capa se tienen una matriz de pesos W 1  [ w1j . Tampoco emiten las señales finales. FIIS-FIC.. Código PIAP-1-P-676-13.Universidad Nacional de Ingeniería. 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”. los elementos de procesamiento se encuentran agrupados por capas. k ] de m1 x n . 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.. 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. estas reciben diferentes nombres Capa de entrada: Es la primera capa de neuronas. f 21 ( s2 ). f m1 1 ( sm1 )] . una capa es una colección de neuronas. Es la que recibe los datos de entrada a la red..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 ).

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

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

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

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

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

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

Enp. La validación y el test lo realizarán las otras matrices definidas en el paso indicado.2416 -0.8842 -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.4229 2.VEt.6949 2.01.5099 -1.3740 0.tr]=train(net.Universidad Nacional de Ingeniería.3741 1.[]. Espinoza H. que se encuentra en la matriz VEt que fueron seleccionados en el paso3.0966 -0.8082 3. del mu y los errores del test. FIIS-FIC.2310 0. validación.0352 1.8345 Paso 5.5354 -0.1} -1.0157 2.4590 -0.0040 0.0409 -1. 2 Ejecutando los botones: a) Performance: se ven las curvas del entrenamiento. 58 .0706 PESOS net. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.2 del capítulo 2.IW{1. Pedro C.1178 -0. test y la correlación total.2980 1. b) Training State: muestra el comportamiento del gradiente en cada iteración.1} 0. La norma del gradiente está por debajo de 0. Curso de Capacitación: “Redes Neuronales y Simulación”. c) Regression: Presenta el R y la gráfica de la correlación entre el output y el valor esperado de la red.val.3455 0.0529 0. Fig. Luego de ejecutar esta fila sale el aplicativo que indica que se han realizado 100 iteraciones.0161 -0.b{1. Entrenamiento de la RNA Este proceso se realiza con los datos de la matriz Enp y con la parte correspondiente del valor esperado. 0. Código PIAP-1-P-676-13. en cada una de las tres etapas: entrenamiento.2613 GANANCIAS net.test). La función de entrenamiento es train y su sintaxis es como sigue: >>[net.2272 -0.

'VALIDACION'.vperf. tr. Fig.Universidad Nacional de Ingeniería. agregando el título. FIIS-FIC. 6 Para graficar un nuevo cuadro con las curvas de entrenamiento. ylabel('ERROR CUADRÁTICO MEDIO').tperf) legend('ENTRENAMIENTO'. Código PIAP-1-P-676-13.epoch.-1). 4 Fig. 5. tr.epoch. de validación y prueba.epoch. xlabel('ITERACIÓN') title('CURVAS DE:') 59 . 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. como aparece en el gráfico de la Fig. tr. tr. puede correr el siguiente programa: >>plot(tr. 3 Fig. leyenda.'TEST'. Pedro C. 5 Fig. Espinoza H. tr.perf. ejes.

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

0000 21.6606 t(1 .0000 8.0000 22.4902 45.6914 16.0000 34.9816 6.b(i).0000 42.0000 a(3 .0000 7.0000 19.8228 37.0000 50.5968 1.4879 53.0000 16.5298 -16.0000 20.2399 23.0000 a(2 .3964 40.0000 16.0000 22.0000 22.0000 6.7395 38.0363 t(3 . Curso de Capacitación: “Redes Neuronales y Simulación”.5634 3. FIIS-FIC. Pedro C. En la tabla que sigue se muestran 25 columnas de a y t a(1 .3105 35. Espinoza H.0000 22.7835 14.0000 8.2211 12.3939 -0.0000 8.9919 64.2645 59.8573 47.7 Fig.0000 23.0000 26.0576 21.0000 .0000 20.8794 53. : ) 0. juntamente con la primera columna de t y así sucesivamente y por separado con las otras columnas. : ) 2.0000 51.2240 40.9877 60.:).2823 33.0000 51.0000 6.0000 8.4744 62. r(i)es el coeficiente de correlación entre a(i.9246 55.0000 20. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.0000 19.8160 34. m(i) es la pendiente y b(i)la ordenada en el origen de la recta de regresión. : ) -3.5026 11.0000 9.0000 5.0000 52.7479 20.9581 23.8 Fig.0000 8.0000 46.0000 42.6066 61 t(2.4635 5.0000 5. : ) 0.0000 4.9508 23. Código PIAP-1-P-676-13.5204 13.0000 8.5577 41.0000 8.8425 30.0000 22.0000 37. Fig. Luego ordenamos la primera columnas de a en forma ascendente.1507 21. : ) 0.7420 20.0898 38.5579 61.1571 40.5488 56.0000 37.3662 51.4255 51.0000 5.0000 5.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.9138 38. : ) 9.0000 4.9 Además en cada arreglo [m(i).0181 77.0000 37.0000 37.0000 38. presentamos las 3 filas de a y t pero en forma de columnas.0000 21.r(i)].:) y t(i.5555 26.0000 52.0000 7.Universidad Nacional de Ingeniería.4204 40.9087 72.6206 79. 2.

6864 18.2730 39.9333 23.3065 35.0000 55.0000 55.0000 62 .0000 70.:).0000 11.0000 10.4699 76.4361 87.0000 0.0000 26.0000 200.0000 23.0000 22.0000 11.0000 9.3000 45.9965 59. Código PIAP-1-P-676-13. 12.0000 50.3987 41.0000 10.8599 39. : ) 400.0000 10.0000 56.7252 69.:) y t(1.0000 105.0000 después se grafican las curvas correspondientes a las filas a(1.8837 88.4610 102.0000 25.4341 49.6918 7.1874 27.4672 24.0000 25.0000 23.0000 10.7994 73. FIIS-FIC.0000 9.4581 3.0000 11.5554 40.0000 24. Pedro C.3442 37.0000 24. Curso de Capacitación: “Redes Neuronales y Simulación”.0000 64.0000 100.0000 250. Así sucesivamente con las otras filas: Fig.8394 52.7101 39.0000 300.0000 60.Universidad Nacional de Ingeniería. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.4171 21.0000 68.0000 24.0000 26.1320 32.0000 9.0000 9.4088 47.5715 38.6395 5.4458 66.0000 11.0000 62. Espinoza H.6528 8.0000 12.0000 24.3628 46.5958 13.7925 25.5381 3.7491 35.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.8741 28.9674 187.0000 69.0000 150. : ) t(1 .5182 41.0000 26.5624 63.0000 69.0000 350.0000 54.7840 62. 1 a(1 .0000 26. para establecer un contraste entre la variación de una y otra.6965 65.9249 92.0000 59.0000 26.0000 67.

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

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

Rango = -3.T = tn(:.b{1.IW{1.9203 -1.val.4181 0.tr]=train(net. test.4217 -0.2 65 .5858 0. Clas13 = [1:4:col Clas4 = 4:4:col.6346 -0.8416 2.1} -0.VEt.7022 Paso 5. val.2634 1.1643 -0. test.P = ptrans(:.0244 0.Clas13).3560 0.{'tansig' 'purelin'}. Espinoza H.Clas4).4149 0.1249 PESOS net.test). Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.4722 1.0769 -0.1} -1.9190 SESGOS net.Clas4).P = ptrans(:.0493 -2.4467 -1. >>Enp = ptrans(:.Clas2). VEt = tn(:.[].1615 2.4915 2.Enp. b) Con estas clases se hace la separacacion. 3:4:col].5021 0. FIIS-FIC. automáticamente se inicializan los pesos y los sesgos de la primera capa 0. Creada la red. Creación de la red Como los datos de entrada están en la matriz ptrans se hace: >>Rango=minmax(ptrans).3053 0.4820 >>net = newff(Rango.'trainlm').0480 0.0512 1. Clas2 = 2:4:col. %Entrenamiento %Validación %Test Paso 4.6662 1.8460 -0.[].5066 2.Universidad Nacional de Ingeniería.7693 2.0755 -0.2957 -2.2090 1. Código PIAP-1-P-676-13. val. Entrenamiento de la RNA >>[net. Fig. Pedro C.T = tn(:.5295 -0. Curso de Capacitación: “Redes Neuronales y Simulación”.Clas13).[5 1].Clas2).

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

ylabel('ERROR CUADRÁTICO').perf.Universidad Nacional de Ingeniería.vperf.-1).tperf) legend('ENTRENAMIENTO'.'VALIDACION'.'TEST'. Curso de Capacitación: “Redes Neuronales y Simulación”. FIIS-FIC.epoch. Espinoza H.epoch. xlabel('ITERACIÓN') title('CURVAS DE:') 67 . Pedro C. tr. tr.epoch. >>plot(tr. 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. tr. tr. tr.

size(a) ans = 1 150 Paso 8.5386 1. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.:).7608 -0.t(i.5 2 1. >>size(an) ans = 1 150 Paso 7.b(i).:)).r(i)]=postreg(a(i.ptrans).7694 Paso 6.ts). FIIS-FIC.b{1.Universidad Nacional de Ingeniería.4299 0. Código PIAP-1-P-676-13. Pedro C. CURVAS DE: 4 ERROR CUADRÁTICO 3.3760 3.5360 -0.IW{1.3835 1.8354 2.8302 1.7925 0.0686 -0.5 0 0 2 4 6 8 ITERACIÓN 10 12 Nuevas matrices de peso y ganancias 0.7234 GANANCIAS net.5706 0.0688 0.1} -2.8690 -1.1139 -0.5319 -0.5 1 0.5 ENTRENAMIENTO VALIDACION TEST 3 2.8644 0.0651 0.3847 -2. Comparación del resultado entregado por la red a y el valor esperado t. 68 . Este proceso se realiza mediante la función postreg for i=1:1 figure(i) [m(i). Espinoza H. Curso de Capacitación: “Redes Neuronales y Simulación”.5633 1. Simulación de la RNA >>an = sim(net.1} -1. end La salida esta formada por una sola gráfica con el coeficiente de correlación R.9296 -2.an.1522 0.0348 PESOS net. Conversión de la respuesta de la simulación an a valores originales >> a = mapstd('reverse'.2884 0.

5 1 0.9329 10 36 46 1 0. FIIS-FIC.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 .5 t a 3 2.9228 Verginica 19 51 27 58 3 2.9935 20 52 30 65 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.0901 9 Verginica 17 45 25 49 3 2. Curso de Capacitación: “Redes Neuronales y Simulación”.9451 Versicolor 13 45 28 57 2 2. 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 ordena la columnas t en forma ascendente. juntamente con la columna a.0382 31 67 3 2.9956 31 69 3 2. 3. Espinoza H.5 2 1.Universidad Nacional de Ingeniería. Pedro C.1152 8 Versicolor 16 47 33 63 2 2. >> TABLA=[a' t'] a) Se grafica con plot 3.5 0 50 100 150 b) La columna a se copia a la hoja de Excel donde se encuentran los datos y t. t a 50 1 1.

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

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

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

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

2 pero Entonces E ( x)  (Tk  Q 2 )  ( f12 ) (V 2 )  Q21 2 w1. 2 Q 2  F 2 (V 2 )  f12 (V 2 ) . 2 w1. 2 dV 2 w12.1 74 . 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 dV 2 w12. 2 Q12  b12 E dQ 2 V 2 2 ( x )  ( T  Q )   k w12. 2 pero dQ 2 V 2 2  2 = ( f1 ) (V ) .  E dQ 2 V 2 2 ( x )  ( T  Q )   k w12. Espinoza H. 1 dQ 2 = ( f12 ) (V 2 ) y 2 dV  V 2  Q11 .Universidad Nacional de Ingeniería. 2 Q12  b12 V 2  Q21 . 2 c) La derivada parcial de E (x) respecto la ganancia b12 Q 2  F 2 (V 2 )  f12 (V 2 ) . FIIS-FIC.1Q11  w12. w12.1 pero Entonces E ( x)  (Tk  Q 2 )  ( f12 ) (V 2 )  Q11 2 w1.  1 . Pedro C.1Q11  w12.  E dQ 2 V 2 2 ( x )  ( T  Q )   k w12. 2 dQ 2 = ( f12 ) (V 2 ) y dV 2  V 2  w12. Código PIAP-1-P-676-13.1 b) La derivada parcial de E (x) respecto del peso w12.1 dV 2 w12.  V 2  w12. 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”.

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

2  ( 1  [ f 21 (V21 )]2 ) 1 b2 Actualización de los pesos y ganancias en su forma vectorial Segunda capa a) w12.1 b)  E ( x) = p (Tk  Q 2 )  w12. se tiene a)  E ( x) = p (Tk  Q 2 )  w12.1  ( 1  [ f11 (V11 )]2 ) b11 d)  E ( x) = (Tk  Q 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. Espinoza H. Curso de Capacitación: “Redes Neuronales y Simulación”.Universidad Nacional de Ingeniería.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 . Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.1  ( 1  [ f11 (V11 )]2 ) 2 w1. Pedro C.1 c)  E ( x) = (Tk  Q 2 )  w12. 2  ( 1  [ f 21 (V21 )]2 ) w12 . Código PIAP-1-P-676-13. 2  w12. 2  s(Tk  Q 2 )  Q12 77 .1 b)  E ( x)  (Tk  Q 2 )  Q21 2 w1. FIIS-FIC.

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

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

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

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

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

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

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

Sign up to vote on this title
UsefulNot useful