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