Una definición clásica de Machine Learning dice que un agente aprende cuando su desempeño mejora con la experiencia y mediante el uso de datos; es decir, cuando la habilidad no estaba presente en su origen.
En este tipo de aprendizaje por lo general un computador observa datos, construye un modelo basado en esos datos y utiliza ese modelo a la vez como una hipótesis acerca del mundo y una pieza de software que puede resolver problemas.
¿Qué es Machine Learning?
Machine Learning o «aprendizaje automático» en inglés es un área de estudio que pertenece a una subcategoría de la Inteligencia Artificial, que consiste en dejar que los algoritmos descubran patrones recurrentes (“patterns”) en un gran conjuntos de datos.
Esos datos pueden ser números, palabras, imágenes, estadísticas y cualquier cosa que se pueda almacenar digitalmente puede servir como dato de entrada para el Machine Learning.
Al detectar patrones en esos datos, los algoritmos aprenden y mejoran su rendimiento en la ejecución de una tarea específica.
En resumen, los algoritmos de Machine Learning aprenden de forma autónoma a realizar una tarea o hacer predicciones a partir de datos y mejorar su rendimiento con el tiempo. Una vez entrenado, el algoritmo podrá encontrar los patrones en nuevos datos.
¿Cómo funciona el Machine Learning?
Existen cuatro etapas principales para el desarrollo de un modelo de Machine Learning, generalmente gestionado y supervisado por un profesional de Data Scientist.
1. Datos de entrenamiento
El primer paso es seleccionar y preparar un conjunto de datos de entrenamiento. Estos datos se utilizarán para alimentar el modelo de Machine Learning para aprender a resolver el problema para el que se ha diseñado.
Los datos se pueden etiquetar para indicarle al modelo las características que debe identificar, aunque también se pueden ingresar datos sin etiquetar, entonces será el modelo el que deberá detectar y extraer características recurrentes por sí mismo.
En ambos casos, los datos deben prepararse, organizarse y limpiarse cuidadosamente. De lo contrario, el entrenamiento del modelo de Machine Learning puede estar sesgado y los resultados de sus predicciones futuras se verán afectados directamente.
2. Selección del algoritmo
El segundo paso es seleccionar un algoritmo para ejecutar sobre el conjunto de datos de entrenamiento.
El tipo de algoritmo que se emplea depende del tipo y del volumen de datos de entrenamiento y del tipo de problema que haya que resolver.
3. Entrenamiento del algoritmo
El tercer paso es entrenar el algoritmo, un proceso de repetición en que las variables se ejecutan a través del algoritmo y los resultados se comparan con los que debería haber producido.
En este punto, los “pesos” y el sesgo se pueden ajustar para aumentar la precisión del resultado.
Después se vuelve a ejecutar las variables hasta que el algoritmo produzca el resultado correcto en la mayoría de los casos. El algoritmo ya entrenado es el modelo de Machine Learning.
4. Usos y mejoras del modelo
El cuarto y último paso es el uso y la mejora del modelo, utilizando el modelo sobre nuevos datos, cuyo origen depende del problema que haya que resolver.
Por ejemplo, en los servidores de correos electrónicos se utiliza habitualmente un modelo de Machine Learning diseñado para detectar spam.
Principales algoritmos de Machine Learning
Existe una amplia variedad de algoritmos de Machine Learning, algunos más utilizados que otros, con diferentes algoritmos para los datos etiquetados.
Los algoritmos de regresión lineal o logística, permiten comprender las relaciones entre los datos.
La regresión lineal se utiliza para predecir el valor de una variable dependiente en función del valor de una variable independiente, algo como por ejemplo, predecir las ventas anuales de un ejecutivo comercial en función de su nivel de estudios o de experiencia.
La regresión logística a su vez se utiliza cuando las variables dependientes son binarias.
Otro tipo de algoritmo de regresión llamado máquina de vectores de soporte es pertinente cuando las variables dependientes son más difíciles de clasificar.
Otro algoritmo de Machine Learning popular es el árbol de decisiones, el cual permite establecer recomendaciones basadas en un conjunto de reglas de decisión partiendo de datos clasificados.
Por ejemplo, es posible recomendar por qué equipo de fútbol apostar basándose en datos como la edad de los jugadores o el porcentaje de victorias del equipo.
Para los datos no etiquetados, a menudo se utilizan los algoritmos de “clustering”. Ese método consiste en identificar grupos con registros similares y etiquetar esos registros según el grupo al que pertenecen.
Los algoritmos de asociación permiten descubrir patrones y relaciones en los datos e identificar las relaciones “si/entonces”, llamadas “reglas de asociación”.
Estas reglas son similares a las que se utilizan en el campo del Data Mining o minería de datos.
Por último, las redes neuronales son algoritmos en forma de red con varias capas. La primera permite la captación de datos, una o más capas escondidas permiten sacar conclusiones de los datos captados y la última capa asigna una probabilidad a cada conclusión.
Una red de neuronas “profunda” está compuesta por múltiples capas ocultas que permiten afinar los resultados de la anterior. Es la que se utiliza en el campo del Deep Learning.
¿Qué es Deep Learning?
El Deep Learning es una rama del Machine Learning que hoy en día es la más utilizada, inventada por Geoffrey Hinton en 1986.
En pocas palabras, el Deep Learning es una versión mejorada del Machine Learning. El Deep Learning utiliza una técnica que le da mayor capacidad para detectar los patrones, incluso los más sutiles.
Esta técnica se conoce también red neuronal profunda y esa profundidad corresponde al gran número de capas de nodos de cálculo que constituyen estas redes y que trabajan conjuntamente para tratar los datos y hacer predicciones.
Esas redes de neuronas se inspiran directamente en el funcionamiento del cerebro humano. Los nodos de cálculo se pueden comparar a las neuronas y la red en si misma se parece al cerebro.
Diferentes tipos de Machine Learning
En general, podemos diferenciar 3 técnicas de Machine Learning actualmente: aprendizaje supervisado, aprendizaje no supervisado y aprendizaje reforzado.
1. Aprendizaje supervisado
En el caso del aprendizaje supervisado, el más común, los datos se etiquetan para indicar a la máquina qué patrones tiene que buscar.
El sistema se entrena sobre el conjunto de datos etiquetados, con la información que se supone que tiene que determinar. Es posible que los datos ya estén clasificados de la forma en que se supone que debe hacerlo el sistema.
Este método requiere menos datos de entrenamiento que los demás y facilita el proceso de entrenamiento, ya que los resultados del modelo se pueden comparar con los datos ya etiquetados.
Sin embargo, etiquetar los datos puede resultar caro. Un modelo también puede estar sesgado debido a los datos de entrenamiento, lo que afectará a su rendimiento más adelante cuando procese nuevos datos.
2. Aprendizaje no supervisado
Por el contrario, en el caso del aprendizaje no supervisado, los datos no tienen etiquetas. La máquina se contenta con explorar los datos en busca de posibles patrones.
Se ingieren grandes cantidades de datos y utilizan algoritmos para extraer las características relevantes necesarias para etiquetar, ordenar y clasificar datos en tiempo real sin intervención humana.
En lugar de automatizar decisiones y predicciones, este enfoque ayuda a identificar patrones y relaciones que los humanos pueden pasar por alto en los datos.
Esta técnica no es muy popular porque es más difícil de aplicar. Sin embargo, es cada vez más común en el campo de la ciberseguridad.
3. Aprendizaje semi-supervisado
En el aprendizaje “semi-supervisado”, durante el entrenamiento, se utiliza un conjunto de datos etiquetados más pequeño para guiar la clasificación y la extracción de características de un conjunto de datos no etiquetado más grande.
Este enfoque es útil en situaciones en las que no hay datos etiquetados suficientes para entrenar un algoritmo supervisado, permitiendo solventar el problema.
4. Aprendizaje por refuerzo
Finalmente, el aprendizaje por refuerzo consiste en dejar que un algoritmo aprenda de sus errores para lograr un objetivo, probando muchos enfoques diferentes para intentar lograr su objetivo.
Dependiendo de su rendimiento, el algoritmo es recompensado o penalizado para animarlo a continuar por un camino o cambiar su enfoque.
Esta técnica ha sido utilizada en particular para permitir que una Inteligencia Artificial supere a los humanos en juegos como AlphaGo y Dota 2.
Casos de uso y aplicaciones de Machine Learning
En los últimos años, hemos oído hablar de muchos avances en el campo de la inteligencia artificial. De igual manera, las aplicaciones de la IA se han multiplicado.
En realidad, la gran mayoría de los avances alcanzados en este campo están directamente relacionados con el Machine Learning.
El Machine Learning se esconde detrás de un gran número de servicios modernos muy populares como los sistemas de recomendación de Netflix, Youtube y Spotify.
Lo mismo pasa con los motores de búsqueda como Google o Baidu, con las secciones de noticias de las redes sociales, tales como Facebook y Twitter o con los asistentes vocales como Siri y Alexa.
El Machine Learning también permite que los robot aspiradores limpien por sí solos, que tu correo electrónico detecte los spams y que los sistemas de análisis por imagen médicos localicen los tumores de manera más eficiente. Los vehículos autónomos también utilizan el aprendizaje automático.
Los asistentes digitales, como Apple Siri, Amazon Alexa o Google Assistant , se basan en la tecnología de tratamiento natural del lenguaje (NLP).
Se trata de una aplicación del ML que permite que los ordenadores traten datos vocales o textuales para “comprender” el lenguaje humano.
Esta tecnología también es la que está detrás de la voz de tu GPS o a los chatbots y softwares de tipo “speech-to-text”.