Inteligencia Artificial

Etapas del proceso de Machine Learning

Todo proyecto de Machine Learning requiere de un minucioso proceso en el que cada etapa supone un avance. Te comentamos las principales fases de un modelo de aplicación ML.

Por Redacción España, el 09/11/2020

auto ¿Te ha gustado nuestro artículo? ¡Vota!

En Inteligencia Artificial (IA), todos los procesos deben seguir un riguroso plan preestablecido, ya que cualquier mínimo fallo puede suponer el fracaso del proyecto. Descubre cuáles son las fases de implementación de un modelo de Machine Learning.

Definición del objetivo

El primer paso para el aprendizaje automático consiste en definir un objetivo, es decir, plantear un problema que requiera una solución a medio-largo plazo.

Existen diferentes formas de estructurar el objetivo de un proyecto en el que se va a implementar tecnología Machine Learning. Eso sí, siempre hay que establecerlo en base a las necesidades empresariales y a las posibilidades que tiene la compañía en función de los datos de los que disponemos.

Para definir el objetivo, algunas de las preguntas que debemos plantear son:

  • ¿Cuál es el principal objetivo? ¿Qué se va a predecir?
  • ¿Qué se pretende enseñar a la máquina?
  • ¿Es posible alcanzar el objetivo con los datos existentes?
  • ¿Cuál es el estado actual de la variable objetivo?
  • ¿Cómo se van a medir los resultados?

Recopilación y preparación de datos

Explicado de forma sencilla, para que un software que utiliza Machine Learning funcione correctamente, debemos nutrirlo de una gran cantidad de datos. Estos servirán como punto de partida. Después, la máquina continuará su aprendizaje en base a los nuevos datos que vaya extrayendo y procesando.

Es más importante la calidad que la cantidad. No obstante, lo idóneo es plantear un equilibrio, es decir, cuantos más y mejores datos tengamos para empezar, mejor será el rendimiento del modelo.

Para recolectar los datos, podemos recurrir al data scraping. Se trata de un método muy utilizado en IA para recopilar datos de fuentes diversas, como por ejemplo una página web, un blog o una hoja de cálculo.

Pongamos un ejemplo de web scraping:

  • Paso 1: cargar la página de la que se desea obtener información en el navegador.
  • Paso 2: inspeccionar e investigar el HTML del sitio web para encontrar datos de interés.
  • Paso 3: en Python, importar las librerías de las que se pretende extraer información para el proyecto.
  • Paso 4: utilizar la etiqueta BeautifulSoap para extraer contenidos con Python.
  • Paso 5: obtener el apartado del contenido del sitio web que interesa. Esto puede hacerse mediante: ID, una etiqueta concreta, clases CSS u otros atributos.
  • Paso 6: Almacenar los datos en un archivo CSV que permita analizar las partes más interesantes para el proyecto.
  • Preparación de los datos.

La preparación de los datos para un proyecto de aprendizaje automático es un proceso largo y tedioso en el que el Data Analyst se enfrenta a grandes retos. Los datos tienen que ser analizados y procesados correctamente para evitar resultados engañosos.

Es probable que haya datos que contengan irregularidades y afecten a la calidad de la información. Hay que detectarlos y corregirlos. Los más habituales son:

  • Datos incompletos.
  • Datos ruidosos.
  • Datos incoherentes.

Por este motivo, las tareas de procesamiento y limpieza deben de estar bien efectuadas antes de la puesta en marcha del modelo. Estas se pueden llevar a cabo a través de entornos diversos, como: SQL, Hive o Azure ML Studio, así como con múltiples herramientas y lenguajes (R, Python).

Elección del modelo

Con la información sobre la mesa, llega el momento de elegir un modelo/algoritmo de Machine Learning que encuadre con el objetivo.

Existen diversos algoritmos de aprendizaje automático: predictivos, de clasificación, regresión lineal, clustering, Deep Learning, entre otras muchas variantes.

Tipos de modelos de Machine Learning

  1. Clasificación binaria: predice un resultado binario, es decir, experimentos estadísticos con solo dos resultados posibles. Ejemplo: ¿este correo electrónico es spam o no?
  2. Modelo de clasificación multiclase: proporciona predicciones para varias clases, es decir, es capaz de predecir uno de más de dos resultados. Ejemplo: ¿qué categoría de productos es más interesante para este cliente?
  3. Modelo de regresión: predice un valor numérico. Ejemplo: ¿cuál será la temperatura en Madrid mañana?

En este sentido, algunos de los modelos más usados son los siguientes:

  • Random Forest.
  • Regresión logística.
  • Regresión lineal
  • Reinforcement Learning.
  • Redes bayesianas.
  • Recurrent Neural Networks.
  • Generative models.
  • K-Nearest Neighbors.
  • Entrenamiento del modelo

    El entrenamiento de los modelos de aprendizaje automático consiste en suministrar la información que permita que el algoritmo de Machine Learning haga su aprendizaje inicial.

    En esta fase, los datos deben estar totalmente contrastados y albergar las respuestas correctas, también conocidas como atributos de destino. De esta forma, el algoritmo de aprendizaje es capaz de plantear correlaciones en los datos de entrenamiento que han sido asignados en los atributos de entrada y se proporciona un modelo que almacena dichas correlaciones.

    Evaluación del modelo

    Lo que no se define no se puede medir. Lo que no se mide, no se puede mejorar. Lo que no se mejora, se degrada siempre. William Thomson Kelvin, físico y matemático británico del siglo XIX.

    Atendiendo a la frase de Kelvin, introducimos que el proceso de evaluación determinará el funcionamiento del modelo. Sin ella, no se podrá dilucidar la validez del proyecto.

    Para poder evaluar un modelo correctamente se debe separar en dos partes bien diferenciadas. Por un lado, la muestra de datos de prueba y por otro, la fuente de datos de entrenamiento.

    Hay que adjuntar los datos al modelo elegido y comparar las predicciones devueltas con el valor de destino (objetivo de aprendizaje).

    Además, se debe diseñar una métrica que indique la efectividad de la predicción y la coincidencia de valores. Si la exactitud es menor o igual a 50% la veracidad no será válida.

    Análisis de errores

    Tras la puesta en marcha de un modelo de Machine Learning pueden darse múltiples situaciones que den lugar a equívocos. Por ello, el análisis de errores es la última fase, aquella que permite modelar y cambiar los aspectos no relevantes para el proyecto.

    Este análisis permitirá mejorar el rendimiento del modelo de aprendizaje automático y profundizar aún más en las fases previas a la implementación y entrenamiento.

    Además, con el análisis de errores, obtendremos las claves de los fallos durante el proceso y generararemos nuevas conclusiones sobre qué necesita el proyecto. Por ejemplo:

    • Cambiar de modelo. Puede que en un principio se haya usado un modelo de clasificación binaria y en realidad el proyecto requería un modelo de regresión.
    • Aumentar los datos para nutrir el modelo.
    • Diagnosticar los fallos en la definición del objetivo y entender cuáles son las posibles mejoras.
    TAGS:
    Imagen del autor Redacción España

    Equipo de redacción de B12 España: Marketing, Big Data, Inteligencia Artificial y Ventas.

    Ponte en contacto con nosotros:

    +52 (55) 4774 1185

    mexico@agenciab12.com

    Ejército Nacional #1112, Int. 804, CP 11510 – CDMX