El auge del aprendizaje automático (ML): Cómo se aplica la inteligencia artificial en el mundo de los SIG
Probablemente has oído hablar del aprendizaje automático (Machine Learning en inglés), y tal vez, no sepas definirlo o te imagines a un robot humanoide super listo jugando ajedrez contigo.
En realidad, el aprendizaje automático no es tan futurista como el nombre nos indica, aunque si se aplica en la robótica, no es un robot capaz de retarte a una partida de ajedrez.
Son simplemente algoritmos que buscan patrones o diferencias entre datos y son capaces de detectarlos e incluir ese patrón entre sus datos. En otras palabras en un software capaz de escribir software.
Por ejemplo, pensemos en la bandeja de Spam, en ella suelen llegar mensajes de «Hazte Rico, por James Smith», esto quiere decir que hay un programa que cada vez que ve un mail similar o con estas características lo envía a spam.
Ahora pensemos que el que hace ese mail, se ha dado cuenta que lo detectan y le envían a spam su email. Así que, decide crear otro email masivo y como siempre con un virus de regalo. Esta vez, «Tienes una multa, Margarita Flecher», y lo envía masivamente.
Los que reciben el email, verán ese mail y lo borrarán inmediatamente o lo marcarán como spam. Con estas acciones de los usuarios, se está creando un patrón o comportamiento masivo, que detecta nuestro software antispam, aquel que siempre nos protege de los mail maliciosos.
El software detecta que los usuarios están enviando el email a spam o borrándolo «Tienes una Multa, Margarita Flecher», así que lo incluye a su base de datos de mails sospechosos. Lo que ha ocurrido aquí, es que sin ningún programador detrás, el software aprendió un nuevo mail spam, lo incluyó dentro de su código, y a partir de ahora, siempre Margarita Flecher y su multa serán enviadas automáticamente a la carpeta spam de tu email.
Así que, esta capacidad del software de poder escribir en su código, aumentar su base de datos y detectar patrones, es una manera simple de dar un ejemplo de Aprendizaje Automático.
Tipos de aprendizaje automático (ML)
Antes de empezar a dar ejemplos sobre como se aplica el aprendizaje automático en el mundo de los SIGs, es necesario entender que existen dos tipos o categorías de aprendizaje automático: el aprendizaje supervisado y el no supervisado.
El aprendizaje supervisado consiste en indicarle al programa una serie de patrones válidos para que los considere de referencia. Por ejemplo, es muy similar a lo que nosotros conocemos como Clasificación Supervisada cuando trabajamos con imágenes o rasters en un SIG. En este último caso, le indicamos que patrones o características queremos que relacione a una categoría. Por ejemplo, si queremos clasificar una imagen de satélite con una combinación de bandas de color verdadero, le indicamos al programa que el azul es agua, el verde claro cultivos, etc. Para que el indique las categorías y clasifique toda la imagen.
En este caso, cuando hablamos de Aprendizaje supervisado, el ejemplo más clásico es la detección de rostros humanos. El programa es capaz de reconocerlos ya que el programador le ha suministrado distintas fotos de rostros humanos como ejemplo para crear su base de datos y referencias.
En cambio, cuando hablamos de aprendizaje no supervisado, el programa no cuenta con datos que definan qué información es satisfactoria o no.
En este caso, el programa busca patrones que permitan separar y clasificar los datos en diferentes grupos, en función de sus atributos.
Siguiendo con el ejemplo anterior, podemos indicar que el proceso es muy similar a la clasificación no supervisada, donde el programa determina patrones en la imagen y los clasifica en clusters para realizar la clasificación.
Así que al igual que con las imágenes satelitales, la información obtenida o los resultados obtenidos después de aplicar a nuestros datos un algoritmo de aprendizaje no supervisado, debe ser posteriormente interpretada por una persona para darle utilidad.
Ahora bien, después de este ejemplo vamos a pasar a nuestro campo de trabajo o estudio y vamos a ver algunos ejemplos de como se aplican las técnicas de aprendizaje automático dentro del mundo de los SIGs.
Clasificación de imágenes (Máquina vectorial de soporte)
Como seguro nos ha pasado más de una vez, al visualizar una imagen satélite, no siempre es fácil conocer si estás observando un árbol o un campo de cultivo, o definir si es una carretera asfaltada o no. Así que si para nuestro cerebro es difícil imagínate lo difícil que puede ser para un programa informático.
Cuando se desea clasificar imágenes utilizando técnicas de aprendizaje automático, una de las opciones es, la técnica de aprendizaje automático Maquina Vectorial de Soporte o Support Vector Machine (SVM), en inglés.
Esta técnica de aprendizaje automático toma información o reconoce los patrones a partir de los datos clasificados, luego una vez reconocidos y creados grupos de similares analiza los extremos. A continuación, dibuja las líneas de los límites.
Ahora bien, los resultados obtenidos con este tipo de clasificación supervisada no son perfectos y aún es necesario mejorar los distintos algoritmos basados en esta técnica. A medida que los algoritmos mejoren y se incorporen más datos de entrenamiento, esta técnica será más fiable y podrá ser usada en cualquier imagen satélite.
Predicción mediante Kriging Bayesiano Empírico (EBK)
El éxito o el uso tan extendido de los distintos métodos para realizar la Interpolación de Kriging radican en que, esta técnica de interpolación, nos ayuda a predecir valores desconocidos basados en un patrón espacial.
Ahora bien, el método Kriging bayesiano empírico (EBK), en comparación con otros métodos de kriging, es una interpolación de estadísticas geográficas que automatiza los aspectos más complejos. Por ejemplo, los otros métodos de kriging requieren el ajuste manual de los parámetros para realizar los modelos, y nos obligará a realizar varias pruebas hasta obtener resultados precisos, pero EBK calcula automáticamente esos parámetros por medio de un proceso de creación de subconjuntos y simulaciones.
En otras palabras, el método de Empirical Bayesian Kriging (EBK), realiza diversas predicciones utilizando una variedad de simulaciones, al menos, hasta cien veces. Al final, mezcla todos los resultados y crea una superficie final. Generando lo que el programa cree que es la mejor solución.
Esta es la razón por la que EBK casi siempre predice mejor que otros métodos para realizar la interpolación de kriging.
Segmentación de imágenes y clustering con K-means
Cuando hablamos de clustering (que en castellano se denomina agrupamiento) nos referimos a que vamos a agrupar automáticamente datos. Como vimos en el apartado anterior, estos métodos, son un tipo de aprendizaje automático no-supervisado.
Ahora bien, uno de los métodos más populares para agrupar datos es el algoritmo K-means. Este algoritmo realiza la segmentación en función a la similitud de los datos, creando un número específico de grupos que ha sido indicado por nosotros y que es el valor K.
En otras palabras, este método de aprendizaje no supervisado, asigna a cada punto o pixel de la imagen a uno de los grupos a crear, siempre en función de la similitud de las entidades. Por ejemplo, la similitud puede basarse en las características espectrales y la ubicación.
En una clasificación no supervisada, el algoritmo k-means segmenta primero la imagen para su posterior análisis. A continuación, a cada clúster se le asigna una clase de cobertura terrestre.
Sin embargo, los SIG pueden usar la agrupación en clústeres de otras maneras únicas. Por ejemplo, los puntos de datos podrían representar características ambientales (como niveles de contaminación).
El proceso de aprendizaje profundo y capacitación para Big Data
Ya sea en el mundo de los SIGs u otros campos, el aprendizaje automático está siendo una herramienta para análisis cada vez más común. Ya que con sus métodos es posible analiza grandes conjuntos de datos y casi siempre en los resultados se muestran comportamientos o patrones que con otros análisis o que con menos datos nunca se habían revelado o notado.
En general, los SIG utilizan el aprendizaje automático para la predicción, la clasificación y la agrupación en clústeres de los datos. Pero aun queda mucho por descubrir, eso lo veremos en un futuro próximo, ya que cada día se crean nuevas formas de analizar datos geográficos bajo el enfoque de la inteligencia artificial y el aprendizaje automático, esto conseguirá que el mundo de los SIGs y la forma de interactuar con ellos cambien completamente.
Para saber más:
- Artículo sobre Empirical Bayesian Kriging: https://www.esri.com/news/arcuser/1012/files/ebk.pdf
- Técnicas de Clasificación de Imágenes en la Teledetección
- Big Data en los estudios de Ecología