Facultad de Ingenierı́a de Minas, Geologı́a Y Civil
Escuela Profesional de Ingenierı́a Civil
MÉTODOS NUMÉRICOS
TRABAJO 2
Inteligencia Artificial
Redes neuronales aplicadas a la predicción de la resistencia a
compresión de probetas
Docente:
Ing. Cristian Castro Pérez
Integrantes:
Ayacucho - Perú
2019
1
Índice general
CAP 1 INTRODUCCIÓN 4
CAP 2 OBJETIVOS 5
CAP 3 MARCO TEÓRICO 6
3.1 INTELIGENCIA ARTIFICIAL 6
3.2 MACHINE LEARNING (Aprendizaje Automático) 6
3.3 RAMAS DE LA INTELIGENCIA ARTIFICIAL 6
Lógica difusa 6
Algoritmos genéticos 7
Redes neuronales artificiales 7
3.4 BASES TEÓRICAS SOBRE EL TEMA DE APLICACIÓN 7
Concreto 7
Cemento 7
Relación agua cemento 8
Curado 8
El curado, según el ACI 308 R 8
3.5 REDES NEURONALES ARTIFICIALES 10
3.5.0.1 Aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . 10
3.5.0.2 Estructuras de conexión de atrás hacia adelante . . . 11
3.5.0.3 Algoritmo de aprendizaje Backpropagation . . . . . . 11
CAP 4 FORMULACIÓN MATEMÁTICA 13
4.1 Las neuronas 13
función de activación 13
4.2 Implementación del algorito de Backpropagation 14
4.3 Descenso de gradiente 14
4.4 Adaptación de entradas y salidas 16
2
CAP 5 APLICACIÓN E IMPLEMENTACIÓN 17
5.1 Procedimiento general 17
Procedimiento especı́ficas 17
IDENTIFICACIÓN DE VARIABLES 17
5.1.2.1 Variable independiente . . . . . . . . . . . . . . . . . 17
5.1.2.2 Variable dependiente . . . . . . . . . . . . . . . . . . 17
5.1.2.3 Variable dependiente Variables e indicadores . . . . . 17
5.2 Prueba del programa 18
CAP 6 CONCLUSIONES 19
3
INTRODUCCIÓN
CAPÍTULO 1
En el presente trabajo se construye un modelo de inteligencia artificial (redes
neuronales artificiales), que permita predecir la resistencia al esfuerzo de com-
presión axial del concreto (f c).
Para esto se obtuvo datos de rotura de briquetas a compresión de diferentes tiem-
pos de curado este archivo fueron tomados de Bachiller INTOR VÁSQUEZ Car-
los Enrique , Octubre de 2015 [3] : Resistencia a la comprensión del concreto
f c = 175kg/cm2 con fibras de polipropileno .
Se realizó el procesamiento de datos para la construcción del modelo de red neu-
ronal artificial con la siguiente estructura: 3 variables de ingreso, siendo estos:
(cantidad de cemento, relación agua cemento (w/c), el tiempo de curado del con-
creto) y dos salidas (resistencia a la compresión axial del concreto y el porcentaje
obtenido); para el entrenamiento se uso de la metodologı́a de propagación inver-
sa (backpropagation) y el algoritmo de descenso de gradiente, buscando reducir
el error cuadrático medio (MSE). Se usó como herramienta de implementación y
programación el software Matlab.
4
OBJETIVOS
CAPÍTULO 2
Estudiar la Inteligencia Artificial y su potencial como herramienta en la
ingenierı́a civil.
Aplicar estos conocimientos para predecir la resistencia a compresión de
una probeta elaborada con fibras de polipropileno a partir de un trabajo ya
elaborado usando una red neuronal.
5
MARCO TEÓRICO
CAPÍTULO 3
3.1 INTELIGENCIA ARTIFICIAL
La inteligencia artificial (IA), es la inteligencia llevada a cabo por máquinas. En
ciencias de la computación, una máquina inteligente ideal es un agente flexible
que percibe su entorno y lleva a cabo acciones que maximicen sus posibilidades
de éxito en algún objetivo o tarea. Coloquialmente, el término inteligencia arti-
ficial se aplica cuando una máquina imita las funciones cognitivas que los hu-
manos asocian con otras mentes humanas, como por ejemplo: percibir, razonar,
aprender y resolver problemas. [7]
3.2 MACHINE LEARNING (Aprendizaje Automático)
El aprendizaje automático o aprendizaje automatizado o aprendizaje de máqui-
nas (del inglés, machine learning) es el subcampo de las ciencias de la compu-
tación y una rama de la inteligencia artificial, cuyo objetivo es desarrollar técni-
cas que permitan que las computadoras aprendan. Se dice que un agente aprende
cuando su desempeño mejora con la experiencia, es decir, cuando la habilidad no
estaba presente entre sus rasgos de nacimiento. De forma más concreta, se trata
de encontrar algoritmos y heurı́sticas para convertir muestras de datos en progra-
mas de computadora, sin tener que escribir los últimos explı́citamente. Los mo-
delos o programas resultantes deben ser capaces de generalizar comportamientos
e inferencias para un conjunto más amplio (potencialmente infinito) de datos.
3.3 RAMAS DE LA INTELIGENCIA ARTIFICIAL
3.3.1 Lógica difusa
La lógica difusa es una rama de la IA que le permite a una computadora ana-
lizar información del mundo real en una escala entre lo falso y verdadero. Los
matemáticos dedicados a la lógica en la década de 1920 defi nieron un concepto
clave: todo es cuestión de grado. La lógica difusa manipula conceptos vagos como
“caliente” o “húmedo” y permite a los ingenieros construir televisores, acondicio-
nadores de aire, lavadores y otros dispositivos que juzgan información difı́cil de
definir. [2]
6
MÉTODOS NUMÉRICOS
3.3.2 Algoritmos genéticos
Un algoritmo genético (AG) es una técnica de búsqueda iterativa inspirada en los
principios de selección natural. Los AG no buscan modelar la evolución biológica
sino derivar estrategias de optimización. El concepto se basa en la generación de
poblaciones de individuos mediante la reproducción de los padres.
Muchos problemas tienen funciones objetivo complejas y la optimización tiende
a fin de analizar en mı́nimos y máximos locales. La idea de los AG es optimizar
(hallar el máximo o mı́nimo) una función objetivo utilizando los principios de la
selección natural sobre los parámetros de la función. [2]
3.3.3 Redes neuronales artificiales
Las redes neurales se basan en generalizar información extraı́da de datos expe-
rimentales, tablas bibliográfi cas o bases de datos, los cuales se determinan por
expertos humanos. Dichas redes neurales toman en cuenta las entradas (corrien-
te, voltaje) y como salidas las señales del sistema (velocidad, temperatura, tor-
que). La red neural utilizada es una red multicapa de diez neuronas en la capa de
entrada, diez neuronas en la capa oculta y cinco neuronas en la capa de salida.
Por lo tanto, se tienen 250 pesos ajustables mediante un control retroalimenta-
do o de lazo cerrado. En la fi gura 1.4 se presenta un diagrama de red neural.
Los parámetros de inicialización se obtuvieron mediante un conjunto de datos
experimentales y una base de datos. [2]
3.4 BASES TEÓRICAS SOBRE EL TEMA DE APLICACIÓN
3.4.1 Concreto
El concreto es una mezcla de cemento Portland, agregado fino, agregado grueso,
aire, y agua en proporciones adecuadas para obtener ciertas propiedades prefija-
das, especialmente la resistencia (ing. Flavio ABANTO CASTILLO).
3.4.2 Cemento
El cemento es un producto comercial de fácil adquisición el cual cuando se mez-
cla con agua, ya solo o en combinación con arena, piedra u otro materiales simi-
lares, tiene la propiedad de reaccionar lentamente con el agua hasta formar una
masa endurecida.(ing. Flavio ABANTO CASTILLO).
Cementos Pórtland sin adición// Constituidos por Clinker Pórtland y la inclu-
sión solamente de un determinado porcentaje de sulfato de calcio (yeso). Aquı́
tenemos según las normas técnicas, a continuación se muestra los tipos de este
cemento:
Tipo I : Para usos que no requieren propiedades especiales de ningún otro
tipo.
Tipo II : Para uso general y especı́ficamente cuando se desea moderada re-
sistencia a los sulfatos o moderado calor de hidratación.
INTELIGENCIA ARTIFICIAL 7
MÉTODOS NUMÉRICOS
Tipo III : Para utilizarse cuando se requiere altas resistencias iniciales.
Tipo IV : Para emplearse cuando se desea bajo calor de hidratación.
Tipo V : Para emplearse cuando se desea alta resistencia a los sulfatos.
Cementos Pórtland adicionados// Contienen además de Clinker portland y ye-
so, 2 o más constituyentes inorgánicos contienen pequeños porcentajes de otros
materiales denominados “adiciones” (puzolanas, escorias, caliza, filler etc.), (N.T.P.400.011,
2008) Esta incorporación contribuye a mejorar las propiedades del concreto. En-
tre ellos tenemos:
Cementos Portland Puzolánicos: Tipo IP, Tipo IPM y Tipo P.
Cementos Portland de escoria: Tipo IS, Tipo ISM y Tipo S.
Cementos Portland compuesto: Tipo ICo.
3.4.3 Relación agua cemento
Relación Agua/Cemento: También conocida como razón agua/cemento , a/c, o
pasta cementicia es uno de los parámetros más importantes de la tecnologı́a del
hormigón, pues influye considerablemente en la resistencia final del mismo.
Relación Agua/Cemento: También conocida como razón agua/cemento , a/c, o
pasta cementicia es uno de los parámetros más importantes de la tecnologı́a del
hormigón, pues influye considerablemente en la resistencia final del mismo.
3.4.4 Curado
Se entiende por curado del concreto mantener un adecuado contenido de hume-
dad y temperatura a edades tempranas de manera que el concreto pueda desa-
rrollar las propiedades con las cuales fue diseñada la mezcla, es importante co-
menzar a curar el concreto inmediatamente después del fraguado.
El curado se iniciara tan pronto como el concreto haya endurecido lo suficiente
como para que su superficie no resulte afectada por el procedimiento emplea-
do.// referencia (http : //tecnologia17118.blogspot.com)
3.4.5 El curado, según el ACI 308 R
Es el proceso por el cual el concreto elaborado con cemento hidráulico madura y
endurece con el tiempo, como resultado de la hidratación continua del cemento
en presencia de suficiente cantidad de agua y de calor “Las medidas de curado se
deben poner en práctica tan pronto como el concreto esté en riesgo de secarse pre-
maturamente y cuando dicho secado deteriore el concreto o impida el desarrollo
de las propiedades requeridas” referencia (http://tecnologia17118.blogspot.com).
INTELIGENCIA ARTIFICIAL 8
MÉTODOS NUMÉRICOS
las imagenes prentan las variones en fc de como afecta la relacion agua cemento
y el curado en difentes dias
INTELIGENCIA ARTIFICIAL 9
MÉTODOS NUMÉRICOS
3.5 REDES NEURONALES ARTIFICIALES
Se amplı́a esta sección ya que son las redes neuronales artificiales el modelo que
usaremos para implementar nuestra alpicación. Los conceptos a tomar en cuenta
son los siguientes:
Las redes neuronales (NN o Neural Networks) se crearon para simular los siste-
mas nerviosos biológicos, constituidos por neuronas y nodos que interconectan
las neuronas. El primer modelo de red neuronal fue propuesto en 1943 por Mc-
Culloch y Pitts. Las de redes neuronales podrı́an clasificar en:
Modelos basados en la Biologı́a: Son un conjunto de redes que simulan los
sistemas neuronales biológicos.
Modelos artificiales aplicados: Diseñados para resolver algún problema en
concreto que no tiene necesariamente que ver con los sistemas biológicos.
Las redes neuronales, también llamadas redes de neuronas artificiales”, son
modelos bastante simplificados de las redes de neuronas que forman el ce-
rebro. Y, al igual que este, intentan .aprender.a partir de los datos que se le
suministran.
Ası́, las principales caracterı́sticas que diferencian a las redes neuronales de otras
tecnologı́as de IA son:
1. Su capacidad de aprendizaje a partir de la experiencia (entrenamiento).Normalmente,
para la elaboración de un programa informático es necesario un estudio de-
tallado de la tarea a realizar para después codificarla en un lenguaje de pro-
gramación. Pero, las redes neuronales pueden ser entrenadas para realizar
una determinada tarea sin necesidad de un estudiar está a fondo ni progra-
marla usando un lenguaje de programación. Además; las redes neuronales
pueden volver a entrenarse para ajustarse a nuevas necesidades de la tarea
que realizan,sin tenerse que reescribir o revisar el código.
2. Su velocidad de respuesta una vez concluido el entrenamiento. Se compor-
tan también en este caso de manera similar a como lo hace el cerebro: los
seres humanos no necesitamos pensar mucho para identificar un objeto, una
palabra.
3. Su robustez, en el sentido de que el conocimiento adquirido se encuentra
repartido por toda la red, de forma que si se lesiona una parte se continúan
generando cierto número de respuestas correctas.
En la figura 1 se muestra una neurona artificial de múltiples entradas. En ésta,
las entradas individualesx1 , x2 , x3 , ..., xi son multiplicadas correspondientemente
por los elementos w1 , w2 de la matriz, un sesgo b y La salida de la neurona.
3.5.0.1. Aprendizaje
El aprendizaje en una red neuronal es una de las partes más importantes, ya
que a partir de ellas se determina valores precisos de los pesos para todas sus
conexiones, que la capacite para la resolución eficiente de un problema dado.
Según (Aguilar, 2008), este proceso consiste en ir introduciendo paulatinamente
todos los ejemplos del conjunto de aprendizaje, luego modificar los pesos de las
INTELIGENCIA ARTIFICIAL 10
MÉTODOS NUMÉRICOS
Figura 3.1: esquema de una red nuronal
conexiones siguiendo un determinado esquema de aprendizaje, para finalmente
comprobar la convergencia, siendo esto un proceso iterativo hasta alcanzar pesos
óptimos con un mayor grado de precisión. con el objeto de minimizar el error
cometido entre la salida obtenida por la red neuronal y la salida deseada.
3.5.0.2. Estructuras de conexión de atrás hacia adelante
Una red neuronal se determina por las neuronas y la matriz de pesos. Hay tres
tipos de capas de neuronas:
Capa de entrada
Capa oculta
Capa de salida
3.5.0.3. Algoritmo de aprendizaje Backpropagation
Consta de dos pasos; el primero se presenta un patrón de entrada y este se trans-
mite a través de las sucesivas capas de neuronas hasta obtener una salida. Des-
pués se procede a ejecutar una etapa de entrenamiento o aprendizaje donde se
modifican los pesos de la red hasta que la salida deseada por el usuario coincida
con la salida obtenida por la red en todos los patrones de entrada.
Funcionamiento:
La elaboración de una Red neuronal artificial involucra la definición del número
de capas ocultas, el número de neuronas en las capas ocultas, el tipo de conexio-
nes entre las neuronas y el mecanismo de aprendizaje. Con respecto al tipo de
conexiones, una tipologı́a es la feedforward, definida por , la cual corresponde
a un tipo de estructura de computación paralela donde muchas pequeñas uni-
dades de cálculo llamadas neuronas están masivamente interconectadas, con la
capa anterior de donde reciben información, y con la capa posterior hacia donde
la transmiten. Sus capas ocultas poseen una función de activación que limita la
salida a un rango cercano y desde esta la capa de salida puede producir todos los
INTELIGENCIA ARTIFICIAL 11
MÉTODOS NUMÉRICOS
valores de estimación. La salida de cada capa es representada como:
YN +1 = f (WN ∗N XM,1 + bN ,1 )(1)
Donde:
Y es un vector que contiene la salida desde cada una de las
N neuronas en una capa dada
W es la matriz que contiene los pesos sinápticos, para cada una de las
M salidas para todas las N neuronas
X es el vector que contiene las entradas
b es el vector que contiene los sesgos (bias)
y f es la función de activación
La función de activación no-lineal a emplear es la función sigmoidea que se ex-
presa como:
1
fz =
1 + e−z
Donde:
Z es la expresión contenida dentro del paréntesis de la ecuación (1).
La técnica de aprendizaje de backpropagation consiste en utilizar una optimiza-
ción basada en derivas, donde el error es derivable no solamente en función de
los pesos de la capa de salida, sino también en función de los pesos de la capa
utilizando la regla de la cadena que permite minimizar el error de entrenamiento
de la red neuronal.
INTELIGENCIA ARTIFICIAL 12
FORMULACIÓN MATEMÁTICA
CAPÍTULO 4
La red neuronal que se modeló es un perceptrón con cuatro capas con la siguiente
distribución:
3 neuronas de entrada
12 neuronas en la segunda capa
8 neuronas en la capa intermedia
2 neuronas en la capa de salida
4.1 Las neuronas
Las neuronas presentes en las diversas capas poseen la siguiente configuración:
Estas se encargan de procesar la información que reciben a través de una función,,
la cual se describe a continuación.
4.1.1 función de activación
La función escogida para nuestras neuronas es la función sigmodal:
1
f (x) =
1 + e−x
Con la función sigmoidal el valor dado por la función es cercano a uno de los va-
lores asintóticos. Esto hace que en la mayorı́a de los casos, el valor de salida esté
comprendido en la zona alta o baja del sigmoide. De hecho, cuando la pendiente
es elevada, esta función tiende a la función escalón. Sin embargo, la importancia
de la función sigmoidal es que su derivada siempre es positiva y cercana a cero
13
MÉTODOS NUMÉRICOS
para los valores grandes positivos o negativos; además, toma su valor máximo
cuando x → 0. Esto hace que se puedan utilizar reglas de aprendizaje definidas
para las funciones escalón, con la ventaja, respecto a esta función, de que la deri-
vada está definida en todo el intervalo.
4.2 Implementación del algorito de Backpropagation
Esta técnica permite tener un método de optimización que se encuentra al defi-
nir el gradiente del error y minimizarlo con respecto a los parámetros de la red
neuronal.
Para ello se calcularán las derivadas parciales de las salidas de las neuronas de
la última capa, que en nuestro caso son dos, con respecto a cada peso en cada
conección en las diversas capas.
El cálculo simplificado es el siguiente:
∂yi (3)
(3)
= aj yi (1 − yi )
∂wji
∂yi (2) (3) (3) (3)
(2)
= aj ak (1 − ak )wki yi (1 − yi )
∂wjk
n3
∂yi (2) (2)
X (2) (3) (3) (3)
= xj ak (1 − ak ) wkp ap (1 − ap )wpi yi (1 − yi )
(1)
∂wjk
p=1
4.3 Descenso de gradiente
El proceso del descenso de gradiente busca reasignar los valores de los pesos y
de los umbrales que son los parámetros de las que dependen las salidan en cada
neurona. Todo ello busca minimizar el error cuadrático entre el valor de salida y
el valor real en ada neurona de salida. Este proceso se resume ası́:
∂e
w = w−α
∂w
∂e
u = u−α =
∂u
Si de toma el error cuadrático como la distancia entre los valores ”botados”por
la red y los valores reales en las neuronas de la capa de salida, esa viene a ser el
teorema de pitágoras para hiperplanos, donde el error es:
p
e = (s1 − y1 )2 + (s2 − y2 )2 + · · · + (sn − n1 )2
Ya que solo se tienen dos salidas, y aumentando el factor 1/2 la expresión queda
como:
r
1 1
e= (s1 − y1 )2 + (s2 − y2 )2
2 2
INTELIGENCIA ARTIFICIAL 14
MÉTODOS NUMÉRICOS
Luego, e es mı́nimo cuando el argumento de la raı́z es mı́nimo, por ello, omitire-
mos el tal operación:
1 1
e = (s1 − y1 )2 + (s2 − y2 )2
2 2
Derivando se obtiene lo siguiente:
∂e
= −(si − yi )
∂yi
En general,
4 n
∂e X ∂y
= −(si − yi ) i
∂u ∂u
i=1
Usando esta expresión y reemplazándola en las ecuaciones del Backpropagation,
se obtiene:
∂e (3)
(3)
= aj yi (1 − yi )(−(si − yi ))
∂wji
n4
∂e (2) (3) (3)
X (3)
(2)
= aj ak (1 − ak ) wki yi (1 − yi )(−(si − yi ))
∂wjk i=1
n3 n4
∂e (2) (2)
X (2) (3) (3)
X
(3)
= x a (1 − a ) w a (1 − a ) w yi (1 − yi )(−(si − yi ))
j k kp p p
(1) k pi
∂wjk
p=1 p=1
Para facilitar la implementación en algún lenguaje de programación, en nuestro
caso , Matlab, se definen los siguientes:
(4)
δi = yi (1 − yi )(−(si − yi ))
n4
(3) (3) (3)
X (3)
δk = ak (1 − ak ) wki yi (1 − yi )(−(si − yi ))
i=1
n3 n4
(2) (2) (2)
X (2) (3) (3)
X (3)
δk = ak (1 − ak ) wkp ap (1 − ap ) wpi yi (1 − yi )(−(si − yi ))
p=1 p=1
Las cuales ya se encuentran dentro de las fórmulas anteriores:
∂e (3)
(3)
= aj yi (1 − yi )(−(si − yi ))
∂wji | {z }
n4
∂e (2) (3) (3)
X (3)
(2)
= aj ak (1 − ak ) wki yi (1 − yi )(−(si − yi ))
∂wjk i=1
| {z }
| {z }
n3 n4
∂e (2) (2) (2) (3)
X (3)
X (3)
(1)
= xj ak (1 − ak ) wkp ap (1 − ap ) wpi yi (1 − yi )(−(si − yi ))
∂wjk p=1 p=1
| {z }
| {z }
| {z }
INTELIGENCIA ARTIFICIAL 15
MÉTODOS NUMÉRICOS
4.4 Adaptación de entradas y salidas
Ya que la función de activación trabaja con valores entre 1 y 0 , los datos de en-
trada y salida se adaptan a una escala entre estos valores.
Los datos de entrada se transforman a escalas en tanto por uno con respecto a la
diferencia entre el máximo y mı́nimo d la columna a la que pertenecen.
Es decir:
EntradaReal − V alorMinimo
EntradaAjustada =
V alorMaximo − V alorMinimo
Mientras que para la salida se hace el proceso inverso. Es decir:
SalidaReal = (V alorMaximo − V alorMinimo) ∗ SalidaAjustada + V alorMinimo
INTELIGENCIA ARTIFICIAL 16
APLICACIÓN E IMPLEMENTACIÓN
CAPÍTULO 5
5.1 Procedimiento general
El resultado de la resistencia del concreto mediante redes neuronales artificiales
es óptimo.
5.1.1 Procedimiento especı́ficas
La cantidad de cemento influye al método de redes neuronales artificiales
al hallar la resistencia del concreto.
La relación de agua cemento influyen al método de redes neuronales artifi-
ciales al hallar la resistencia del concreto.
El tiempo de curado influye al método de redes neuronales artificiales al
hallar la resistencia del concreto.
5.1.2 IDENTIFICACIÓN DE VARIABLES
5.1.2.1. Variable independiente
Redes neuronales artificiales
5.1.2.2. Variable dependiente
Resistencia del concreto
5.1.2.3. Variable dependiente Variables e indicadores
x1. Tiempo de curado.(dı́as) x2. Porcentaje de polipropileno añadido x3. Carga
de rotura (Tn)
Los datos para el entrenamiento de la red se recolectaron de un trabajo
realizado por Carlos Enrique Intor Vasquez [3], quien puso a prueba 360
probetas elaboradas con fibras de polipropileno. Sus resultados nos ayu-
darán a entrenar nuestra red neuronal, y una vez realizada , nos permitirá
predecir nuevas resistencias.
17
MÉTODOS NUMÉRICOS
5.2 Prueba del programa
El programa cuenta con 5 archivos: Implmentación del BackPropagation, La eje-
cución de la red neuronal, El entrenamiento, La prueba y un archivo de variables.
A continuación , se muestra la ejecución del subprograma Prueba:
1 edad=input('Ingrese la edad de la probeta (entre 7 y 28
dias) : ') ;
2 polip=input('Ingrese el porcentaje de polipropileno usado (
entre 0 y 1 %) : ');
3 cdr=input('ingrese una carga de rotura (entre 25 y 36 Tn )
: ');
4
5 escal = ([edad , cdr , polip]-minimos (1:3))./( maximos (1:3) -
minimos (1:3));
6 resparR=RedNeuronal (1,escal);
7 resparP=RedNeuronal (2,escal);
8
9 ResistenciaEstimada = (maximos (4) - minimos (4)) * resparR+
minimos (4)
10
11 PorcentajeObtenido = (( maximos (5) - minimos (5)) * resparP+
minimos (5)) * 100
>> Probar
Ingrese la edad de la probeta (entre 7 y 28 dı́as) : 7
Ingrese el porcentaje de polipropileno usado (entre 0 y 1%) : 0.6
ingrese una carga de rotura (entre 25 y 36 Tn ) : 27.8
ResistenciaEstimada =
156.2229
PorcentajeObtenido =
89.1555
Se puede apreciar que las respuestas obtenidas se asemejan a la realidad. Las
respuestas correctas según la tabla de resultados es la siguiente:
151.21
86.40%
Las respuestas aún no son tan cercanas porque la red no se entrenó lo suficiente
con el fin de apreciar la evolución de su capacidad de predicción.
INTELIGENCIA ARTIFICIAL 18
CONCLUSIONES
CAPÍTULO 6
Las redes neuronales artificiales son el presente de la computación, estas
son una herramienta poderosa en el campo de la ingenierı́a civil y todas las
demás especialidades estén o no relacionadas con la ingenierı́a o la ciencia.
Debido a su potencial, estas se deben explotar en la investigación y otros
fines.
La red neuronal diseñada para estimar la resistencia del concreto a compre-
sión registró un buen comportamiento al calcular la resistencia del concre-
to.
Se logró diseñar una red neuronal adecuada a partir de 3 datos (tiempo de
curado, carga de rotura y porcentaje de polipropileno usado), que permita
predecir eficazmente la resistencia a la compresión axial esto en lo básico ya
que en sı́, para la resistencia intervienen muchos factores como (agregados,
humedad, absorción, modulo de fineza, Tamaño máximo nominal, etc).
La aplicación que se ha implementado es la predicción de la resistencia de
una probeta a partir de sus caracterı́sticas de elaboración como su edad y el
porcentaje de polipropileno añadido.
19
Bibliografı́a
[1] Aguila, R. P. Una introducción al cómputo neuronal artificial. El Cid Editor,
2012.
[2] Cruz, P. P. Inteligencia artificial con aplicaciones a la ingenierı́a. Alfaomega,
2011.
[3] Intor, C. Resistencia a la compresión del concreto f´c=175 kg/cm2 con fibras de
polipropileno”. PhD thesis, Universidad Nacional de Cajamarca, 2015.
[4] Morales, R. M., and Méndez, J. T. P. Inteligencia artificial: Métodos, técnicas y
aplicaciones. McGraw-Hill España, 2011.
[5] Wikipedia. Neurona de mcculloch-pitts — wikipedia, la enciclopedia libre,
2019. [Internet; descargado 20-julio-2019].
[6] Wikipedia. Perceptrón — wikipedia, la enciclopedia libre, 2019. [Internet;
descargado 20-julio-2019].
[7] Wikipedia. Red neuronal artificial — wikipedia, la enciclopedia libre, 2019.
[Internet; descargado 20-julio-2019].
20
ANEXOS
Códigos usados en la implementación:
1 function res = RedNeuronal(i,X)
2 load('Coeficientes.mat');
3 res = Y(i,X,w1 ,w2 ,w3 ,u2 ,u3 ,u4);
4
5 end
6
7 function res = A2(i,X,w1 ,u2)
8
9 sumatoria =0;
10 for q=1:3
11
12 sumatoria = (X(q) * w1(q,i))+sumatoria;
13
14 end
15
16 aux1 = sumatoria+u2(i);
17
18 res = f(aux1);
19
20 end
21
22 function res = A3(i,X,w1 ,w2 ,u2 ,u3)
23
24 sumatoria =0;
25 for q=1:12
26
27 sumatoria = (A2(q,X,w1 ,u2) * w2(q,i))+sumatoria;
28
29 end
30
31 aux1 = sumatoria+u3(i);
32
33 res = f(aux1);
34
35 end
36
37 function res = Y(i,X,w1 ,w2 ,w3 ,u2 ,u3 ,u4)
38
39 sumatoria =0;
40 for q=1:8
21
MÉTODOS NUMÉRICOS
41
42 sumatoria = (A3(q,X,w1 ,w2 ,u2 ,u3) * w3(q,i))+sumatoria
;
43
44 end
45
46 aux1 = sumatoria+u4(i);
47
48 res = f(aux1);
49
50 end
51
52
53 function res = f(x)
54 res = 1 ./ (1 + exp(-x));
55 end
1 function BackPropagation (X,salida)
2 load('Coeficientes.mat');
3 alfa = 0.5;
4 Y = [1 1];
5 d4 = [1 1];
6 for i=1:2
7 Y(i) = RedNeuronal(i,X);
8 d4(i)= delta4(Y(i),salida(i));
9 end
10
11 for j=1:3
12
13 for i=1:12
14 w1(j,i) = w1(j,i) - alfa * error(j,i,d4 ,X,w1 ,w2 ,
w3 ,u2 ,u3 ,u4);
15 u2(i) = u2(i) - alfa * delta2(i,d4 ,X,w1 ,w2 ,w3 ,u2 ,
u3 ,u4);
16 end
17 end
18
19 for j=1:12
20
21 for i=1:8
22
23 w2(j,i) = w2(j,i) - alfa * error2(j,i,d4 ,X,w1 ,w2 ,
w3 ,u2 ,u3 ,u4);
24 u3(i) = u3(i) - alfa * delta3(i,d4 ,X,w1 ,w2 ,w3 ,u2 ,
u3 ,u4);
25 end
26 end
27
28 for j=1:8
29
INTELIGENCIA ARTIFICIAL 22
MÉTODOS NUMÉRICOS
30 for i=1:2
31 w3(j,i) = w3(j,i) - alfa * error3(i,d4(i),X,w1 ,w2
,w3 ,u2 ,u3 ,u4);
32 u4(i) = u4(i) - alfa * d4(i);
33 end
34 end
35
36 save Coeficientes.mat w1 w2 w3 u2 u3 u4;
37 end
38
39 function res = delta4(Y,sal)
40
41 res = Y * (1-Y) * (Y-sal);
42
43 end
44
45 function res = delta3(k,d4 ,X,w1 ,w2 ,w3 ,u2 ,u3 ,u4)
46
47
48 a3=A3(k,X,w1 ,w2 ,u2 ,u3);
49 sumatoria =0;
50
51 for i=1:2
52
53 sumatoria = (w3(k,i) * d4(i)) + sumatoria;
54 end
55 res = a3 * (1-a3) * sumatoria;
56
57
58 end
59
60 function res = delta2(k,d4 ,X,w1 ,w2 ,w3 ,u2 ,u3 ,u4)
61
62 a2=A2(k,X,w1 ,u2);
63 sumatoria =0;
64 for p=1:8
65 sumatoria = (w2(k,p) * delta3(p,d4 ,X,w1 ,w2 ,w3 ,u2 ,u3 ,
u4)+sumatoria);
66 end
67
68 res = a2 * (1-a2) * sumatoria;
69
70
71 end
72
73 function res = error3(k,d4 ,X,w1 ,w2 ,w3 ,u2 ,u3 ,u4)
74
75 res = A3(k,X,w1 ,w2 ,u2 ,u3) * d4;
76
77 end
INTELIGENCIA ARTIFICIAL 23
MÉTODOS NUMÉRICOS
78
79 function res = error2(j,k,d4 ,X,w1 ,w2 ,w3 ,u2 ,u3 ,u4)
80
81 res = A2(j,X,w1 ,u2) * delta3(k,d4 ,X,w1 ,w2 ,w3 ,u2 ,u3 ,u4);
82
83 end
84
85 function res = error(j,k,d4 ,X,w1 ,w2 ,w3 ,u2 ,u3 ,u4)
86
87 res = X(j) * delta2(k,d4 ,X,w1 ,w2 ,w3 ,u2 ,u3 ,u4);
88
89 end
90
91
92 function res = A2(i,X,w1 ,u2)
93
94 sumatoria =0;
95 for q=1:3
96
97 sumatoria = (X(q) * w1(q,i))+sumatoria;
98
99 end
100
101 aux1 = sumatoria+u2(i);
102
103 res = f(aux1);
104
105 end
106
107 function res = A3(i,X,w1 ,w2 ,u2 ,u3)
108
109 sumatoria =0;
110 for q=1:12
111
112 sumatoria = (A2(q,X,w1 ,u2) * w2(q,i))+sumatoria;
113
114 end
115
116 aux1 = sumatoria+u3(i);
117
118 res = f(aux1);
119
120 end
121
122 function res = f(x)
123 res = 1 ./ (1 + exp(-x));
124 end
INTELIGENCIA ARTIFICIAL 24
MÉTODOS NUMÉRICOS
1 clc
2 m=xlsread('entr.xlsx ','A2:E361 ');
3 n=m;
4
5 disp(n);
6 dim=size(n)
7
8 minimos = zeros (1,5);
9 for mi = 1:5
10 minimos (:,mi)=min(n(:,mi));
11 end
12
13 disp(minimos)
14
15 maximos = zeros (1,5);
16 for ma = 1:5
17 maximos (:,ma)=max(n(:,ma));
18 end
19
20 disp(maximos)
21
22 escalada = (n-minimos)./( maximos - minimos)
23
24 for en=1: length(n)
25 BackPropagation(escalada(en ,1:3) ,escalada(en ,4:5))
26 end
1 edad=input('Ingrese la edad de la probeta (entre 7 y 28
dias) : ') ;
2 polip=input('Ingrese el porcentaje de polipropileno usado (
entre 0 y 1 %) : ');
3 cdr=input('ingrese una carga de rotura (entre 25 y 36 Tn )
: ');
4
5 escal = ([edad , cdr , polip]-minimos (1:3))./( maximos (1:3) -
minimos (1:3));
6 resparR=RedNeuronal (1,escal);
7 resparP=RedNeuronal (2,escal);
8
9 ResistenciaEstimada = (maximos (4) - minimos (4)) * resparR+
minimos (4)
10
11 PorcentajeObtenido = (( maximos (5) - minimos (5)) * resparP+
minimos (5)) * 100
INTELIGENCIA ARTIFICIAL 25
MÉTODOS NUMÉRICOS
Los Archivos del presente trabajo: Documento en LATEX, código y otros anexos se
adjuntan en el siguiente CD:
INTELIGENCIA ARTIFICIAL 26