¿En qué consiste el machine learning?

El machine learning es una técnica de programación informática que emplea probabilidades estadísticas para otorgar a los ordenadores la capacidad de «aprender» sin programarlos de forma expresa. A grandes rasgos, el machine learning está ayudando a los ordenadores a aprender (y, por consiguiente, actuar) como lo hacen las personas, mejorando su aprendizaje y conocimientos con el paso del tiempo de forma autónoma. La idea es que los ordenadores actúen sin que se les programe de forma expresa. El machine learning utiliza programas de desarrollo capaces de ajustarse cuando se ven expuestos a distintos aportes externos.

Sin embargo, la clave del machine learning pasa por introducir muchísimos datos al ordenador en aprendizaje. Para aprender, la máquina necesita big data.

Un buen ejemplo de machine learning es el coche de conducción autónoma. Un coche autónomo tiene sistemas de sensores de cámara, radar y lídar que:

  • Emplean el GPS para determinar la ubicación.
  • Observan la carretera al frente.
  • Escuchan una variedad de objetos atrás o en el lateral del coche.

Toda esta información la procesa un ordenador central. El ordenador capta y analiza constantemente cantidades ingentes de datos y clasifica la información de forma parecida a como lo haría un cerebro humano (por redes neuronales). A continuación, el ordenador toma decisiones a partir de probabilidades y observaciones matemáticas, como por ejemplo la dirección, el mejor momento para frenar, para acelerar, etc., que guían al coche por este entorno.

Ver Fundamentals of Machine Learning ahora
Ver ahora

Tres tipos de machine learning

El machine learning no es nada nuevo. La primera red neuronal artificial (RNA), Perceptron, fue inventada en 1958 por el psicólogo Frank Rosenblatt.

En un primer momento Perceptron se concibió como máquina, no como algoritmo. Se empleó para desarrollar la máquina de reconocimiento de imágenes «Mark 1 Perceptron», en 1960. El Mark 1 Perceptron fue el primer ordenador en utilizar RNA para simular el pensamiento humano y aprender por ensayo y error.

Ahora el machine learning se utiliza con mayor frecuencia debido a las bibliotecas y frameworks de código abierto y al aumento de un billón en potencia de procesamiento informático desde 1956 a 2015. Hoy en día lo encontramos por todas partes, desde las transacciones financieras a la prevención del malware o la personalización del marketing. Pero, por básica o compleja que resulte, el machine learning se clasifica en tres categorías generales:

1. Machine learning supervisado

El machine learning supervisado es básico y estricto. Se ofrecen inputs de ejemplo al ordenador, así como los outputs objetivo deseados, y este encuentra la forma de lograrlos. El objetivo es que el ordenador aprenda la regla general que establece la correspondencia entre inputs y outputs.

El machine learning supervisado puede emplearse para hacer predicciones sobre datos no vistos o futuros, lo que se denomina modelado predictivo. El algoritmo intenta desarrollar una función que prediga con exactitud el output a partir de variables de input, como la predicción del valor de mercado de una casa (output) a partir de los metros cuadrados (input) y demás insumos (antigüedad, tipo de construcción, etc.).

Los dos tipos de aprendizaje supervisado son:

  • Clasificación: la variable resultante es una categoría.
  • Regresión: la variable resultante es un valor real.

Algunos algoritmos de machine learning supervisado son: los bosques aleatorios, los árboles de decisión, el método k vecinos más cercanos (kNN), la regresión lineal, el clasificador bayesiano ingenuo, las máquinas de vectores de soporte (SVM), la regresión logística o la potenciación del gradiente.

2. Machine learning no supervisado

En el machine learning no supervisado, el algoritmo tiene que encontrar una estructura en su input por sí mismo. No se otorga ninguna etiqueta al algoritmo. Esto puede suponer un objetivo en sí mismo (descubrir patrones ocultos en los datos) o un medio para alcanzar un fin. También recibe el nombre de «aprendizaje de características».

Un ejemplo de machine learning no supervisado es el algoritmo de reconocimiento facial predictivo de Facebook, que identifica a las personas en las fotografías.

Los dos tipos de aprendizaje no supervisado son:

  • Agrupamiento: el objetivo consiste en encontrar grupos inherentes en los datos.
  • Asociación: el objetivo consiste en encontrar reglas que definan grandes grupos de datos.

Algunos de los algoritmos de machine learning no supervisado son: El k-medias, el agrupamiento jerárquico o la reducción de dimensionalidad.

3. Machine learning por refuerzo

En el machine learning por refuerzo, un programa informático interacciona con un entorno dinámico en el que debe alcanzar un objetivo determinado, como conducir un vehículo o jugar a un juego contra un oponente. El programa recibe información como recompensa o castigo mientras navega por el espacio del problema y aprende a determinar el mejor comportamiento en ese contexto.

En 2013 fue un algoritmo de machine learning por refuerzo el que, usando Q-learning, fue conocido por aprender sin aportación de ningún programador a ganar a seis videojuegos de Atari.

Los dos tipos de aprendizaje por refuerzo son:

  • Montecarlo: las recompensas se obtienen al final del estado «terminal».
  • Aprendizaje por diferencias temporales (TD): las recompensas se calculan en cada paso.

Algunos de los algoritmos de machine learning por refuerzo son: Q-learning, Deep Q Network (DQN) y State-Action-Reward-State-Action (SARSA).

Las máquinas aprenden por probabilidad

Todas las formas de machine learning funcionan mediante el proceso de probabilidad, en concreto, la interpretación bayesiana de la probabilidad, según la cual las cosas pueden ocurrir o no ocurrir.

A título ejemplo, esta es la forma en la que una máquina aprendería si el sol sale todos los días o no.

Día 1: el sol saldrá o no saldrá. La probabilidad de que el sol salga es de 0,5 o el 50 %. Existe una probabilidad entre dos, dado que tan solo pueden darse dos resultados.

Día 2: el sol salió el día 1, de modo que la probabilidad ha cambiado. La máquina ahora sabe que el sol ha salido una vez antes, pero podría no volver a salir. La probabilidad ha cambiado a dos entre tres o de 0,66.

Día 3 - Día 6: el sol sigue saliendo todos los días; la probabilidad aumenta.

Día 7: a finales de semana, la probabilidad es aproximadamente de 0,857, o de un 85,7 %, de que el sol salga a la mañana siguiente.

Fin de año: el sol ha salido todos los días; la probabilidad de que vuelva a salir a la mañana siguiente es ahora de 0,997, o de más del 99 %.

Cabe destacar que la probabilidad no puede ser nunca de 1 ni del 100 %. Siempre existe una posibilidad minúscula, infinitesimalmente pequeña a medida que el tiempo avanza, de que el sol no vuelva a salir a la mañana siguiente.

Tres tipos de algoritmos de machine learning

Un algoritmo es una secuencia de acciones específicas que resuelven un problema. Los ordenadores utilizan algoritmos para enumerar los pasos detallados necesarios para ejecutar una operación. Existen tres tipos de algoritmos de machine learning, además de los ya mencionados.

La elección del algoritmo depende de la complejidad y la tipología del problema que debe resolverse, entre los cuales encontramos los ejemplos del agrupamiento (observar cómo se agrupan los datos) o la regresión (predecir un resultado de valor real). He aquí algunos algoritmos de machine learning:

Algoritmos de árboles de decisión

Los árboles de decisión son un tipo de algoritmo que puede emplearse en muchos contextos: venta minorista, finanzas, farmacéutica, etc. La máquina se limita a crear un árbol de distintos resultados que pueden producirse o no, y sigue cada opción hasta su conclusión natural descifrando todas las probabilidades de lo que puede suceder.

Por ejemplo, los bancos utilizan algoritmos de árbol de decisión para decidir si financian una hipoteca. Las empresas farmacéuticas utilizan estos algoritmos durante los ensayos de fármacos para determinar la probabilidad de efectos secundarios y calcular el coste medio previsto del tratamiento.

Algoritmos de bosque aleatorio

El bosque aleatorio es otro algoritmo muy extendido. Crea varios árboles de clasificación y regresión (CART, por sus siglas en inglés), cada uno con distintas hipótesis y variables iniciales. Lo que se aleatoriza es el algoritmo, no los datos. Se utiliza para el modelado predictivo de clasificación y regresión.

Por ejemplo, pongamos que se dispone de 1000 observaciones en una población con 10 variables. El algoritmo del bosque aleatorio obtendrá una muestra aleatoria de 100 observaciones y cinco variables iniciales elegidas al azar para crear un modelo CART para analizar. Repite este mismo proceso una y otra vez, y, al final, efectúa una predicción definitiva para cada observación. La predicción definitiva es sencillamente una función de todas las predicciones sumadas.

Algoritmos de K medias

Los K medias son unos algoritmos de machine learning no supervisado que se utilizan para resolver problemas de agrupamiento. Dividen y clasifican un conjunto de puntos de datos no etiquetados (sin clasificación externa) en un grupo, lo que recibe el nombre de agrupamientos o clústeres. Cada iteración del algoritmo asigna a cada punto a un grupo de características similares. Los puntos de datos pueden rastrearse en el tiempo para detectar cambios en los agrupamientos.

Los algoritmos de K medias pueden confirmar hipótesis sobre el tipo de grupos existentes en un conjunto concreto de datos o emplearse para descubrir agrupamientos desconocidos. Como aplicaciones comerciales encontramos el agrupamiento de inventarios por actividad mercantil o la detección de anomalías en datos, como por ejemplo un bot.

Apache Spark y machine learning

Apache Spark es un framework distribuido ultrarrápido para el procesamiento de big data a gran escala. Contiene módulos integrados para machine learning, SQL, analítica en streaming (Spark Streaming) y procesamiento de gráficos (GraphX).

El ecosistema de Spark incorpora MLlib (la biblioteca de machine learning), que acelera y mejora los procesos de datos constantemente, como por ejemplo la clasificación, la regresión, la agrupación en clústeres, etc. Spark, por ejemplo, puede alimentar canalizaciones de datos inteligentes que conecten datos en tiempo real y por lotes para realizar analítica en tiempo real y business intelligence actualizada al minuto.

Talend pone toda la potencia del machine learning en sus manos.

Talend y machine learning

La plataforma de Talend es el primer sistema de integración de big data creado en Hadoop y Apache Spark. Los componentes de desarrollador de arrastrar y soltar preintegrados aprovechan los clasificadores de machine learning de Spark en una única herramienta. Las herramientas y asistentes gráficos generan código nativo para configurar su organización con Hadoop y Apache Spark en cuestión de minutos.

Talend puede ayudar a su empresa a salvar la distancia entre la actividad comercial, la informática y los expertos en datos para desplegar sin fisuras modelos críticos de machine learning. Consulte la entrada de blog «Cómo hacer efectivo el machine learning

Para obtener más información sobre el machine learning, las diferencias que presenta respecto a la inteligencia artificial y el aprendizaje profundo, además de información básica sobre el procesamiento del lenguaje natural (PLN), eche un vistazo al webinar de Talend a petición Los fundamentos del machine learning.

| Actualizado por última vez: January 30th, 2019