El machine learning o aprendizaje automático consiste básicamente en el proceso de grandes volúmenes de datos no estructurados para intentar encontrar patrones dentro de un conjunto de datos, realizar una predicción sobre nuevos conjuntos de datos buscando similitudes con el conjunto de datos de entrenamiento o bien tomar una decisión en base a ese conjunto de datos.

Hay varios tipos de algoritmos de aprendizaje automático, los más comunes se dividen entre supervisados y no supervisados.

  • En los algoritmos supervisados se busca la relación entre la entrada y la salida, para predecir qué resultado nos proporcionará una cierta entrada. En estos casos tendremos un conjunto de datos de entrenamiento que incluirá el dato que queremos predecir. Un ejemplo son los filtros que se utilizan en los sistemas antispam. A partir de muchos correos de los que sabemos si son spam o no, construimos un modelo que nos permita decidir si un nuevo correo lo es.
  • Los algoritmos no supervisados se utilizan para clasificar los valores de entrada e identificar patrones dentro de los datos. Por ejemplo, podríamos usar uno de estos algoritmos para segmentar una base de datos de clientes y luego hacer ofertas personalizadas.

Azure Machine Learning nos proporciona un completo conjunto de herramientas para limpiar y preparar los datos de forma que podamos entrenar el algoritmo de forma eficiente, para experimentar y entrenar el algoritmo, para ejecutarlo e incluso publicar el resultado como una API disponible para aplicaciones externas (como el proyecto Oxford por ejemplo).

Pasos para realizar un experimento de aprendizaje automático

  • Determinar el objetivo del experimento. Generalmente se inicia con una pregunta a responder. En mi caso, ¿puedo determinar el sueldo de un trabajador en función de sus datos?
  • Obtener los datos. En Azure ML los datos pueden ser obtenidos de diversas fuentes (Blob Storage, Sql, Url) y en diferentes formatos. En el ejemplo utilizaré un conjunto de datos que viene con Azure ML por defecto.
  • Preparar los datos para su posterior análisis, haciendo las validaciones necesarias.
  • Determinar los elementos clave a analizar, sin la correcta elección perderemos tiempo de proceso analizando datos innecesarios y también reduciremos la precisión de la predicción.
  • Aplicar la técnica de aprendizaje automático. EL análisis se aplica sobre un subconjunto de los datos obteniendo un modelo (entrenamos nuestro experimento). Para poder medir la precisión del algoritmo podemos utilizar la técnica de dividir el conjunto de datos en dos partes, una para realizar el entrenamiento del algoritmo y otra para comprobar la precisión de ese entrenamiento.
  • Evaluar los resultados. Usualmente se aplican varias técnicas en el paso anterior para comparar y quedarnos con la que nos ofrece mejores resultados.