Análisis de la contaminación del agua por hidrocarburos: aplicación y comparativa de técnicas de Machine Learning supervisadas
2020
Morán Arce, Javier | Gómez Canaval, Sandra
Este proyecto aborda la problemática del análisis inteligente de datos en dominios de problemas donde existe carencia de datasets etiquetados para utilizar modelos de clasificación con diferentes algoritmos mediante el uso de técnicas de Machine Learning supervisadas. Debido al gran volumen, alta carga de trabajo y complejidad que supone este proyecto, se ha determinado segmentar el contenido del mismo entre dos personas. Respecto a la diversidad de problemas enfrentados, se expone seguidamente la exploración de los propios. El primero de ellos, es la escasez de datasets que puedan utilizarse para entrenar un modelo, bien por la imposibilidad de utilizar datasets reales por protección de datos, o el simple hecho de que no se llega a hacer la recolección, tratamiento, análisis y almacenaje de esos datos correctamente. Por ello, se utilizará una herramienta que ha sido desarrollada para este propósito dentro del alcance de otro Proyecto de Grado, el de mi compañero Álvaro Arcos Delgado. Esta herramienta permite la generación de datasets sintéticos propios, que ejemplifican escenarios configurando diversos parámetros y valores para generar conjuntos de datos de cualquier tamaño, de categorías diferentes, balanceados no imbalanceados, etiquetados o sin etiquetar, con valores simulando errores en la recogida de datos, simbólicos o numéricos. La idea de esta herramienta es generar conjunto de datos que tratan de simular de la mejor manera posible, los datos provenientes de escenarios reales. En este Proyecto de Fin de Grado, se utilizará dicha herramienta para entrenar los modelos de Machine Learning seleccionados. En segundo lugar, la insuficiencia de cotejos entre diferentes algoritmos que revelen con cierta convicción qué algoritmos son mejores para distintos tipos de datasets. Para esclarecer este punto, se realiza un exhaustivo estudio de diferentes algoritmos, tanto de clasificación binaria como multiclase, utilizando parámetros personalizados para cada uno como la impuridad, repeticiones o profundidad. Modificando los hiperparámetros de cada algoritmo, se podrán plantear diferentes circunstancias en los que los algoritmos de clasificación ofrecen diferentes resultados. Con estas comparaciones, observamos las ventajas que ofrecen unos frente a otros en rendimiento computacional o precisión dependiendo del volumen de información en el dataset, la variación entre los parámetros para los posibles resultados. En este proyecto, los algoritmos que han sido analizados para clasificación binaria son Random Forest Binary y Decision Tree Binary, a la vez comparados con Linear Support Vector Machine analizado por mi compañero, y por otro lado para clasificación multiclase se implementan modelos como el Multilayer Perceptron y Decision Tree Multiclass implantado en One vs Rests, confrontados con Logistic Regression Multiclass. Otro problema recurrente en desarrollos de Machine Learning, es el análisis de la toma de decisiones sobre cómo etiquetar los datos cuando una variable toma diferentes rangos de valores y lo que importa (dentro del contexto analizado) es que todos los valores de dicho intervalo compartirían la misma etiqueta. Este escenario es muy común en contextos IoT donde un sistema recoge valores continuos desde diferentes fuentes remotas de sensores. En esto casos, la solución adoptada es utilizar un lenguaje simbólico que consiste en asignar un símbolo (un carácter) a cada posible rango. De esta forma, no se evalúa si un valor pertenece o no a un rango concreto de los distintos existentes, si no que simplemente se comprueba que pertenezca al rango sin importar el valor exacto. De esta forma, evitamos comprobaciones que podían suponer mayor coste de recursos computacionales. En nuestro caso, se ha definido un lenguaje simbólico con un total de 71 símbolos, los cuales representan todos los distintos intervalos del espacio muestral de los valores a analizar sin que se solapen, incluyendo intervalo no válido. Finalmente, la recolección, tratamiento, análisis y almacenaje de datos representados se realizará sobre plataformas de computación ultraescalable como Apache Spark. Para ello se ha desarrollado un framework que permite integrar a) la herramienta generadora de datasets simbólicos, b) el código de los algoritmos de Machine Learning seleccionados, c) el entrenamiento, validación y testing de dichos algoritmos y c) el análisis y visualización de los resultados y métricas de calidad obtenidos en cada uno de los algoritmos. El desarrollo de esta herramienta está basada en el hecho que para la transferencia de este desarrollo a un escenario real, podría ser factible plantearse un framework que supone una mejora computacional en cuanto a la escalabilidad, el manejo de data streamming, las capacidades de la computación distribuida y paralela más adecuados cuando se llevan a cabo desarrollos software para aplicaciones IoT con sensorización remota. Abstract: This project addresses the problem of intelligent data analysis over problem domains where there is a lack of labeled datasets required for using classification modelsof supervised Machine Learning techniques. In particular, this Project explores an attractive and important domain such as Medio-environmental Analysis, specifically the problem related to the hydrocarbons pollutants. Due to the large volume, high workload and complexity of this project, it has been split in two parts each one of them to be executed by two students. Regarding the diversity of problems faced, the exploration of their details is presented below. The first of this problems, is the shortage of accessible datasets that can be used to train a Machine Learning model, in terms of availability of real datasets because of the LOPD1, or because of the fact that Collecting, Storing, Analyzing, and Using data is not usually done correctly. For this reason, in this Project is used specifically synthetic datasets which simulate scenarios where parameters and values are equivalent to real ones. These datasets are a perfect replication of the original values obtained from the process of analyzing the presence of hydrocarbons in water sources. These datasets may be personalized in different ways by tuning certain parameters. The options which can be modified are the extraction of unlabeled datasets in addition to labeled ones, extracting datasets with some deviated results besides the regular one and obtaining the same dataset, the numeric one and its equivalent symbolic one. Secondly, the lack of comparisons between different algorithms which expose with certain assurance which algorithms are better than other for different kinds of datasets. In order to clarify this concern, it is done an exhaustive study of binary algorithms as well as multiclass algorithms, using their own hyperparameters like impurity, maxDepth or numIter. Modifyng each algorithm’s hyperparameters, varying situations where classification algorithms offer different results. With these comparisons, we can notice some improvements such as velocity or accuracy ones in opposition to others depending on the dataset’s amount of data or the specific hyperparameters. In this project, there have been developed the following algorithms for binary classification: Random Forest Binary and Decision Tree Binary compared with Linear Support Vector Machine. On the other hand, Multilayer Perceptron along Decision Tree implemented in One vs Rest compared with Logistic Regression are the multiclass ones. Other problem often that show up during Machine Learning developing, is the computing cost evaluating values inside a range. In a data repository with millions of entries, assessing whether a variable with a certain value belongs to a specific range is virtually impossible. The solution adopted, is to use a symbolic language. In this case, a symbol (a character) is assigned to each possible range. In this way, you do not evaluate whether or not a value belongs to a specific range of the different existing ones, you simply check if it is the same symbol as some range and therefore exists in it. In this way, we avoid checks would entail high costs of computational resources. In our case, we have a language with a total of 71 symbols, which represent all the different ranges of the spectrum without overlapping, including invalid ranges. Finally, collection, treatment, analysis and storage of data will be performed by the ultra-scalable computing platforms like Apache Spark. This can be a framework that will be a computing improvement in light of other options when it is imperative to have a way of working distributedly and parallelly simulating data from remote sensing as an example.
Show more [+] Less [-]AGROVOC Keywords
Bibliographic information
This bibliographic record has been provided by Universidad Politécnica de Madrid