Con la evolución de la inteligencia artificial, los investigadores de ciencias de la computación sugieren constantemente nuevos enfoques para que los ordenadores sean aún más autónomos y capaces de realizar tareas con precisión.
Por este motivo, ha aumentado el uso de algoritmos de aprendizaje automático para resolver problemas complejos. Entre sus ventajas está la capacidad de las máquinas de aprender sin estar programadas explícitamente para una actividad concreta.
En este artículo hablaremos de los 3 enfoques principales del machine learning: supervisado, no supervisado y por refuerzo.
¿Qué es machine learning?
Tradicionalmente, los programadores siempre han desarrollado sistemas que especifican claramente cada paso del código. Para ello, los ingenieros de software debían conocer los problemas que trataban de resolver y tener una buena idea de todas las variables y posibilidades implicadas.
El machine learning (aprendizaje automático) es un subcampo de la inteligencia artificial que pretende resolver problemas más complejos, de los que los programadores aún no tienen un conocimiento tan amplio.
También se aplica cuando no es factible asignar todas las variables y posibilidades. Para ello, se estimula a los sistemas para que resuelvan los problemas de forma autónoma, aprendiendo sobre ellos y proponiendo una salida.
En este contexto, los algoritmos analizan los datos de entrada, los procesan y predicen los posibles resultados dentro de un rango definido. En el proceso, prueban diferentes enfoques y optimizan su capacidad para alcanzar el resultado.
Los sistemas artificiales de ML pasan por dos fases: el entrenamiento y la ejecución. En el primero, se alimentan de un conjunto de entradas para que se contextualicen con la situación específica que rodea al problema.
Luego, en la segunda etapa, comienzan a deducir los caminos a partir de lo aprendido en la etapa anterior. Estas dos fases varían en función del tipo de algoritmo, como veremos más adelante en este artículo.
Aunque no es nuevo, el Aprendizaje Automático es un campo de conocimiento en desarrollo, es decir, que a menudo gana nuevos enfoques y nuevos modelos. Estas evoluciones buscan resolver los problemas con mayor precisión y ofrecen opciones especiales para que cada herramienta se adapte al problema específico.
¿Métodos de machine learning?
A continuación, hablaremos de los principales métodos de ML y sus características.
Aprendizaje supervisado
El aprendizaje supervisado es útil cuando se dispone de una propiedad (etiqueta) para un conjunto de datos concreto (conjunto de entrenamiento). Todas las entradas y salidas son conocidas, pero hay que preverlas para otras instancias.
A continuación, estos datos se transmiten al sistema de aprendizaje, que tiene la función de encontrar caminos y ajustar su propio modelo para conseguir los resultados esperados.
Un ejemplo práctico sería enseñar a una máquina a reconocer y clasificar los correos electrónicos, separando los que son relevantes de los que son SPAM.
En la fase de entrenamiento, se transmiten al algoritmo muestras de ambos casos, ya que los dos bloques de información son totalmente conocidos. Ya en la fase de ejecución, el sistema tendrá la capacidad de determinar si un nuevo correo electrónico es o no un mensaje no deseado.
En otras palabras, el software ya sabe qué entradas están asociadas a qué salidas, pero necesita aprender una forma de entender esta asociación.
En este proceso, trata de identificar patrones y establecer predicciones que ayuden a optimizar el enfoque. Este modelo tiene ese nombre porque es como si el operador humano estuviera siempre asistiendo al sistema, enseñándole de forma directa.
Los resultados de este tipo de algoritmos suelen marcarse como clasificación y regresión. La primera se refiere a una forma de asignar elementos iguales a categorías específicas, como en el ejemplo anterior, «spam» y «no spam». La segunda es identificar una tendencia de los datos que permita incluso predecir el futuro a partir de los datos históricos.
Una aplicación común es en la industria de la seguridad, con el uso de herramientas para identificar comportamientos sospechosos en una red y garantizar la protección contra los ataques.
Aprendizaje no supervisado
En el aprendizaje no supervisado, el reto consiste en descubrir relaciones implícitas en un conjunto de datos no etiquetados. De este modo, el algoritmo se encarga de identificar patrones para etiquetar los datos.
Un ejemplo muy común es el de la empresa que proporciona como base a un sistema de ML un conjunto de datos sobre los clientes y espera que identifique posibles atributos comunes y patrones de comportamiento para crear ofertas específicas y segmentadas. Al principio, la empresa no conoce bien la información para saber los posibles resultados.
Es como aprender sin ayuda humana, con el sistema dictando los caminos a seguir. En este modelo de algoritmo, las estrategias comunes son la agrupación y la reducción de dimensiones.
Enfoques como éste pueden utilizarse en los sistemas de recomendación, en los que, basándose en información colaborativa o específica, un software puede filtrar el contenido ideal entre una miríada de ellos.
Se utiliza mucho en las tiendas de comercio electrónico para recomendar productos que pueden ser interesantes para el cliente que visita el sitio. Del mismo modo, hay servicios de streaming que sugieren música o vídeos que debería ver un usuario. Tanto Netflix como Amazon utilizan este enfoque para crear sus algoritmos de recomendación.
Aprendizaje por refuerzo
En este método de aprendizaje, que sigue el estilo utilizado al principio de los estudios de Inteligencia Artificial, se estimula al ordenador para que aprenda a base de ensayo y error, optimizando el proceso en la práctica directa. Con este enfoque, es posible, por ejemplo, enseñar a un sistema a priorizar unos hábitos sobre otros, con recompensas proporcionales al éxito.
El aprendizaje por refuerzo se inspiró en los psicólogos conductistas, que creían en la eficacia de los premios y castigos en la educación de los seres humanos. También recuerda el procedimiento de adiestramiento de mascotas.
Es un método, por tanto, basado en la construcción de la experiencia. A partir de ahí, el algoritmo sabe qué caminos son mejores que otros y qué procesos son más ágiles.
Ejemplos de aplicación son los vehículos autónomos y las máquinas que juegan al ajedrez. El sistema aprende a partir de múltiples intentos, que implican errores como un mal movimiento o un choque contra un obstáculo.