Subido por CAMILO ANDRES BENITEZ PINEDA

TALLER No. 6 - Benitez Camilo 20192579014

Anuncio
UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS
Facultad Tecnológica
Ingeniería Civil
Diseño de canales
www.udistrital.edu.co
Taller No.6
Red Neuronal Artificial.
Camilo Andrés Benítez Pineda
20192579014
Palabras clave: Aleatorio, Algoritmo, Función
de adaptación, Función de desempeño, Función
de entrenamiento, Función de transferencia,
MatLab, Red Neuronal.
MARCO TEÓRICO
Canal: Son conductos que puede ser abiertos o
cerrados, en donde se presenta un flujo de agua
que está en contacto con la atmosfera, por lo
tanto, este fluye debido a la acción de la gravedad
RESUMEN
A partir del uso del software Excel se realizó una
base de datos en la que se relaciona el caudal, la
base y el talud para un canal trapezoidal
simétrico, los cuales se obtuvieron de forma
aleatoria, y la altura critica la cual se determinó a
partir de una función objetivo que relaciona todas
las variables mencionadas.
Posteriormente se tomó la base de datos
obtenida y con ayuda del software MatLab se
realizó una red neuronal a la cual se le ingresaron
los datos de caudal, base y el talud del canal
como datos de entrada (INPUT), y los datos de
altura crítica como datos objetivo (TARGET).
Finalmente, con los datos ingresados en la red
neuronal se seleccionaron las funciones de
entrenamiento, aprendizaje de adaptación y
desempeño; la cantidad de capas de la red
neuronal y las neuronas en cada una de ellas y la
función de transferencia, la cual se cambió para
obtener 3 diferentes resultados.
Imagen 1. Canal abierto y cerrado.
Los canales se pueden clasificar en naturales o
artificiales, en donde los canales presentan una
geometría irregular en su sección transversal y
que varía a lo largo de su discurrir, caso contrario
en los canales artificiales, los cuales presentan
una geometría en su sección transversal regular
y que permanece constante a lo largo del trayecto
del canal.
Red neuronal: Es un modelo computacional que
se asemeja a la estructura interconectada de las
neuronas en el cerebro, con capas de nodos
conectadas.
Las redes neuronales tienen la facilidad de
aprender de datos suministrado de tal forma que
Red Neuronal Artificial.
Camilo Andrés Benítez Pineda
20192579014
se puede entrenar para reconocer patrones,
clasificar datos e incluso predecir eventos futuros.
Las redes neuronales descomponen los datos de
entrada, INPUT, en diferentes capas de
abstracción y su comportamiento está definido de
acuerdo a las conexiones de sus elementos
individuales y su importancia.
La importancia de las conexiones se lleva a cabo
durante el entrenamiento de la red neuronal, de
acuerdo con una regla de aprendizaje que le
permite a la red neuronal llevar a cabo la tarea
deseada.
Las redes neuronales funcionan combinando
diferentes capas de procesamiento, una de
entrada, varias ocultas y una de salida, las cuales
están interconectadas por medio de nodos
(neuronas), la capa siguiente utilizada la
información de salida de la capa anterior como
información de entrada.
Tipo Perceptron: Se basan en unidades básicas
de inferencia (Neuronas), desde las cuales se
crea el algoritmo de criterio de selección de un
subgrupo dentro de los datos de entrada. Dentro
de estas encontramos
 Newp que crea un tipo de red de
Perceptron.
 Rands es una función simétrica que
inicializa aleatoriamente los valores de
peso y ganancia de una red asignándoles
el valor 1 o -1.
 Adapt Permite a una red neuronal
adaptarse a los datos de entrada
Tipo Adaline: Son redes que se componen de
una única capa de n neuronas y n valores de
salida, con m entradas. Dentro de estas podemos
encontrar
 Newlin crea un tipo de red Adaline
Tipo Backpropagation: Emplea un ciclo de
propagación-adaptacion en dos fases, el cual se
aplica a los datos de entrada y se propaga a las
siguientes capas hasta la cpa de salida. Podemos
encontrar
Ilustración 1. Arquitectura típica de una red neuronal
Función de entrenamiento: Como su nombre lo
indica, las funciones de entrenamiento tienen el
fin de entrenar la red neuronal para obtener la
respuesta deseada.
Las funciones de entrenamiento se clasifican
como:
 Newff crea un tipo de red de
Backpropagation.
 Traingd es un algoritmo de pasos
descendientes que actualiza pesos y
ganancias variándolos en la dirección
negativa del gradiente de la función del
error.
 Traingdm equivale al anterior más un
coeficiente de momentum que intervienen
Red Neuronal Artificial.
Camilo Andrés Benítez Pineda
20192579014




en el proceso de actualización de los
pesos de los datos.
Traingda Algoritmo de gradiente
descendiente que emplea una rata de
aprendizaje adaptativa durante todo el
proceso y que varía entre 0.01 y 1.
Trainrp comrpime un infinito rango de
entradas dentro de un finito rango de
salidas.
Trainbfg Algoritmo de gradiente
conjugado y que se deriva del método de
Newton, pero sin la necesidad de las
segundas derivadas.
Trainlm Algoritmo que actualiza los pesos
y ganancias de acuerdo a la optimización
de Levenberg-Marquardt, es el algoritmo
más rápido del tipo Backpropagation.
Función de aprendizaje: Está estrechamente
relacionado con el Deep Learning que se basa
específicamente en la enseñanza a los
computadores a partir de ejemplos con una alta
precisión y que llegan a superar la capacidad
humana. Este aprendizaje se puede clasificar
como supervisado, que entrena un modelo de
datos ingresados y de salida con el fin de predecir
salidas futuras, y no supervisado que encuentra
patrones escondidos o estructuras intrínsecas en
los datos de entrada.
Ilustración 2. Aprendizaje de maquinas
Función de desempeño: Las funciones de
desempeño son funciones de tipo probabilístico
que buscan determinar el error entre dos
conjuntos de datos. Dentro de estas funciones
encontramos
 MSE (Error Cuadrático Medio), mide el
rendimiento de la red según la media de
errores cuadrados.
 MSEREG (Error Cuadrático Medio con
regularización), mide el rendimiento de la
red como la suma ponderada de dos
factores: el error cuadrático medio y los
valores de sesgo y ponderación
cuadrática media.
 SSE (rendimiento de error de suma
cuadrada), mide el rendimiento de
acuerdo con la suma de errores
cuadrados.
Función de transferencia: Son funciones que
presentan o proporcionan la salida de los datos
de la Red Neuronal Artificial. Podemos encontrar
las siguientes
 TANSIG es de las más usadas por su
flexibilidad y el amplio rango de
resultados que ofrece entre el rango
desde -1 hasta 1.
Ilustración 3. Función tansig
Red Neuronal Artificial.
Camilo Andrés Benítez Pineda
20192579014
 LOGSIG su resultado siempre estará en
el rango de 0 a 1, permite el uso de datos
continuos cuyas respuestas de salida
también serán continuas
Ilustración 4. Función logsig
 PURELIN la salida o respuesta de este
tipo de funciones es igual a los datos de
entrada más un valor de ganancia, esta
se puede extender entre el rango de ∞hasta ∞+
Ilustración 5. Función purelin
OBJETIVOS
1. Obtener una base de datos de las
propiedades geométricas de un canal
trapezoidal simétrico.
2. Utilizar la base de datos previa e
introducirla en el software MatLab
adecuadamente.
3. Generar una Red Neuronal Artificial a
partir de los datos ingresados a MatLab
para el cálculo de la altura critica Yc.
4. Observar los resultados obtenidos para la
Red Neuronal Artificial con diferentes
arreglos realizados a esta.
METODOLOGÍA
1. Obtención de la base de datos del canal
trapezoidal simétrico requerida.
2. Ingreso de la base de datos al software
MatLab y discriminación de la misma.
3. Creación de la Red Neuronal Artificial en
MatLab con asignación de parámetros
seleccionados para la obtención de la
altura critica Yc.
4. Obtención e interpretación de los datos
obtenidos.
PROCEDIMIENTO
1. Se generó la base de datos de los parámetros geométricos del canal trapezoidal simétrico a partir
de un proceso de asignación aleatorio para obtener el caudal, la base y la pendiente Z dentro de
un rango especifico, luego con la ecuación 𝑓 (𝑌𝑐 ) = 𝑔𝐴3 𝑇 −1 − 𝑄2 = 0 se obtenía el valor de
Yc para cada conjunto de datos (Se anexa hoja de Excel con las base de datos obtenida)
Red Neuronal Artificial.
Camilo Andrés Benítez Pineda
20192579014
2. Luego de tener la base datos en Excel, se copia y se crea una matriz en MatLab con estos datos,
la cual se denominará d.
3. Se extraerá de la matriz d una sub matriz objetivo (target) que se denominará t, esta sub matriz
corresponde a los datos de Yc.
Red Neuronal Artificial.
Camilo Andrés Benítez Pineda
20192579014
4. Se extraerá de la matriz d una sub matriz de datos de ingreso (input) que se denominará i, esta
sub matriz corresponde a los datos de Q, B y Z.
5. Se utiliza la herramienta nntool para crear la red neuronal artificial a partir de los datos previamente
ingresados.
Red Neuronal Artificial.
Camilo Andrés Benítez Pineda
20192579014
6. Se importan los datos de Input y Target a la red neuronal.
Red Neuronal Artificial.
Camilo Andrés Benítez Pineda
20192579014
7. Se importan los datos de Input y Target a la red neuronal y se selecciona el número de capas
ocultas, las neuronas y las funciones de activación.
Caso 1
Red Neuronal Artificial.
Camilo Andrés Benítez Pineda
20192579014
8. Se entrena la red
Red Neuronal Artificial.
Camilo Andrés Benítez Pineda
20192579014
9. Se entrena obtienen las gráficas de resultados.
Caso 1 (Función de desempeño MSEREG)
Red Neuronal Artificial.
Camilo Andrés Benítez Pineda
20192579014
Caso 2 (Funcion de desempeño MSE)
Red Neuronal Artificial.
Camilo Andrés Benítez Pineda
20192579014
Red Neuronal Artificial.
Camilo Andrés Benítez Pineda
20192579014
Caso 3 (Función de desempeño SSE)
Red Neuronal Artificial.
Camilo Andrés Benítez Pineda
20192579014
Conclusiones
 De acuerdo a la calidad de los datos de
salida que se requiera, se puede
seleccionar el tipo de función de
desempeño que se quiere para que la
Red Neuronal genere una base de datos
de salida de mayor precisión.
 Teniendo en cuenta lo anterior, a partir de
las gráficas, se puede observar que, para
el segundo caso, cuya función de
desempeño seleccionada fue MSE, se
obtuvo un mejor resultado en el
comportamiento de las tres curvas de
entrenamiento (azul), validación (verde) y
total (roja), pues estas describen una
forma similar, lo que no sucede con las
gráficas para los casos 1 y 3.
Aunque es probable que la función de
desempeño genere diferentes resultados
para diferentes bases de datos, para el
caso de este ejercicio la función de
desempeño MSE genero mejores
resultados.
 Observando las gráficas obtenidas para
los tres casos y que corresponden a la
regresión, función de transferencia, las
cuales se obtienen a partir de los datos
generados por la función de desempeño,
para el caso 2 los coeficientes de
determinación obtenidos en las cuatro
graficas son los mismos e iguales a
0.99999, lo que nos indica que este
modelo posee una alta calidad para
replicar resultados, aunque en los casos
1 y 3 los coeficientes de determinación
Red Neuronal Artificial.
Camilo Andrés Benítez Pineda
20192579014
también poseen valores muy cercanos a,
del caso 2.
posee y así proporcionar una red
neuronal para el cálculo de la altura critica
que genere datos más certeros.
 Por lo anterior podemos afirmar que el
caso 2 es el que mejor ajuste a los datos
BIBLIOGRAFÍA
Carina Brito, J. S. (04 de Noviembre de 2014). Slideshare. Obtenido de Slideshare:
https://es.slideshare.net/JeffersonSarmiento/redes-neuronales-funciones-de-activacin-logsigy-tansig
MATLAB. (s.f.). Caja de herramienta de redes neuronales - MSEREG. Obtenido de Caja de herramienta
de redes neuronales - MSEREG: http://matlab.izmiran.ru/help/toolbox/nnet/msereg.html
MATLAB. (s.f.). Caja de herramientas de redes neuronales - MSE. Obtenido de Caja de herramientas de
redes neuronales - MSE: http://matlab.izmiran.ru/help/toolbox/nnet/mse.html
MATLAB. (s.f.). Caja de herramientas de redes neuronales - SSE. Obtenido de Caja de herramientas de
redes neuronales - SSE: http://matlab.izmiran.ru/help/toolbox/nnet/sse.html
MATLAB. (s.f.). Deep Learnig. Obtenido de Deep Learnig: https://la.mathworks.com/discovery/deeplearning.html
MATLAB. (s.f.). REDES NEURONALES. Obtenido de REDES NEURONALES:
https://la.mathworks.com/discovery/neural-network.html
MATLAS. (s.f.). Aprendizaje automatico en Matlab. Obtenido de Aprendizaje automatico en Matlab:
https://la.mathworks.com/help/stats/machine-learning-inmatlab.html#:~:text=Un%20algoritmo%20de%20aprendizaje%20supervisado,la%20respuesta%
20a%20nuevos%20datos.&text=Clasificaci%C3%B3n%20Los%20modelos%20de%20clasificaci%
C3%B3n%20clasifican%20los%20datos%2
Medicina y complejidad. (s.f.). Obtenido de http://medicinaycomplejidad.org/pdf/redes/AnexoA.pdf
Rosa Faican, F. L. (09 de Mayo de 2014). Slideshare. Obtenido de Slideshare:
https://es.slideshare.net/rossyfaicancango/apa-2-34491584
Descargar