Introducción a Machine Learning.
Durante los siguiente artículos daré una introducción de alto nivel a Machine Learning. Veamos primero un ejemplo para ver de una forma clara como puede utilizarse:
Supongamos que obtenemos una muestra de célula humana extraída de un paciente. Esta célula tiene características, por ejemplo, su espesor de aglutinación es 6, la uniformidad de tamaño celular es 1, su adhesión marginal es 1, y así todas las carecterísticas que podamos obtener. La pregunta más importante que podemos hacernos es «¿Es una célula benigna o maligna?». Un tumor maligno es un tumor que puede invadir el tejido adyacente o diseminarse alrededor del cuerpo, y diagnosticarlo de manera temprana puede ser clave para la supervivencia del paciente. En principio, un médico con años de experiencia podría diagnosticar ese tumor y determinar si el paciente está desarrollando cáncer o no.
Imaginemos que hemos obtenido un conjunto de datos que contiene características de miles de muestras de células humanas extraídas de pacientes que se creía que estaban en riesgo de desarrollar cáncer. El análisis de los datos originales mostró que muchas de las características diferían significativamente entre muestras benignas y malignas. Se puede utilizar los valores de estas características celulares en muestras de otros pacientes para dar una indicación anticipada de si una nueva muestra puede ser benigna o maligna. Para ellos se debe limpiar los datos, seleccionar un algoritmo adecuado para construir un modelo de predicción, y entrenar tu modelo para entender los patrones de células benignas o malignas dentro de los datos. Una vez que el modelo ha sido entrenado por medio de datos iterativamente, se puede utilizar para predecir si la célula nueva o desconocida es maligna con una precisión bastante alta.
Definición de Machine Learning.
Machine learning es el subcampo de la ciencia de la computación que «da a las computadoras la habilidad de aprender sin ser programadas explícitamente.”
Supongamos que tenemos un conjunto de datos de imágenes de animales como, por ejemplo, perros y gatos, y se quiere tener una aplicación o software que sea capaz de reconocerlos y diferenciarlos.Lo primero que se tiene que hacer es interpretar las imágenes como un conjunto de características. Por ejemplo, ¿la imagen muestra los ojos del animal? Si es así, ¿cuál es su tamaño? ¿Tiene orejas? ¿Qué hay de una cola? ¿Cuántas piernas? ¿Tiene alas?
Antes de tener las técnicas de machine learning, cada imagen se transformaría en un vector de características. Entonces, tradicionalmente, tendríamos que escribir algunas reglas o métodos para que las computadoras sean inteligentes y detecten a los animales. Pero, fue un fracaso. Se necesitaban muchas reglas, muy dependientes del conjunto de datos actual, y no lo suficiente generalizadas como para detectar casos fuera de la muestra.
Las técnicas de Machine Learning nos permiten construir un modelo que observe todos los conjuntos de características, y su correspondiente tipo de animales, y aprender el patrón de cada animal. Se trata de un modelo construido por algoritmos de machine learning. Detecta sin haber sido programado explícitamente para hacerlo.
En esencia, el aprendizaje automático sigue el mismo proceso que un niño de 4 años utiliza para aprender, entender, y diferenciar a los animales. Así, los algoritmos de machine learning, inspirados por el proceso de aprendizaje humano, iterativamente aprenden de los datos, y permiten que las computadoras encuentren información oculta. Estos modelos nos ayudan en una variedad de tareas, tales como el reconocimiento de objetos, resúmenes, recomendaciones, y así.
Ejemplos de uso
¿Cómo hacen en Netflix y Amazon para recomendar videos, películas y programas de televisión a sus usuarios? Utilizan machine learning para producir sugerencias que podrías disfrutar. De forma similar a cómo tus amigos te pueden recomendar un programa de televisión, basado en su conocimiento sobre los tipos de programas que te gusta ver. ¿Cómo, los bancos, toman una decisión al aprobar una solicitud de préstamo? Utilizan machine learning para predecir la probabilidad de impago para cada solicitante, y luego aprueban o rechazar la solicitud de préstamo en base a esa probabilidad. Las compañías de telecomunicaciones utilizan los datos demográficos de sus clientes para segmentarlos, o predecir si ellos se retirarán de su compañía el próximo mes. Hay muchas otras aplicaciones de machine learning que vemos todos los días en nuestra vida, como los chatbots o los juegos de ordenador que usan el reconocimiento facial. Cada uno utiliza técnicas y algoritmos diferentes de machine learning.
Técnicas más usadas
- La técnica de Regresión/Estimación se utiliza para predecir un valor continuo, por ejemplo, predicción de cosas como el precio de una casa basada en sus características, o para estimar la emisión de Co2 del motor de un coche.
- La técnica de Clasificación se utiliza para predecir la clase o categoría, por ejemplo, si una célula es benigna o maligna, o si un cliente se va a retirar dinero o no.
- El Clustering (grupos de casos similares), por ejemplo, pueden encontrar pacientes similares, o pueden ser utilizados para la segmentación de clientes en el campo bancario.
- La técnica de Asociación se utiliza para buscar elementos o sucesos que a menudo se producen conjuntamente, por ejemplo, artículos de comestibles que normalmente son comprados conjuntamente por un cliente en particular.
- La Detección de anomalías se utiliza para descubrir casos anormales e inusuales, por ejemplo, se utiliza para la detección de fraude de tarjetas de crédito.
- La Sequence mining (predicción de secuencias) se utiliza para predecir el siguiente suceso, por ejemplo, la secuencia de pulsación en sitios web.
- La Reducción de dimensiones se utiliza para reducir el tamaño de los datos.
- Los Sistemas de recomendación asocian las preferencias de la gente con otros que tienen gustos similares, y recomienda nuevos artículos para ellos, como libros o películas.
Diferencia entre inteligencia artificial, Machine Learning y Deep Learning
La Inteligencia artificial trata de hacer a las computadoras inteligentes, tanto como para imitar las funciones cognitivas de los seres humanos. La Inteligencia Artificial es un campo general con un amplio alcance, que incluye procesos de lenguaje, creatividad y resumenes.
Machine Learning es la rama de la Inteligencia artificial que cubre la parte estadística que contiene la inteligencia artificial. Enseña a la computadora a resolver problemas al mirar cientos o miles de ejemplos, aprender de ellos, y luego usar esa experiencia para resolver el mismo problema en nuevas situaciones.
Deep Learning es un campo muy especial de Machine Learning donde las computadoras pueden aprender y tomar decisiones inteligentes por su cuenta. Deep learning involucra un nivel más profundo de automatización en comparación con la mayoría de los algoritmos de machine learning.
Ir al artículo siguiente de la serie: Python para Machine Learning. Paquetes más usados.