7 pasos del Machine Learning para construir tu máquina

Describiré los 7 pasos genéricos que debes seguir para construir tu propia Inteligencia Artificial con Machine Learning.

Paso 1: Colectar Datos

Dada la problemática que deseas resolver, deberás investigar y obtener datos que utilizaras para alimentar a tu máquina. Importa mucho la calidad y cantidad de información que consigas ya que impactará directamente en lo bien o mal que luego funcione nuestro modelo. Puede que tengas la información en una base de datos ya existente o que la debas crear desde cero. Si es un pequeño proyecto puedes crear una planilla de cálculos que luego se exportará fácilmente como archivo csv. También es frecuente utilizar la técnica de web scraping para recopilar información de manera automática de diversas fuentes (y/o servicios rest/ APIs).

NO olvides hacer el EDA: Análisis Exploratorio de Datos

Paso 2: Preparar los datos

Es importante mezclar “las cartas” que obtengas ya que el orden en que se procesen los datos dentro de tu máquina no debe de ser determinante.
También es un buen momento para hacer visualizaciones de nuestros datos y revisar si hay correlaciones entre las distintas características (“features”, suelen ser las columnas de nuestra base datos o archivo) que obtuvimos. Habrá que hacer Selección de Características, pues las que elijamos impactarán directamente en los tiempos de ejecución y en los resultados, también podremos hacer reducción de dimensiones aplicando PCA si fuera necesario. Deberemos tener balanceada la cantidad de datos que tenemos para cada resultado(clase), para que sea representativo, ya que si no, el aprendizaje podrá ser tendencioso hacia un tipo de respuesta y cuando nuestro modelo intente generalizar el conocimiento fallará.
También deberemos separar los datos en en dos grupos: uno para entrenamiento y otro para evaluación del modelo. Podemos fraccionar aproximadamente en una proporción de 80/20 pero puede variar según el caso y el volumen de datos que tengamos.
En esta etapa también podemos preprocesar nuestros datos normalizando, eliminar duplicados y hacer corrección de errores.

Paso 3: Elegir el modelo

Seguir Leyendo

Aplicaciones del Machine Learning

Para comentar las  diversas aplicaciones del ML primero vamos a diferenciar entre el Aprendizaje Supervisado y No Supervisado y el Aprendizaje por Refuerzo.

Aprendizaje Supervisado

En el Aprendizaje Supervisado los datos para el entrenamiento incluyen la solución deseada, llamada “etiquetas” (labels). Un claro ejemplo es al clasificar correo entrante entre Spam o no. Entre las diversas características que queremos entrenar deberemos incluir si es correo basura o no con un 1 o un 0. Otro ejemplo son al predecir valores numéricos por ejemplo precio de vivienda a partir de sus características (metros cuadrados, nº de habitaciones, incluye calefacción, distancia del centro, etc.) y deberemos incluir el precio que averiguamos en nuestro set de datos.

Los algoritmos más utilizados en Aprendizaje Supervisado son:

Aprendizaje No Supervisado

En el aprendizaje No Supervisado los datos de entrenamiento no incluyen Etiquetas y el algoritmo intentará clasificar o descifrar la información por sí solo. Un ejemplo en el que se usa es para agrupar la información recolectada sobre usuarios en una Web o en una app y que nuestra Inteligencia detecte diversas características que tienen en común.

Los algoritmos más importantes de Aprendizaje No supervisado son:

Aprendizaje por Refuerzo

Nuestro sistema será un “agente autónomo” que deberá explorar “un espacio” desconocido y determinar las acciones a llevar a cabo mediante prueba y error. Aprenderá por sí mismo obteniendo premios -recompensas- y penalidades la forma óptima para recorrer un camino, resolver un puzzle o comportarse por ejemplo en el Pac Man o en el Flappy Bird. Creará la mejor estrategia posible (políticas) para obtener la mayor recompensa posible en tiempo y forma. Las políticas definirán qué acciones tomar ante cada situación a la que se enfrente.

Los modelo más utilizados son:

  • Q-Learning basado en Procesos de Decisión de Markov (MDP: Markov Decision Process)

Aplicaciones de ML  y Ejemplos

Las aplicaciones más frecuentes del Machine Learning son:

Seguir Leyendo