El machine learning es uno de los grandes pilares sobre los que se está desarrollando la inteligencia artificial. Pero, ¿en qué consiste el aprendizaje automático? ¿Cuáles son sus principales aplicaciones? En este artículo te lo contamos.
¿Qué es el machine learning?
Una de las grandes diferencias entre el hombre y la máquina es que el ser humano es capaz de pensar por sí mismo y de aprender en base a sus experiencias pasadas.
Hasta hace relativamente poco tiempo, las máquinas no poseían ninguna de esas cualidades. Se limitaban a realizar los trabajos mecánicos para los que habían sido diseñadas. Cualquier modificación de su comportamiento requería una reprogramación del software o hardware.
Sin embargo, con el desarrollo del aprendizaje automático esto ha cambiado. Se puede afirmar que ahora las máquinas o los sistemas informáticos, ya son capaces de aprender.
En concreto, la definición de machine learning o aprendizaje automático podría ser la siguiente:
Es una rama de la inteligencia artificial que permite a las máquina detectar patrones para realizar predicciones y adaptar su comportamiento en base a la experiencia.
Una inteligencia artificial dotada con machine learning es capaz de realizar un reconocimiento de patrones para convertir una muestra de datos en otros conjuntos de datos que no le han sido introducidos previamente.
Hoy en día existen multitud de ejemplos de máquinas o programas dotados con machine learning. Por ejemplo, Alexa o Siri aprenden en base a las consultas de los usuarios para hacerles recomendaciones basadas en sus preferencias. También es célebre el caso del AlphaZero, un software de ordenador prácticamente imbatible al ajedrez y que aprendió a jugar por sí mismo.
Pero antes de profundizar más en los tipos, técnicas y aplicaciones del machine learning hagamos un pequeño repaso por su origen y evolución a lo largo de la historia.
Historia y evolución
El concepto de machine learning está íntimamente ligado al de inteligencia artificial. Sin embargo, hay algunos hechos que supusieron un desarrollo del aprendizaje automático de forma independiente, incluso antes de que Alan Turing propusiese su Test de Turing o que el término “inteligencia artificial” fuese acuñado en 1956.
Los primeros hechos que sentaron las bases de esta rama de la inteligencia artificial se remontan al siglo XIX. En 1812 el Teorema de Bayes se convirtió en el primer sistema, arcaico eso sí, de predecir un evento futuro en base a una serie de condiciones previas.
Ya en el siglo XX una serie de científicos comenzaron a trabajar en los albores de la programación informática. Una de las figuras clave en este sentido es la del citado Alan Turing, que fue el primero en hacerse la pregunta de su las máquinas eran capaces de pensar, lo que dio lugar al nacimiento del concepto de inteligencia artificial tal y como lo conocemos hoy en día.
En las décadas de los 50 y los 60, los expertos en ciencia computacional dieron un paso más allá y comenzaron a investigar la manera de replicar en las computadores la manera de funcionar de las neuronas cerebrales. Así surgieron las redes neuronales artificiales, que consistían en una serie de nodos interconectados que transmiten información entre sí.
A mediados del siglo XX también se empezaron a desarrollar los primeros programas diseñados para ofrecer soluciones “creativas” en base a problemas dados. Por ejemplo, Marvin Minksy y Dean Edmonds, consiguieron crear un programa informático que era capaz de aprender sobre sus pasos para lograr salir de un laberinto. Este programa está considerado el primero en ser capaz de resolver un problema sin haber sido programado específicamente para ello.
A partir de este momento, el paradigma de la inteligencia artificial y machine learning sufrió un cambio. Los expertos en computación empezaron a pasar de la programación mediante reglas definidas, a dejar que los propios programas desarrollaran esas reglas en base a los datos introducidos.
El gran problema al que se enfrentaba el aprendizaje automático en aquella época era la escasez de datos y la falta de potencia computacional para procesarlos. Con el paso del tiempo y el avance de las tecnologías, los ordenadores han sido capaces de procesar mayores volúmenes de datos para crear sistemas de aprendizaje automático cada vez más complejos.
Tipos de aprendizaje automático
Dentro del machine learning existen diferentes tipos de aprendizaje. ¿Cuáles son?
Aprendizaje supervisado
Las máquinas aprenden con datos etiquetados en base a los elementos que aparecen en ellas. Por ejemplo, si hay una serie de imágenes con la etiqueta “flores”, al algoritmo será capaz de encontrar esas etiquetas en otras bases de datos, de manera que si se selecciona la etiqueta “flores” podrá encontrar imágenes similares.
Aprendizaje no supervisado
Al contrario que en el aprendizaje supervisado, en este tipo de machine learning las máquinas no aprenden en base a datos etiquetados, sino que buscan similitudes. Siguiendo con el ejemplo de las flores, en vez de buscar un tipo específico de datos, detectan patrones con similitudes que se pueda agrupar. Esta tipo de aprendizaje se acerca a lo que se conoce como deep learning.
Aprendizaje por refuerzo
Es el más común de los tres tipos. La máquina aprende observando por sí misma el mundo que le rodea. La información que maneja se obtiene del mundo exterior y la máquina aprende en base a sus acciones, con un sistema de ensayo y error. El programador no indica al software cómo debe comportarse, sino que es este quien aprende del entorno y modula su comportamiento mediante un sistema de castigos o recompensas.
Modelos de machine learning
Dentro del machine learning también existen diferentes modelos a través de los cuáles las máquinas son capaces de resolver una determinada tarea.
Modelos lógicos
Por ejemplo, los árboles de decisión. En este modelo las maquinas transforman los datos y probabilidades en reglas de actuación. En función de dichas probabilidades, se actúan según una u otra regla.
Modelos geométricos
Son aquellos que están realizados en un espacio de instancias y que pueden tener una o varias dimensiones. Estos modelos pueden usar líneas o planos para clasificar el espacio en la instancia (lineales) o usar la noción de distancia para determinar la similitud o diferencia (modelos basados en la distancia).
Modelos probabilísticos
Suelen emplear la estadística bayesiana para definir la distribución de probabilidades. Este tipo de modelos clasifican las características y variables objetivo como unas variables aleatorias. Con el proceso de modelado se manipula y define el nivel de incertidumbre de dichas variables.
Técnicas de aprendizaje automático
Dentro del machine learning también existen diferentes técnicas de aprendizaje. A continuación vemos de forma básica en qué consisten las más importantes.
Árboles de decisiones
Esa técnica emplea diagramas con estructura de árbol para definir la toma de decisiones. Estos diagrama están formados por un nodo interno, una serie de ramas que indican reglas de decisión y nodos hoja que representan los resultados. Es una de las estructuras más empleadas en informática para la elaboración de modelos predictivos.
Reglas de asociación
Mediante esta técnica se trata de desarrollar reglas de asociación que permitan definir relaciones entre variables. Dentro de esta técnica existen diversos modelos de algoritmos, como el de Eclat o el de Patrón Frecuente.
Algoritmos genéticos
Establecen patrones y reglas basándose en la forma en que funciona la biología o la genética. Por ejemplo, a través de la mutación o el cruzamiento de datos para crear nuevas clases que permitan solucionar un problema, del mismo modo que la selección natural hace evolucionar a los seres vivos para adaptarse al entorno.
Redes neuronales artificiales
Se basan en el funcionamiento de las neuronas del sistema nervioso del ser humano o de algunos animales. Cada uno de los nodos funciona como una neurona, que a su vez está conectado a otras neuronas, de manera que se crear una red en la que todas colaboran entre sí. Mediante esta colaboración las redes neuronales son capaces de convertir una estímulo de entrada en uno de salida.
Vectores de soporte
Se clasifican dentro de los modelos supervisados de aprendizaje automático. Estas máquinas se entrenan con elementos clasificados en dos categorías distintas, con el objetivo de crear un modelo que sea capaz de definir si un nuevo ejemplo pertenece a una u otra de estas categorías.
Clustering
También llamado algoritmo de agrupamiento, el clustering es un modelo de aprendizaje automático no supervisado en el que se clasifica la información en distintos subgrupos o clusters en los que los elementos se integran en base a determinados criterios.
Redes bayesianas
Esta técnica presenta una serie de variables al azar y sus condicionales en un grafo acíclico. Por ejemplo, este tipo de redes se pueden usar para calcular las probabilidades de que un ordenador tenga un virus en relación a una serie de síntomas o comportamientos de la máquina.
Aplicaciones del machine learning
Las aplicaciones del aprendizaje automático son muy variadas y es ampliamente usado en el ámbito de las matemáticas, robótica, medicina, biología, economía y finanzas, Big Data, marketing, recursos humanos y un largo etcétera.
Por ejemplo, algunas de las aplicaciones prácticas más frecuentes del aprendizaje automático son las siguientes:
- Cálculo de todo tipo de probabilidades, por ejemplo la posibilidad de que un paciente tenga una determinada enfermedad según los síntomas que padezca.
- Detección de fraudes en transacciones económicas a través de internet.
- Predicción y prevención de fallos en equipos informáticos.
- Selección y organización del personal interno de una empresa, por ejemplo, para determinar qué empleados son más rentables o qué áreas del negocio conviene potenciar o eliminar.
- Encontrar clientes potenciales en base a sus preferencias y patrones de comportamiento, en el ámbito del marketing.
- Ofrecer a cada cliente productos o servicios relacionados con sus deseos e intereses, por ejemplo, en el caso de los asistentes personales.
Estas son solo algunas de las aplicaciones del machine learning. La realidad es que se puede emplear en cualquier área de una organización que sea susceptible de usar modelos predictivos para mejorar el funcionamiento de los procesos.
Ejemplos de uso del aprendizaje automático
Veamos un ejemplo de cómo se puede usar el aprendizaje automático en el campo del marketing y la atención al cliente.
Imaginemos una empresa que tiene una base de datos de clientes en la que figuran datos como su fecha de alta, los servicios contratados, el consumo diario, los cambios realizados en el servicio, las llamadas realizadas al servicio de atención al cliente, etc.
En muchos de estos casos, estos datos solo se usan con fines administrativos o para realizar estadísticas e informes que muestren la marcha actual de la empresa.
Sin embargo con el machine learning se le puede sacar mucho mayor provecho a esos datos.
Por ejemplo, un modelo predictivo de aprendizaje automático es capaz de procesar esa información para determinar cuándo es más probable que un cliente abandone una empresa, en base a precedentes. Por ejemplo, si hace un mes que no accede a su cuenta de cliente y no ha respondido a las últimas tres llamadas del departamento de atención al cliente. Y no solo eso, sino que es capaz de determinar cuál es la mejor manera de vitar que ese cliente termine dándose de baja.
Otro ejemplo del uso del aprendizaje automático son los chatbots de atención al cliente. Algunos de ellos solo están programados para ofrecer respuestas genéricas. Sin embargo, los más modernos son capaces de aprender en base a las preguntas de los usuarios para ofrecer respuestas cada vez más eficaces.
En definitiva, el aprendizaje automático y el deep learning son ramas de la inteligencia artificial que han llevado esta disciplina a un nivel superior, y son las grandes culpables de que ya haya personas que se pregunten si las máquinas llegarán algún día a comportarse como seres humanos.