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

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

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

k ] de mN x m( N  1) . 52 . qM ].Universidad Nacional de Ingeniería. la respuesta de la RNA depende de los pesos y sesgos de todas las neuronas involucradas en ella. f mN ( smN )] . unas que tienen un aprendizaje supervisado y otras no. Código PIAP-1-P-676-13...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. un vector de ganancias b 2  [bk2 ] y una función vectorial de funciones de transferencias F 2 ( S )  [ f12 ( s1 ).. un vector de ganancias b N  [bkN ] y una función vectorial de funciones de transferencias N F N ( S )  [ f1N ( s1 ).. f 22 ( s2 ).. En síntesis es la composición de N transformaciones.1 La RNA de aprendizaje supervisado... Pedro C. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia... p2 . q2 .... Como es sabido. pk  n (de n filas por N columnas). Otra clasificación es por el tipo de aprendizaje... qk  m ... existen dos tipos de redes. En este aspecto.... que es una matriz del mismo orden de t . se tiene una respuesta de la red: q  [q1 . Dada una matriz de vectores p  [ p1 .5 Clasificación de las RNA en supervisadas y no supervisadas Existen otras clasificaciones de las redes neuronales. 1. Espinoza H... es por el tipo de variables que se emplean. pN ]. mN 1.. t M ].. denominándose RNA de variables binarias o variables continuas. que son los datos de entrada a la red. Una por ejemplo. k ] de m 2 x m1 . t 2 . b) Para la segunda capa se tendrá una matriz de pesos W 2  [ w 2j ... f 2N ( s2 ). FIIS-FIC. se caracteriza por que está acompañada de una matriz de vectores t  [t1 .. t k  m (o sea t es una matriz de m filas por M columnas) denominada: valor esperado de la red.. f m2 2 ( sm 2 )] . El conjunto de estos pesos y sesgos se puede representar con una variable vectorial: x . que se concatenan o componen: T1 T2 TN n  m1  m2  . La señal emitida será Q N  F N (W N Q m ( N 1)  b N ) . Curso de Capacitación: “Redes Neuronales y Simulación”. Entonces la respuesta q  q(x) depende de esta variable.. 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..Ck]. x es un vector que k 1 representa los pesos y sesgos de todas las neuronas que conforman la red. Existen muchas Topologías que elige el usuario. 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.. su entrenamiento y finalmente la simulación. Además MATLAB ofrece visualizaciones gráficas de los clusters en dos dimensiones.PF) 53 ... bajo ciertas formas o estructuras geométricas.. es decir que E (x) encuentre un mínimo local. 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..BLF.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.. 2. cuyo número de neuronas lo elige el usuario. descrita en la sección 1. Código PIAP-1-P-676-13.BTF. depuración y transformación de la data. cuando se aborden las RNA de Cohonen o Self-Organizing Maps.TFk}.{TF1 TF2. Su función es agrupar los vectores en grupos o clusters. p N ]. son las que no requieren del valor esperado t . Esto se explicará en detalle.. FIIS-FIC. También se denominan RNA de propagación inversa..5 del capítulo 1.. Su estructura o arquitectura es la misma que la de una red general. empleando parte de las normas o métricas descritas en 2. pk   n . Cuando se ha conseguido esto se dice que la RNA ha sido entrenada. Espinoza H.. pk  n . solo de una matriz de vectores p  [ p1 . Estas redes tienen una sola capa. donde como se dijo antes. denominadas Topologías. Lo que se espera es que la respuesta de la red esté los más cercana posible al valor esperado t ... p2 . p N ].(Ver la sección 4 de este capítulo) Las RNA de aprendizaje no supervisado. REDES NEURONALES BACKPROPAGATION EN EL PROBLEMA DEL COLESTEROL Estas RNA son supervisadas.[C1 C2. 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 . las etapas de ingreso de datos. 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 . en el capítulo siguiente. 2. creación de la red neuronal Backpropagation.. p2 .

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

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

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

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

0529 0.2310 0.2272 -0. de la validación y del test.0966 -0.Universidad Nacional de Ingeniería. La validación y el test lo realizarán las otras matrices definidas en el paso indicado.0706 PESOS net. La función de entrenamiento es train y su sintaxis es como sigue: >>[net.2 del capítulo 2.6949 2. Esta curvas muestran el comportamiento de la norma del gradiente y que se vio en la sección 2. Fig. b) Training State: muestra el comportamiento del gradiente en cada iteración.0161 -0. Código PIAP-1-P-676-13.2613 GANANCIAS net.2980 1.b{1.0040 0.1178 -0.0409 -1.1} -1.3455 0. que se encuentra en la matriz VEt que fueron seleccionados en el paso3.test).IW{1.Enp.01.3740 0.5354 -0. La norma del gradiente está por debajo de 0.[]. Entrenamiento de la RNA Este proceso se realiza con los datos de la matriz Enp y con la parte correspondiente del valor esperado. 58 . en cada una de las tres etapas: entrenamiento.[]. c) Regression: Presenta el R y la gráfica de la correlación entre el output y el valor esperado de la red. Curso de Capacitación: “Redes Neuronales y Simulación”.0157 2.3741 1.val. FIIS-FIC. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. test y la correlación total. del mu y los errores del test. 0. Espinoza H.4590 -0.VEt. validación. Pedro C.tr]=train(net.8842 -0.4229 2.0352 1. Luego de ejecutar esta fila sale el aplicativo que indica que se han realizado 100 iteraciones.1} 0.8082 3.2416 -0.8345 Paso 5. 2 Ejecutando los botones: a) Performance: se ven las curvas del entrenamiento.5099 -1.

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

8803 2. Nuevas matrices de pesos y ganancias Luego del entrenamiento aparecen nuevas matrices de peso y ganancias o sesgos. primero vemos de qué orden es an con: >>size(an) ans = 3 264 Paso 7.1407 0. 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. Pedro C.b(i).0198 0. >>size(a) ans = 3 264 Paso 8.1206 -0.7850 0. Espinoza H. 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. Código PIAP-1-P-676-13.8809 -0.0354 0. 60 y el .3408 0.:).1556 0. Comparación del resultado entregado por la red y el valor esperado.1024 PESOS net.4224 2.IW{1. Para ver los resultados en el nivel y las características de la data original.7023 -0.1459 0. 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. se tiene que aplicar el proceso inverso de la normalización.9515 2.1953 0. con sus respectivos coeficientes de correlación R.1} -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.4403 -2.r(i)]=postreg(a(i.t(i.3584 0.3626 1.6183 Paso 6.2460 0.1198 1.Universidad Nacional de Ingeniería.1} 1. 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.ptrans).ts).:)).b{1.2036 0. Este proceso se realiza mediante la función postreg for i=1:3 figure(i) [m(i).6622 -0. FIIS-FIC.an.5040 GANANCIAS net. end La salida esta formada por tres gráficas. donde las rectas de color rojo son las rectas de regresión por mínimo cuadrados.0802 0. llamando a la función: >> a = mapstd('reverse'.

0000 9.7 Fig.3662 51. : ) -3.:). presentamos las 3 filas de a y t pero en forma de columnas. Luego ordenamos la primera columnas de a en forma ascendente.0000 16.0000 37.0000 8.0000 22.0000 21.4635 5. : ) 9.9816 6.9581 23.5298 -16.8425 30.0000 37.4879 53.0898 38.0000 8. : ) 2.0000 5.9919 64.Universidad Nacional de Ingeniería.2823 33.0000 19.0000 42.0000 8.0000 5.0000 8.5579 61. Espinoza H.0000 26.0000 51.:) y t(i.r(i)]. m(i) es la pendiente y b(i)la ordenada en el origen de la recta de regresión.7395 38.0000 20.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.7479 20. Pedro C.4204 40.5488 56.0000 6.0363 t(3 .0000 22.2645 59.0000 7. : ) 0.5555 26.0000 a(2 .0000 38.0000 22.8794 53.0000 4.1571 40.0000 20.4255 51.0576 21.6206 79.0000 22.9508 23. FIIS-FIC.6606 t(1 .0000 6.b(i).0000 7.6066 61 t(2.0000 4. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.3939 -0.8228 37.0000 8.0000 37.3105 35.5634 3. : ) 0. Código PIAP-1-P-676-13.0000 46.0000 42.9138 38. : ) 0.2240 40.0000 20.0181 77.4744 62. En la tabla que sigue se muestran 25 columnas de a y t a(1 . Fig.8573 47.9877 60.9 Además en cada arreglo [m(i).9246 55.5026 11.2211 12.2399 23.4902 45.5204 13.5968 1.7420 20.8 Fig. 2.0000 a(3 .0000 16.0000 8.0000 5.5577 41.0000 34.1507 21.7835 14.0000 52.0000 52. r(i)es el coeficiente de correlación entre a(i.0000 .0000 22.0000 37.0000 23.3964 40. juntamente con la primera columna de t y así sucesivamente y por separado con las otras columnas. Curso de Capacitación: “Redes Neuronales y Simulación”.0000 51.0000 21.6914 16.0000 19.0000 5.9087 72.0000 8.0000 50.8160 34.

2730 39.5958 13. FIIS-FIC.8741 28.0000 11.4361 87.:) y t(1.0000 11. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.0000 23. 1 a(1 .3442 37.8394 52.0000 350.4610 102.0000 67.9333 23.0000 12.7925 25.9965 59.3628 46.Universidad Nacional de Ingeniería.0000 26.0000 26.7101 39.0000 68.0000 54.0000 200.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 69.0000 55.4699 76.0000 22.0000 11.0000 25.3987 41.6864 18.8837 88.0000 después se grafican las curvas correspondientes a las filas a(1.4171 21.0000 26.0000 26.0000 9.0000 9.0000 23.4088 47.0000 56. : ) t(1 .0000 10.4458 66. Espinoza H.6395 5.0000 9.0000 62.0000 24.6918 7.0000 11.6965 65.0000 300.1874 27.7491 35.0000 9.7252 69.0000 50. Pedro C.3000 45.1320 32. Curso de Capacitación: “Redes Neuronales y Simulación”.0000 25.9674 187.0000 59.0000 69.7840 62.0000 24.0000 105.4581 3.0000 10.8599 39.0000 150.0000 62 .0000 64. para establecer un contraste entre la variación de una y otra.3065 35.9249 92.5554 40. : ) 400.5381 3.:).5182 41.0000 70.5624 63.0000 0.0000 10.0000 10.0000 24.0000 250.0000 24.4341 49.0000 26. 12.0000 55.0000 60.0000 100.7994 73.5715 38. Código PIAP-1-P-676-13. Así sucesivamente con las otras filas: Fig.6528 8.4672 24.

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

p=Q'. Para ver cómo ha variado el número de filas hacemos: >> S=size(ptrans) S = 4 150 Paso 3. >> [pn. Esta función transforma los elementos de x  mc cada fila de la matriz en otro. donde mc y dc son dc respectivamente la media y la desviación estándar de cada fila. Espinoza H. validación y test de la RNA a) MATLAB lo hace mediante subconjuntos de las clases de equivalencia módulo 4.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.ts] = mapstd(t). empleando la función H ( x)  . 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. Curso de Capacitación: “Redes Neuronales y Simulación”. Depurar de las filas de la matriz que se correlacionen entre sí. El resultado lo guarda en la matriz ptrans. Matrices de datos de entrada a la red Se copian los datos a la ventana de comandos de MATLAB: >> Q=[ ]. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. FIIS-FIC. Paso 2. Datos para el entrenamiento. Fig.0.001). Normalización y depuración de los datos a) Normalización Se aplica la función mapstd a las matrices p y t.ps2] = processpca(pn. 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. [tn.ps1] = mapstd(p). t=C'. >> C=[ ]. 64 .Universidad Nacional de Ingeniería. Pedro C. El problema es crear una RNA Backpropagation que se entrene con los códigos que identifica a cada tipo de flor y que sea capaz de diferenciar uno de otro sólo por las dimensiones de sus pétalos y sépalos. >>[ptrans.

Clas2).tr]=train(net. Clas13 = [1:4:col Clas4 = 4:4:col.test). Rango = -3.2957 -2.Clas13).9203 -1.'trainlm').{'tansig' 'purelin'}.4467 -1.5066 2.0244 0.4915 2. %Entrenamiento %Validación %Test Paso 4. val.9190 SESGOS net.8416 2. VEt = tn(:.2090 1.0480 0.5021 0.Clas4).7693 2.VEt.0493 -2. b) Con estas clases se hace la separacacion.4217 -0.4820 >>net = newff(Rango.Clas4).Clas13).1643 -0.8460 -0.4722 1.[].1615 2.Universidad Nacional de Ingeniería.P = ptrans(:. >>Enp = ptrans(:.2634 1. Código PIAP-1-P-676-13. Creación de la red Como los datos de entrada están en la matriz ptrans se hace: >>Rango=minmax(ptrans).0769 -0.[5 1]. FIIS-FIC.3053 0.1} -0. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.6346 -0.T = tn(:.1} -1.P = ptrans(:. Espinoza H.0755 -0. test. test. Curso de Capacitación: “Redes Neuronales y Simulación”.2 65 .3560 0.6662 1.[]. Creada la red.4149 0.7022 Paso 5. 3:4:col].T = tn(:.Enp.b{1. Clas2 = 2:4:col.4181 0.Clas2). Entrenamiento de la RNA >>[net.1249 PESOS net.val. val.5858 0. Fig. automáticamente se inicializan los pesos y los sesgos de la primera capa 0.0512 1. Pedro C.IW{1.5295 -0.

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

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

Simulación de la RNA >>an = sim(net.1139 -0. size(a) ans = 1 150 Paso 8.r(i)]=postreg(a(i. Conversión de la respuesta de la simulación an a valores originales >> a = mapstd('reverse'.Universidad Nacional de Ingeniería. FIIS-FIC.0651 0.b{1. end La salida esta formada por una sola gráfica con el coeficiente de correlación R.5633 1.3847 -2. Código PIAP-1-P-676-13.5 ENTRENAMIENTO VALIDACION TEST 3 2. Pedro C.t(i.1522 0.:). 68 .0348 PESOS net.0686 -0.8644 0.5 0 0 2 4 6 8 ITERACIÓN 10 12 Nuevas matrices de peso y ganancias 0.:)).an.8690 -1.8354 2.ts).7608 -0.1} -1.9296 -2.1} -2.7234 GANANCIAS net.5706 0.5 1 0. CURVAS DE: 4 ERROR CUADRÁTICO 3.5386 1.0688 0. Espinoza H. >>size(an) ans = 1 150 Paso 7.b(i).2884 0.3760 3.IW{1. Este proceso se realiza mediante la función postreg for i=1:1 figure(i) [m(i). Comparación del resultado entregado por la red a y el valor esperado t.4299 0. 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.7694 Paso 6.7925 0.5319 -0.5 2 1.5360 -0.ptrans).8302 1.3835 1.

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

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

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

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

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

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

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

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

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

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

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

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

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

-1).r(i)]=postreg(a(i. for i=1:1 figure(i) [m(i).t(i.b(i).p. Código PIAP-1-P-676-13.an.'o'. ylabel('EJE Y'). xlabel('EJE X') title('RED NEURONAL:') 82 .'r').'VALOR ESPERADO'. a = mapstd('reverse'. Simulación an = sim(net. end Grafica de la respuesta de la red y del valor esperado plot(p.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”.t.ts).:). legend('SALIDA DE LA RED'.:)).Universidad Nacional de Ingeniería.pn). Pedro C. Espinoza H. FIIS-FIC.

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

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