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. Pedro C. Espinoza H. 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. Curso de Capacitación: “Redes Neuronales y Simulación”.

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

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

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

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

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

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

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

0706 PESOS net.6949 2.2310 0.3741 1. 58 . La norma del gradiente está por debajo de 0. validación.[].2 del capítulo 2. Pedro C.Universidad Nacional de Ingeniería. de la validación y del test. Entrenamiento de la RNA Este proceso se realiza con los datos de la matriz Enp y con la parte correspondiente del valor esperado.8082 3. 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.0966 -0.3455 0.VEt.IW{1.01. Curso de Capacitación: “Redes Neuronales y Simulación”. b) Training State: muestra el comportamiento del gradiente en cada iteración.val. Esta curvas muestran el comportamiento de la norma del gradiente y que se vio en la sección 2. Luego de ejecutar esta fila sale el aplicativo que indica que se han realizado 100 iteraciones. c) Regression: Presenta el R y la gráfica de la correlación entre el output y el valor esperado de la red.4229 2.5099 -1.2416 -0.0040 0.5354 -0.8345 Paso 5. Espinoza H. 0.1} -1. La función de entrenamiento es train y su sintaxis es como sigue: >>[net.4590 -0. del mu y los errores del test.tr]=train(net.2272 -0. Fig.[].test).1178 -0. 2 Ejecutando los botones: a) Performance: se ven las curvas del entrenamiento. FIIS-FIC.b{1.0529 0. La validación y el test lo realizarán las otras matrices definidas en el paso indicado.8842 -0.0157 2.0409 -1.0161 -0. test y la correlación total.2613 GANANCIAS net. que se encuentra en la matriz VEt que fueron seleccionados en el paso3.Enp.2980 1.0352 1. en cada una de las tres etapas: entrenamiento.1} 0.3740 0.

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

5040 GANANCIAS net. FIIS-FIC.1206 -0.b{1.Universidad Nacional de Ingeniería.0198 0.:)). 60 y el .1198 1. El siguiente bucle muestra la regresión lineal entre el valor entregado por la red: a valor esperado: t.4224 2. se tiene que aplicar el proceso inverso de la normalización.ptrans).r(i)]=postreg(a(i. con sus respectivos coeficientes de correlación R.b(i).4403 -2.1953 0.IW{1.8803 2.ts). Para ver los resultados en el nivel y las características de la data original.3408 0.t(i.9515 2. Conversión de la respuesta de la simulación an a valores originales En el paso 2 se normalizó la data y todo el proceso de entrenamiento y simulación de la red se ha realizado con valores normalizados.3626 1. Espinoza H. Código PIAP-1-P-676-13. primero vemos de qué orden es an con: >>size(an) ans = 3 264 Paso 7.:).6622 -0. donde las rectas de color rojo son las rectas de regresión por mínimo cuadrados.2036 0.an.7850 0.1407 0.1} -0. Este proceso se realiza mediante la función postreg for i=1:3 figure(i) [m(i). Nuevas matrices de pesos y ganancias Luego del entrenamiento aparecen nuevas matrices de peso y ganancias o sesgos. >>size(a) ans = 3 264 Paso 8.6183 Paso 6. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia. Comparación del resultado entregado por la red y el valor esperado. 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.1024 PESOS net.0354 0.0802 0.1459 0.3584 0.1556 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.8809 -0.2460 0. llamando a la función: >> a = mapstd('reverse'. 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.1} 1.7023 -0. Pedro C. end La salida esta formada por tres gráficas. Curso de Capacitación: “Redes Neuronales y Simulación”.

5204 13.3964 40.8 Fig.0000 8.9581 23.0000 42.6206 79.5579 61. : ) 9.5968 1.0000 50.0000 5.4744 62.9 Además en cada arreglo [m(i).9246 55.0000 22. m(i) es la pendiente y b(i)la ordenada en el origen de la recta de regresión.0000 42.0000 7.2211 12.8228 37.0000 22.0000 8.0000 .0898 38.6914 16.7479 20.5634 3.9919 64.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.7420 20.0000 21. : ) -3.0000 26.0000 a(2 .6606 t(1 . Curso de Capacitación: “Redes Neuronales y Simulación”.0000 8. : ) 0.0000 21. : ) 0.:) y t(i.0000 20.4879 53.0000 4.0000 23.0576 21.r(i)].0000 20.2645 59.0000 8. Pedro C.0000 20.0000 19.5298 -16. Luego ordenamos la primera columnas de a en forma ascendente.0000 51.3105 35.0000 51.0000 8.2240 40.9877 60. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.8160 34.7835 14.8573 47.0000 4.0000 5. 2.9816 6.:).1507 21.0000 8.0000 5.6066 61 t(2. : ) 0.5577 41. Espinoza H.3662 51.0000 16.1571 40.0000 a(3 .8794 53.0000 19.0000 37.9508 23.7 Fig.9138 38.0000 22. juntamente con la primera columna de t y así sucesivamente y por separado con las otras columnas.2399 23.0000 8.2823 33.5026 11. presentamos las 3 filas de a y t pero en forma de columnas.0000 46.0000 34.5488 56. : ) 2.0000 52.0000 38.7395 38. Código PIAP-1-P-676-13.0000 9.0000 22.0000 6.b(i). r(i)es el coeficiente de correlación entre a(i.5555 26.0000 52.0000 6.0000 5.4255 51.0000 16. En la tabla que sigue se muestran 25 columnas de a y t a(1 .0363 t(3 .3939 -0.4902 45.8425 30.0181 77.0000 37.0000 22. Fig.9087 72.Universidad Nacional de Ingeniería.0000 37.0000 7.4204 40. FIIS-FIC.4635 5.0000 37.

0000 10.5554 40.0000 23.3987 41.2730 39.0000 26.0000 11.6965 65.4088 47.8741 28.0000 10.5381 3.6395 5.0000 25.0000 9.0000 350.0000 24.0000 300.4699 76.1320 32.0000 69. FIIS-FIC.0000 250.8837 88.0000 150.0000 69.0000 10.0000 después se grafican las curvas correspondientes a las filas a(1.Universidad Nacional de Ingeniería.7925 25.7491 35.:) y t(1. Así sucesivamente con las otras filas: Fig.0000 24.0000 26.0000 26. Código PIAP-1-P-676-13.0000 22.0000 100.5624 63.:).5715 38. Espinoza H.0000 62.5958 13. 12.0000 60.0000 64.0000 55.0000 9.9249 92.0000 9.0000 11.0000 105.0000 25.0000 68.8394 52.0000 12. para establecer un contraste entre la variación de una y otra.3442 37.4171 21.7994 73.0000 26.0000 55. Pedro C.4581 3. : ) t(1 .6528 8. Curso de Capacitación: “Redes Neuronales y Simulación”.0000 56.4361 87.6864 18.0000 9.0000 50.0000 200.0000 70. : ) 400.0000 26.0000 0.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 11. 1 a(1 .5182 41.0000 11.9674 187.6918 7.9965 59.0000 10.1874 27.0000 24.7252 69.7101 39.4672 24.0000 54.9333 23.7840 62.3065 35.3000 45.4341 49.3628 46.4610 102.8599 39.0000 23.0000 59. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.0000 67.4458 66.0000 62 .0000 24.

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

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

Creada la red.IW{1.1249 PESOS net.3560 0. Clas2 = 2:4:col. test.4149 0.val.[].2 65 . %Entrenamiento %Validación %Test Paso 4.2090 1.9190 SESGOS net.4467 -1.tr]=train(net.5066 2.{'tansig' 'purelin'}. automáticamente se inicializan los pesos y los sesgos de la primera capa 0.6346 -0.1} -1.0769 -0.9203 -1.Universidad Nacional de Ingeniería.Clas13).1615 2.4915 2. >>Enp = ptrans(:.T = tn(:. Curso de Capacitación: “Redes Neuronales y Simulación”.Clas2).Clas2).4820 >>net = newff(Rango.3053 0.1643 -0.7022 Paso 5.5858 0. Entrenamiento de la RNA >>[net.0244 0.'trainlm'). val.T = tn(:. 3:4:col].8416 2.0755 -0.1} -0.b{1. VEt = tn(:.0512 1. Fig.0480 0.8460 -0.5021 0.test). Pedro C.P = ptrans(:. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.Clas4). Clas13 = [1:4:col Clas4 = 4:4:col. val.Enp. Código PIAP-1-P-676-13.0493 -2.[].P = ptrans(:.5295 -0.7693 2.4722 1. Rango = -3.2957 -2.2634 1. FIIS-FIC. Espinoza H. b) Con estas clases se hace la separacacion.[5 1].4181 0.4217 -0. Creación de la red Como los datos de entrada están en la matriz ptrans se hace: >>Rango=minmax(ptrans).Clas13).6662 1.Clas4).VEt. test.

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

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

1} -1. >>size(an) ans = 1 150 Paso 7. Código PIAP-1-P-676-13.0686 -0.8302 1. Proyecto FINCYT: Redes Neuronales y Simulación de Monte Carlo para el estudio del concreto de alta resistencia.7234 GANANCIAS net. Conversión de la respuesta de la simulación an a valores originales >> a = mapstd('reverse'.1139 -0. FIIS-FIC.7694 Paso 6.Universidad Nacional de Ingeniería. Comparación del resultado entregado por la red a y el valor esperado t. Curso de Capacitación: “Redes Neuronales y Simulación”.5360 -0.0348 PESOS net.1} -2.0688 0.5 ENTRENAMIENTO VALIDACION TEST 3 2.7925 0.8354 2.an.0651 0. Este proceso se realiza mediante la función postreg for i=1:1 figure(i) [m(i).7608 -0.5319 -0.ts). 68 .t(i.5 0 0 2 4 6 8 ITERACIÓN 10 12 Nuevas matrices de peso y ganancias 0.5 1 0. CURVAS DE: 4 ERROR CUADRÁTICO 3.:). Espinoza H.5633 1.4299 0.IW{1.ptrans). Simulación de la RNA >>an = sim(net.5 2 1.b(i).3835 1.8690 -1.5706 0.3847 -2. end La salida esta formada por una sola gráfica con el coeficiente de correlación R.5386 1.9296 -2.8644 0.1522 0.r(i)]=postreg(a(i.:)).3760 3. Pedro C.b{1.2884 0. size(a) ans = 1 150 Paso 8.

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

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

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

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

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

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

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

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

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

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

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

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.Universidad Nacional de Ingeniería. 81 . Espinoza H. Pedro C.

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

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

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