Skip to main content

¿Qué es Machine Learning?

El Machine Learning (o Aprendizaje Automático en español) es una subrama de la Inteligencia artificial que tiene como objetivo la resolución de problemas sin que sea necesario programar explícitamente el algoritmo que los soluciona. Para llevar esto a cabo con éxito, es necesario contar con datos que permitan al sistema ser capaz de inferir patrones.

El concepto de Machine Learning está muy influenciado por la capacidad que tenemos los seres humanos para aprender. Por poner un ejemplo, si a una persona que nunca ha visto una pitaya, le indicamos que es una fruta de piel rosácea y que por dentro es blanca con puntos negros, le sería muy fácil detectarla en una cesta llena de diferentes frutas. Es más, incluso sin decirle ninguna descripción, una persona que conociera todas las frutas de la cesta excepto la pitaya, sería capaz de concluir que esa fruta que desconoce es la que estamos buscando. Este tipo de deducciones, que para el ser humano pueden parecer muy sencillas, son extremadamente complejas de llevar a cabo por un ordenador.

Como vimos en el post anterior sobre el papel de la Inteligencia Artificial en la actualidad, ya en 1950 Alan Turing propuso su famoso Test de Turing [1] para determinar si una máquina poseía comportamiento inteligente o no.  En esa misma década, Arthur Samuel creó el primer sistema de aprendizaje automático[2], diseñado para aprender las mejores jugadas que se podían realizar en el juego de las damas basándose en numerosas partidas registradas. Tal fue el éxito de este experimento, que la máquina, una vez entrenada, fue capaz de ganar a su creador.

Las redes neuronales, de las que todo el mundo habla hoy en día y que son la base del Deep Learning, del que hablaremos en este blog más adelante, fueron creadas también en la misma década (1951) cuando Marvin Minsky y Dean Edmonds crearon SNARC, la primera red neuronal artificial, construida utilizando 3000 válvulas de vacío para simular 40 neuronas artificiales. Sin embargo, las redes neuronales no se utilizaron mucho hasta la década de los 80s cuando se implementó el algoritmo de Backpropagation (Propagación hacia atrás) para entrenar redes neuronales de manera rápida y eficiente.

Gracias a la increíble evolución de los ordenadores en cuanto a velocidad de cálculo y almacenamiento, el Machine Learning está hoy en día en su mejor momento. Esto, unido a que cada vez son más los datos de los que disponemos, hace que los campos de aplicación de esta rama de la Inteligencia Artificial estén aumentando exponencialmente.

Todo proceso de Machine Learning cuenta con al menos dos etapas muy diferenciadas: Entrenamiento y Predicción.

» Todo proceso de Machine Learning cuenta con al menos dos etapas muy diferenciadas: Entrenamiento y Predicción.» 

Primera fase del proceso de Machine Learning: Entrenamiento

En esta fase el sistema trata de aprender tendencias, comportamientos y/o patrones que se ajusten a los datos que forman el conjunto de entrenamiento. Desde un punto de vista matemático, el entrenamiento de un sistema inteligente se corresponde con un proceso de optimización de los parámetros de una función para que su salida sea lo más parecida posible al resultado que queremos obtener.

Dependiendo de los datos con los que contamos para entrenar nuestro sistema, existen dos grandes categorías de aprendizaje:

  • Si nuestro conjunto de datos cuenta con un resultado esperado, estamos ante un caso de aprendizaje supervisado.  Esto quiere decir que los datos que utilizamos para entrenar nuestro sistema inteligente están formados por un conjunto de características que definen cada uno de los datos y por el resultado que queremos obtener con ellos. Por ejemplo, un sistema que por el tamaño de una vivienda nos estime el precio que tiene en el mercado.
  • En cambio, si tan solo disponemos de datos, pero no tenemos ningún valor que nos determine el objetivo que queremos alcanzar con el entrenamiento, el problema se cataloga como aprendizaje no supervisado. Este tipo de aprendizaje se utiliza para realizar agrupaciones, buscar datos anómalos dentro de un conjunto de datos o incluso para reducir las características de los datos para quedarnos únicamente con las más relevantes. Por ejemplo, un sistema que analice imágenes de personas y trate de agruparlas según su aspecto (raza, edad, género, …).

Segunda fase del proceso de Machine Learning: Predicción

La etapa de predicción se realiza una vez se ha completado el entrenamiento y consiste en evaluar datos nuevos que no se han tenido en cuenta para el entrenamiento utilizando la función optimizada para obtener un resultado.

Si el resultado que se obtiene es una categoría, estamos ante un problema de clasificación. Por ejemplo, el resultado de un partido de la quiniela (1 X 2), el grupo sanguíneo al que pertenece una persona o si en una foto aparece un perro o un gato.

Si, por el contrario, el valor que devuelve la función es un número, estamos ante un problema de regresión.  La predicción del precio del barril de Brent, o la estimación del peso de una persona, son ejemplos de regresión.

Llegados a este punto, resulta muy interesante ser capaces de distinguir en una empresa aquellos puntos dentro de un proyecto en los que el Machine Learning pueden marcar la diferencia a la hora de obtener resultados. En futuros posts de este blog abordaremos este tema e indicaremos cómo identificar este tipo de problemas.

Oscar García-Olalla Olivera es Científico de datos, ingeniero de I+D en Xeridia


[1] A. M. TURING; I.—COMPUTING MACHINERY AND INTELLIGENCE, Mind, Volume LIX, Issue 236, 1 October 1950, Pages 433–460, Consultar fuente.

[2]  Samuel, A. L. 1959. «Some Studies in Machine Learning Using the Game of Checkers». In Feigenbaum, E.A., Feldman, J. (eds) 1963. Computers and Thought. New York: McGraw-Hill, pp. 71-105.