¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Machine Learning
  3. Machine Learning: visión general
Extrait - Machine Learning Implementar en Python con Scikit-learn
Extractos del libro
Machine Learning Implementar en Python con Scikit-learn Volver a la página de compra del libro

Machine Learning: visión general

Un poco de vocabulario

A menudo se utilizan indistintamente varios términos: Inteligencia Artificial (IA) Machine Learning (ML), Deep Learning (DL), Data Science (DS). Sin embargo, no abarcan la misma realidad, por lo que es importante saber diferenciarlos.

Históricamente, la Inteligencia Artificial es un campo científico derivado de las matemáticas, la informática y la biología. Dos objetivos estuvieron presentes desde el principio:

  • Crear una máquina inteligente capaz de resolver cualquier problema que se le plantee.

  • O, más sencillamente, simular un proceso cognitivo, es decir, «dar la impresión» de que la máquina es inteligente.

El primer objetivo corresponde a la llamada inteligencia artificial «general» (o IA fuerte). La máquina tendría entonces emociones y capacidades de razonamiento avanzadas, lo que le permitiría «aprender a aprender». Sin embargo, aún no existe (si es que algún día existirá) fuera de los reinos de la ciencia ficción. 

No hay que confundir «IA general» con «IA generalista». En el primer caso, hablamos de IA fuerte. En el segundo caso, hablamos de modelos genéricos que pueden utilizarse en distintas situaciones y no se limitan a un caso de uso concreto.

Por el contrario, el segundo objetivo corresponde a la llamada inteligencia...

Las profesiones de los datos

Con el desarrollo del Machine Learning han surgido nuevas profesiones. Ahora hay muchas de ellas, además de empleos más tradicionales como el de director de proyectos o desarrollador. Estas permiten crear un equipo capaz de gestionar un proyecto de principio a fin.

Crear modelos es importante, pero no basta. También hay que ser capaz de desplegar y mantener aplicaciones; para ello se requieren muchas competencias diferentes.

Inicialmente, solo había un Data Scientist, pero la escala de los proyectos, el número de tareas que hay que gestionar y la proliferación de herramientas han llevado a la especialización de estos últimos, lo que a su vez ha llevado a la creación de estas nuevas profesiones, y a medida que el campo siga creciendo, se seguirán creando nuevas profesiones.

En realidad, no se trata de puestos de trabajo, sino de funciones, por lo que es posible que una misma persona desempeñe varias funciones dentro de un mismo proyecto o en los distintos proyectos en los que participe.

Estas profesiones pueden dividirse en tres ramas:

  • Una rama orientada al «modelo»

  • Una rama «integración»

  • Una rama «soporte»

En la rama «modelo», el primero es el Data Analyst (Analista de datos). Su papel consiste principalmente en preparar y formatear datos, ya sea para producir KPI (Key Performance Indicators o Indicadores Clave de Rendimiento) directamente o para alimentar algoritmos de Machine Learning. También puede proporcionar cuadros de mando y tener conocimientos de visualización de datos.

El Data Miner (Minero de Datos) es una especialización del Data Analyst, que buscará tendencias y patrones...

El crecimiento del Machine Learning

El Machine Learning es un campo en pleno crecimiento desde hace varios años, sin duda gracias a una serie de éxitos notables. Sin embargo, los primeros trabajos sobre el tema se remontan a varias décadas atrás. Se pueden esgrimir varios argumentos para explicar esta explosión actual.

En primer lugar, la potencia de los ordenadores ha aumentado exponencialmente. Con la llegada de la computación en nube, ya no es necesario comprar hardware caro. Basta con alquilarlo durante el tiempo que se utilice, lo que significa que todo el mundo puede tener acceso a máquinas impresionantes. También hay que tener en cuenta que, para determinados tipos de cálculo, en particular el Deep Learning, las GPU (en la tarjeta gráfica) han superado a las CPU (en el procesador), multiplicando la potencia disponible.

Los cálculos son más rápidos, pero el Machine Learning funciona con datos. Cuanto más complejo es el problema, mayor es el volumen de datos necesario. Esta es la razón por la que a menudo se vincula el Big Data con el Machine Learning: las fuentes de datos se multiplican (por ejemplo, con la llegada de los objetos conectados) y se pueden almacenar, gestionar y utilizar. En resumen, los grandes volúmenes de datos necesarios están ahora disponibles y son más fáciles de gestionar.

Más potencia, más datos, pero...

Formas de aprendizaje y tareas de ML

El Machine Learning consiste en crear un modelo que es el resultado de un aprendizaje (o entrenamiento). Un «modelo» es, por tanto, un programa informático no ha sido creado por un desarrollador, sino mediante un algoritmo de aprendizaje.

Existen varias formas de aprendizaje definidas por los datos de entrada (o variables explicativas) y los datos de salida (o variables deseadas).

En cada forma de aprendizaje, hay varias tareas específicas de ML, que corresponden a categorías de problemas. Estas tareas son independientes del dominio considerado.

1. Aprendizaje supervisado

El aprendizaje supervisado es, con diferencia, el método más utilizado en las empresas. Consiste en proporcionar al algoritmo un gran número de ejemplos, con las entradas y salidas esperadas. Al comparar los resultados del modelo con los resultados esperados, el modelo mejorará.

Una analogía con el aprendizaje humano: es como aprender las tablas de multiplicar. Para cada multiplicación (como 6x7), el alumno debe dar una respuesta que se compara con la respuesta esperada (42).

Las principales tareas del aprendizaje supervisado son la clasificación, la regresión y la previsión.

a. Clasificación

En la tarea de clasificación, el resultado esperado es una categoría, como «enfermo» o «sano» en el ámbito médico. Se trata de una de las tareas más habituales, por lo que existen numerosos algoritmos. Por lo tanto, el algoritmo de aprendizaje recibe muchos ejemplos pertenecientes a todas las categorías que debe predecir.

Los modelos suelen asociar a las predicciones una probabilidad denominada «de confianza», por ejemplo «enfermo» a 0,27 (o 27%) y «sano» a 0,73 (o 73%). Esto permite afinar las decisiones en función de un umbral (threshold): solo se tienen en cuenta los valores por encima del umbral. Ajustando el umbral, es posible influir hasta cierto punto en las tasas de falsos positivos y falsos negativos, en función de la aplicación deseada.

Los falsos positivos y los falsos negativos son errores del modelo. En el caso de un falso positivo, la respuesta esperada es negativa (por ejemplo, «no enfermo»), pero el modelo ha dado una predicción positiva («enfermo»). Se trata de personas que han sido diagnosticadas...

Metodología CRISP-DM

Como cualquier proyecto de TI, los proyectos de Machine Learning necesitan un marco de trabajo. Sin embargo, las metodologías convencionales no se aplican, o se aplican muy mal, a la Data Science.

De las metodologías existentes, CRISP-DM es la más utilizada y es la que se presenta aquí. Existen varias variantes.

CRISP es un marco, no una estructura rígida. El objetivo de utilizar una metodología no es disponer de una fórmula mágica ni encontrarse limitado. Sobre todo, proporciona una idea de los progresos y las etapas, así como de las mejores prácticas a seguir.

1. Visión general

CRISP-DM son las siglas de Cross Industry Standard Process for Data Mining (Proceso Estándar Inter-Industrias para la Minería de Datos). Se trata, pues, de un proceso estándar que no depende del ámbito de aplicación. La metodología se creó originalmente en el marco de un proyecto europeo dirigido por un consorcio de empresas.

La presencia de Data Mining en su nombre (y no Machine Learning) indica que este método es antiguo. La primera versión data de 1996. Una segunda versión se estaba escribiendo desde 2006, pero se abandonó en 2011 antes de su lanzamiento. Sin embargo, es completamente utilizable tal cual, incluso hoy en día: basta con sustituir «Data Mining» por «Machine Learning».

Este método es iterativo. Se suceden cinco fases hasta que el resultado es validado por la propia actividad, con la posibilidad de ir y venir entre algunas de ellas.

Estas fases son las siguientes:

  • Business Understanding: se trata de la fase de comprender el negocio, que no es una fase técnica.

  • Data Understanding: la fase de comprender los datos corresponde, principalmente, a una fase de estadística descriptiva y permite al usuario familiarizarse con los datos proporcionados.

  • Data Preparation: es la fase de preparación de los datos, durante la cual se modifican los formatos o se crean nuevas características.

  • Modeling: esta fase consiste en crear modelos y optimizar parámetros.

  • Evaluación: en esta fase, la evaluación no corre a cargo de los Data Scientists. Son los expertos empresariales quienes evaluarán si la calidad de la solución propuesta corresponde a las restricciones de producción.

A estas cinco fases...