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

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

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

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

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

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

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

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

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

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

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

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

1507 21.0000 5.5579 61.0000 38.9919 64.0000 8. Curso de Capacitación: “Redes Neuronales y Simulación”.0000 34. FIIS-FIC.0000 52.9877 60.6066 61 t(2.0000 37.0000 8. Pedro C.0000 7.7 Fig.0000 22.5488 56.0000 5. 2.3939 -0. Espinoza H.0000 20.9 Además en cada arreglo [m(i).3964 40.5577 41.9087 72.0000 22.0000 8.5204 13.0000 7.7395 38.2240 40.0000 9.0000 51.8573 47.0000 22.4879 53.:).0576 21.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.4635 5.0000 51.0000 21.0000 5.5634 3.7835 14.7479 20.9138 38.9508 23.0000 5.2823 33.0363 t(3 .0000 20. : ) 0.8228 37.0000 8.4902 45.0000 4.0000 6.0000 37.3662 51.0000 20.0000 16. : ) -3.0000 23.2211 12.0000 21. Luego ordenamos la primera columnas de a en forma ascendente.3105 35.4255 51.2399 23. : ) 2.:) y t(i.6914 16.0898 38.9246 55. En la tabla que sigue se muestran 25 columnas de a y t a(1 .0000 22.7420 20.0000 19.4744 62.1571 40. Fig.0000 4.2645 59.9816 6.Universidad Nacional de Ingeniería.5026 11.0000 37.5555 26.0000 6.6206 79.0000 19.0000 52.0000 42.0000 .8 Fig.b(i).8160 34.9581 23.0000 a(3 .0000 16.0000 8. Código PIAP-1-P-676-13. m(i) es la pendiente y b(i)la ordenada en el origen de la recta de regresión. : ) 0.5298 -16. : ) 0.0000 a(2 .0000 50. : ) 9.5968 1.0000 26. juntamente con la primera columna de t y así sucesivamente y por separado con las otras columnas.0000 22.4204 40.0181 77.0000 37.r(i)]. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.0000 42.0000 46.6606 t(1 .8794 53.0000 8.8425 30. presentamos las 3 filas de a y t pero en forma de columnas. r(i)es el coeficiente de correlación entre a(i.0000 8.

5958 13.3000 45.0000 250.0000 62.7252 69.8394 52.0000 56.5182 41.4672 24.3442 37.0000 105.7994 73.0000 24. FIIS-FIC. : ) 400.:).0000 68.0000 25.0000 23.8837 88.0000 26.0000 9.0000 60.0000 350.0000 50.2730 39.4458 66.0000 25.1874 27.0000 150.7840 62.0000 24.6395 5.6528 8.0000 11.4088 47.9674 187.0000 24. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. Así sucesivamente con las otras filas: Fig.6965 65.8599 39.6864 18.0000 0.7491 35.4581 3.9249 92.3628 46.0000 59.0000 64.7925 25.9333 23.0000 23.0000 62 .0000 10.0000 100.4361 87.0000 69.4171 21.Universidad Nacional de Ingeniería.:) y t(1.3987 41.0000 300.8741 28.0000 después se grafican las curvas correspondientes a las filas a(1.0000 9.4699 76.3065 35.0000 69.0000 70.0000 9.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. Pedro C.5554 40.6918 7. 1 a(1 . Curso de Capacitación: “Redes Neuronales y Simulación”. Código PIAP-1-P-676-13.0000 200.0000 9.0000 26.5381 3.0000 22.0000 26.1320 32.0000 26. 12.4341 49. Espinoza H.0000 10.0000 10.0000 11.0000 55.0000 67.9965 59. para establecer un contraste entre la variación de una y otra.4610 102.0000 10. : ) t(1 .0000 11.5624 63.5715 38.7101 39.0000 24.0000 11.0000 12.0000 26.0000 54.0000 55.

Curso de Capacitación: “Redes Neuronales y Simulación”. : ) 120. en las tres imágenes que entrega MATLAB. Código PIAP-1-P-676-13. REDES NEURONALES BACKPROPAGATION EN EL PROBLEMA DE LA CLASIFICACIÓN DE TRES TIPOS DE FLORES 3.:)y t(3. Verginica y Versicolor. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.0000 60. Estos datos se guardan en la matriz p.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. : ) 350.0000 40.0000 200. En la matriz t se guarda el código que identifica a cada tipo de flor y que son 1. 3. Espinoza H.:) presentan una mayor distorsión en comparación a las dos primeras.0000 250.0000 150. 2 y 3 respectivamente.0000 100.Universidad Nacional de Ingeniería. : ) t(3 .1 Reconocimiento de tipos de flor por las dimensiones de sus pétalos y sépalos El archivo que sigue guarda las medidas del ancho y largo de los pétalos y sépalos de tres clases de flores: Setosa. Pedro C.0000 Fig. 63 .0000 20. Esto corrobora los resultados que establecen la regresión lineal y los coeficientes de correlación.0000 0. 3 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 Se observa que las filas a(3. FIIS-FIC.0000 100. 2 a(2 . : ) t(2. Fig.0000 0.0000 300.0000 50.0000 80.

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

7022 Paso 5.Clas13).0244 0.1249 PESOS net. 3:4:col]. FIIS-FIC. val.4820 >>net = newff(Rango. Pedro C.IW{1. Código PIAP-1-P-676-13.val.4149 0.[]. >>Enp = ptrans(:. Clas13 = [1:4:col Clas4 = 4:4:col. b) Con estas clases se hace la separacacion. VEt = tn(:.4467 -1.Clas2).5021 0.T = tn(:. test.5295 -0.[5 1]. Creación de la red Como los datos de entrada están en la matriz ptrans se hace: >>Rango=minmax(ptrans). Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.4181 0.'trainlm').tr]=train(net. Fig.9190 SESGOS net.P = ptrans(:.4722 1.1615 2. %Entrenamiento %Validación %Test Paso 4. Curso de Capacitación: “Redes Neuronales y Simulación”.{'tansig' 'purelin'}.T = tn(:.2634 1.5066 2. Clas2 = 2:4:col.b{1.VEt.8460 -0.1} -1.Clas4).0755 -0. val.6662 1.6346 -0. test.9203 -1.Enp.test).0769 -0.7693 2.Universidad Nacional de Ingeniería.1643 -0.4217 -0.Clas2).0480 0.P = ptrans(:.2090 1.3053 0.2 65 .5858 0.Clas4).Clas13). Espinoza H. automáticamente se inicializan los pesos y los sesgos de la primera capa 0.0512 1.1} -0.3560 0.[]. Entrenamiento de la RNA >>[net.8416 2.0493 -2. Creada la red.4915 2.2957 -2. Rango = -3.

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

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

2884 0.7608 -0. Curso de Capacitación: “Redes Neuronales y Simulación”.b{1.5 2 1.0686 -0. size(a) ans = 1 150 Paso 8.IW{1.1139 -0.b(i).an.1} -1.5360 -0.1522 0. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.5 ENTRENAMIENTO VALIDACION TEST 3 2.4299 0.7925 0.ts).8302 1.7234 GANANCIAS net. end La salida esta formada por una sola gráfica con el coeficiente de correlación R. Pedro C.:). Código PIAP-1-P-676-13.9296 -2.t(i. Conversión de la respuesta de la simulación an a valores originales >> a = mapstd('reverse'.5706 0.8354 2.ptrans). 68 . Este proceso se realiza mediante la función postreg for i=1:1 figure(i) [m(i). >>size(an) ans = 1 150 Paso 7.:)).1} -2. Espinoza H.0348 PESOS net.Universidad Nacional de Ingeniería.8644 0. Simulación de la RNA >>an = sim(net. CURVAS DE: 4 ERROR CUADRÁTICO 3.5386 1.5633 1.3847 -2.0651 0. FIIS-FIC.5319 -0.r(i)]=postreg(a(i.3760 3.3835 1.0688 0.5 1 0.7694 Paso 6.8690 -1. Comparación del resultado entregado por la red a y el valor esperado t.5 0 0 2 4 6 8 ITERACIÓN 10 12 Nuevas matrices de peso y ganancias 0.

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

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

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

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

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

2 pero Entonces E ( x)  (Tk  Q 2 )  ( f12 ) (V 2 )  Q21 2 w1.1 74 .1 pero Entonces E ( x)  (Tk  Q 2 )  ( f12 ) (V 2 )  Q11 2 w1.Universidad Nacional de Ingeniería.1Q11  w12. 2 dQ 2 = ( f12 ) (V 2 ) y dV 2  V 2  w12. 2 Q 2  F 2 (V 2 )  f12 (V 2 ) .  1 . Curso de Capacitación: “Redes Neuronales y Simulación”.  E dQ 2 V 2 2 ( x )  ( T  Q )   k w12.  V 2  w12. 1 dQ 2 = ( f12 ) (V 2 ) y 2 dV  V 2  Q11 . 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 ) .1 b) La derivada parcial de E (x) respecto del peso w12. 2 Q12  b12 V 2  Q21 .1Q11  w12. 2 Q12  b12 E dQ 2 V 2 2 ( x )  ( T  Q )   k w12. Entonces dV 2 b12  E ( x)  (Tk  Q 2 )  ( f12 ) (V 2 ) 2 b1 Respecto de los pesos y ganancias de la primera capa a) La derivada parcial de E (x) respecto del peso w11.  E dQ 2 V 2 2 ( x )  ( T  Q )   k w12. 2 dV 2 w12. 2 pero dQ 2 V 2 2  2 = ( f1 ) (V ) . Pedro C. 2 w1. 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. w12. Espinoza H.1 dV 2 w12.

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

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

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

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

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

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

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

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

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