martes, 15 de noviembre de 2016

Citizen security using Machine Learning algorithms through Open Data - Parte 2

En la entrada anterior se estudió los primeros pasos para poder realizar técnicas de Machine learning a una base de datos abierta, dejando los datos correctamente limpios y preparados para su uso. En esta entrada veremos los dos modelos de clasificación utilizados: Random Forest y Regresión Logística Múltiple.

3. Modelos de Machine Learning

En Machine Learning, los algoritmos de clasificación múltiple asigna una etiqueta clase por cada ejemplo de salida. Dado un conjunto de datos de entrenamiento de una forma (xi, yi), dónde xi pertenece a Rn y es el i-th ejemplo de yi, que pertenece {1...K} es la clase i-th. La meta es buscar el modelo de aprendizaje "H" tal que H(xi)= yi para los nuevos ejemplos desconocidos. Esta idea puede verse en la figura 9.
Figura 9: ejemplo de Clasificación múltiple basado en Iris Data Set
Figura 9: ejemplo de Clasificación múltiple basado en Iris Data Set
Por tanto, a continuación vemos las ventajas de los dos modelos utilizados en referencia a los datos que tenemos:
  1. Regresión Logística Múltiple: una de las ventajas de Regresión logística Múltiple es que ella trabaja bien con un conjunto grande de datos y puede ser usada en Big Data ya que es muy eficiente y con un buen comportamiento si el problema es linealmente separable; ver la figura 9. Además, Regresión Logística Múltiple tiene muchos caminos para regularizar la data (si es que las mejoras son correlacionadas).
  2. Random Forest: la principal ventaja de Random Forest es que no necesitamos preocuparnos si los datos son linealmente separables. Además, Random Forest trabaja muy bien con los datos que tiene muchas características y muchos datos de entrenamiento, por ejemplo, para alta dimensión.

4. Resultados y predicciones

Una vez seleccionados los dos algoritmos que se utilizarán, veremos los resultados al entrenarlos con ambos; con sus semejanzas y diferencias. Bajo este contexto vemos que la figura 10 muestra la predicción de Regresión Logística Múltiple y la figura 11 muestra la predicción al utilizar Random Forest. 
Figura 11: Resultado de Regresión Logística
Figura 11: resultado de Regresión Logística Múltiple
Figura 12: Resultado de Regresión Logística
Figura 12: Resultado de Random Forest
En las imágenes anteriores puede observarse como Regresión Logística Múltiple tiene un score mejor que Random Forest, es decir, Regresión Logística Múltiple nos proporciona una probabilidad de predicción del 67,4% mientras que Random Forest nos establece una predicción del 62,94%, ambas de forma global teniendo en cuenta todas las clases. Es importante aclarar, viendo en detalle ambos gráficos, los siguientes aspectos:
  1. El escore logrado por Regresión Logística Múltiple está fuera de la realidad ya que las predicciones se realizan solamente por la clase "Car crash" y las otras clases son absorbidas por esta.
  2. Random Forest encuentra una mejor relación con la data ya que intenta predecir diferentes clases, "Car crash", "Car Cluelessness", "Fires", "Flood" and "People Falls".
  3. En el preprocesamiento de datos visto en la representación gráfica de la otra entrada, pudimos observar como la clase "Car Crash" tenía una cantidad mucho mayor de datos que las demás clases. En las gráficas puede verse como las predicciones para ella es mucho mejor que para las demás, por tanto, para Machine Learning, la cantidad y calidad de datos es importante a la hora de poder realizar predicciones.
Por otro lado, la figura 13 muestra la matriz de confusión de Regresión logística y la figura 14 la matriz de confusión de Random Forest. También, en estas figuras, vemos de la importancia de los tres puntos anteriores sobre todo el tercero en el que la cantidad y calidad de datos determina una predicción mucho mayor de las clases, en este caso, la clase "Car Crash", además de acercarse a la realidad de los mismos. 

Figura 13: matriz de confusión de Regresión logística
Figura 13: matriz de confusión de Regresión logística
Figura 14: matriz de confusión de Random Forest
Figura 14: matriz de confusión de Random Forest
Por último, todos estas predicciones, resultados y análisis, ¿como pueden traducirse para una mejora en la sociedad? Aquí, es donde radica la importancia de la unión del Internet of Things con Minería de datos o, en un contexto actual, las Smart Cities. Dichos datos pueden establecerse en un sistema para las administraciones públicas y poder controlar la seguridad ciudadana y vial, así como tener porcentajes, en forma de predicciones, sobre algunos sucesos que puedan ocurrir para poder mitigarlos de antemano. Un ejemplo claro es por ejemplo derivar estos resultados a una aplicación móvil en el que se sepa en tiempo real cual es la probabilidad de que suceda una de las clases estudiadas. Por ejemplo la figura 15, muestra las probabilidades de diferentes clases en los diferentes sectores que se han estudiado.
Figura 15: probabilidades en tiempo real
Figura 15: probabilidades en tiempo real

5. Conclusiones y futuro trabajo

Como se ha visto a lo largo de todo el trabajo, el algoritmos de Regresión Logística Múltiple tiene un pobre rendimiento comparado con Random Forest para este tipo de datos en particular. Este comportamiento es debido a que las mejoras son esperadas para ser más o menos lineales. 
Acorde con los resultados, algunas predicciones no han sido precisas. Esto es debido a dos razones:
  1. La primera es la estructura de la base de datos en sí, no se acomoda muy bien a los modelos de aprendizaje automático. Si los datos tuvieran más características, la precisión del modelo incrementaría muchísimo. Por eso, la calidad de los datos es imprescindible.
  2. La segunda es la cantidad, 569 registros no reflejan todo lo acontecido en San Isidro. Por tanto, la cantidad y precisión de los mismos es imprescindible para poder realizar predicciones más precisas y fiables.
Por otro lado, dicho trabajo tiene por objetivo englobarlo a dos proyectos que lleva el laboratorio de Smart Cities de CTIC-UNI.
  1. Integrarlo al proyecto GLIPS & SAVIA para la automatización de predicciones y poder mejorar el acceso policial a la ciudadanía.
  2. Utilizarlo para el proyecto PyMach & BeaGOns & IoT4X que tiene por objetivo poder controlar los aspectos medioambientales creando alertas en tiempo real, mediante procesamiento de eventos complejos y futura, mediante la librería en Python que está desarrollando el grupo que minimiza todo el trabajo indicado.
Figura 16: trabajos del grupo de investigación

6. Agradecimientos

This work has been partially funded by the ”Programa Nacional de Innovación para la Competitividad y Productividad, Innóvate - Perú” of the Peruvian government, under grant number FINCyT 363-PNICP-PIAP-2014 and by the Spanish Ministry of Economy and Competitiveness under grant number TIN2015-66972-C5-2-R. The work of Manuel Castillo-Cara has been supported by ”Becas Santander” and ”Universia”. We thank ”Municipalidad de San Isidro” for providing us access to its Open Data platform.

Figura 16: entities that participate in the project
Figura 17: entidades participantes en el proyecto

0 comentarios:

Publicar un comentario