Aprendizaje automático
| Site: | Aula En Abierto del INTEF |
| Course: | Inteligencia artificial |
| Book: | Aprendizaje automático |
| Printed by: | Guest user |
| Date: | Wednesday, 11 March 2026, 11:30 AM |
1. Machine learning: concepto
1.1. Evolución de la IA
Cuando hablamos de inteligencia podemos pensar en la capacidad que tenemos los seres humanos para aprender, tomar decisiones o razonar un determinado problema. La inteligencia artificial es el conjunto de técnicas que se utilizan para que las máquinas sean capaces de imitar a los humanos. La primera inteligencia artificial estaba muy lejos de descubrir la teoría de la relatividad de Einstein o de componer la novena sinfonía de Beethoven. Los sistemas inteligentes han ido mejorando a los largo del tiempo y con el tiempo se han ido diseñando sistemas capaces de realizar tareas cada vez más complejas. Algunos ejemplos de las primeras máquinas llamadas “inteligentes” que han ido cambiado el curso de la historia de la inteligencia artificial son:
1997: Deep Blue de IBM ganó al campeón mundial de ajedrez, Gari Kasparov.
2011: Watson de IBM ganó el concurso de televisión sobre preguntas de cultura y conocimiento Jeopardy!, en Estados Unidos. Watson es capaz de aprender y de interactuar con humanos de manera natural.
2012: Lanzamiento de diferentes asistentes virtuales ya utilizan algoritmos de aprendizaje profundo como Siri, Google Now o Cortana.
2016: El campeón mundial del complejo juego de estrategia Go se enfrentó a la máquina de inteligencia artificial de Google, AlphaGo. El software ganó la partida con resultado 4 a 1.
2017: Un algoritmo desarrollado por la Universidad Carnegie Mellon de Pensinvalnia, Libratus, fue capaz de vencer a varios de los mejores jugadores de póker en Estados Unidos.
Evolución de la IA desde Deep Blue hasta Libratus. Licencia: Pixabay
Como vemos, hay muchos ejemplos y continuamente siguen apareciendo más. Es indiscutible que las máquinas son buenas en la especialización de realizar una tarea concreta, jugar al ajedrez o ganar una partida de póker. En este último juego se puso en evidencia la debilidad del software para reaccionar a situaciones imprevistas. Los jugadores en una partida de póker no pueden saber las cartas que tienen los demás jugadores. Lo que sí se puede asegurar con certeza son las cartas que componen la bajara completa. Por lo tanto, la máquina tiene sus propias estrategias de aprendizaje, creando algoritmos en base a las certezas (que son las cartas que hay) y a las reglas del juego que se deben seguir. El póker es un juego en el que se tienen en cuenta muchas variables y las más importantes son las señales que muestran el resto de participantes y que pueden revelar si un jugador oculta alguna información. Las máquinas no son tan buenas todavía en la tarea de averiguar si una persona está mintiendo, o en el caso del póker, si se está “marcando un farol”.
En general, la inteligencia artificial actualmente se centra en que un sistema se especialice en realizar una tarea concreta. El reto de dominar la gran cantidad de tareas que es capaz de realizar un ser humano, de forma simultánea y de manera casi inconsciente, la dejamos para la ciencia ficción. Por esta razón, existen varias máquinas diferentes, una para cada uno de los diferentes campos de trabajo que se necesiten. La robótica, la visión artificial, el procesado del lenguaje natural o el internet de las cosas son algunos ejemplos de la especialización de las máquinas.
1.2. Aprendizaje automático
Como vemos en la siguiente imagen, cada una de las ramas de la inteligencia artificial va profundizando cada vez más en la tarea de imitar a la inteligencia humana y de conseguir una respuesta con la mayor rapidez y autonomía posible.
Áreas de la Inteligencia Artificial.
El aprendizaje automático es la rama de la inteligencia artificial que se basa en generar conocimientos a partir de diferentes situaciones o experiencias. Con esta técnica se permite que los sistemas aprendan de forma autónoma gracias al análisis de un conjunto de datos conocidos previamente. Estos sistemas son capaces de reconocer patrones y tomar decisiones sin la intervención humana. Con el uso de esta técnica, una máquina es capaz de aprender muchísimo más rápido de lo que podemos aprender los humanos. El Machine Learning es el área de estudio especializada en proveer a las máquinas de la capacidad de aprender por sí mismas. Esta área de la IA hace uso de métodos estadísticos para que las máquinas sean capaces de mejorar sus respuestas con la experiencia.
La mayoría de técnicas basadas en la IA utilizan métodos de aprendizaje automático, esta es la técnica más utilizada en la actualidad. Por esta razón, pueden confundirse los términos pero no son los mismo, la inteligencia artificial puede abarcar muchas más áreas de estudio.
1.3. Diferencia entre IA y aprendizaje automático
Para dejar clara la diferencia entre estos dos conceptos vamos a ver dos ejemplos:
Por un lado, la inteligencia artificial es la capacidad de seguir unas reglas de programación que han sido previamente instaladas en el sistema inteligente. Por ejemplo, un programa de ordenador que juega al ajedrez tiene en su memoria todas las reglas del juego y las aplica en cada turno. En programación, esto se hace utilizando el comando “si”, “si hay alguna ficha en la fila de la torre, cómela”, “si hay alguna ficha en la diagonal del alfil, cómela”. El sistema solamente tiene que seguir las instrucciones que le ha indicado el programador, es como un niño al que se le dice lo que tiene que hacer.
En el caso del aprendizaje automático o Machine Learning, el programa no solo tiene ese conjunto de reglas del juego. El programa es capaz de aprender en cada partida gracias a los nuevos datos que analiza y procesa para crear nuevas reglas. Es como tener un jugador senior con varias años de experiencia entre torneos y partidas de amigos. El sistema analiza cada una de las partidas y puede repetir los movimientos que le llevaron a la victoria en el pasado. En este caso, la inteligencia artificial decide por sí misma cuál es la mejor opción y hacer que la probabilidad de éxito sea la mayor.
Machine Learning. Licencia: Pixabay.
En resumen, el aprendizaje automático es un conjunto de técnicas que se usan para que el sistema pueda aprender, predecir y adaptarse a las circunstancias. Las máquinas aprenden estudiando los datos y detectando patrones para, de esta manera, aumentar su “inteligencia” y mejorar las respuestas a los problemas planteados.
2. Introducción a la estadística
Como hemos mencionado anteriormente, el aprendizaje automático utiliza técnicas y algoritmos para averiguar las relaciones y patrones entre los datos, para aprender de ellos. Las máquinas no aprenden de la misma manera que nosotros los humanos, no tienen emociones o intuiciones. Las máquinas aprenden basándose en los datos y utilizando la estadística. La estadística es la ciencia que estudia la organización, el análisis, la interpretación y representación de los datos. La estadística se divide en dos grandes áreas:
La estadística descriptiva: se utiliza para describir las características de un conjunto de datos.
La estadística inferencial: se utilizan para generar predicciones basadas en los datos.
La mayoría de los modelos de machine learning se basan en la estadística inferencial y en el entrenamiento de los modelos. Estos modelos aprenden de enormes cantidades de datos que reciben como entrada. Cuanto mayor el la cantidad de datos, mayor es la calidad del aprendizaje.
2.1. Conceptos básicos y fundamentos
Los modelos matemáticos que se generan cuando estamos trabajando con el aprendizaje automático de una IA, dependen de unas variables de entrada, Estas variables son los datos que vienen del mundo real que queremos modelar. Los modelos estadísticos tienen como fin último explicar o predecir la realidad. En los modelos clásicos de estadística existen variables dependientes y variables independientes que se relacionan por medio de una ecuación matemática.

- Variable independiente: Es aquella variable cuyo valor no depende de ninguna otra variable. Esta variable se suele representar con la letra “x”.
- Variable dependiente: Es aquella variable que depende de otras variables de la ecuación que son las variables independientes. Esta variable se refiere al objeto de estudio y se suele representar con la letra y.
Además, existen otros factores o causas que no se pueden controlar y que influyen en el valor final de la variable dependiente. Como ejemplo, en el gasto de luz mensual, la variable dependiente sería el precio de la factura y la variables independiente sería el precio del Kw/h. El precio final que pagaremos depende de más factores o causas que no se pueden controlar como la avería de algún electrodoméstico o el mal funcionamiento del contador de luz y a esta parte incontrolable la llamaremos error. Si todos los meses pagamos 60 € en nuestra factura de la luz podemos llegar a “predecir” que la siguiente factura será del mismo valor. Si la factura que nos llega es de 80 € puede ser por dos razones: el precio del Kw/h ha subido o ha habido algún error en la factura.
Para que el modelo que utilizamos se ajuste a la realidad, el error debería ser del menor valor posible. En un mundo ideal, este error sería cero, pero en la realidad esto nunca sucede. El error es la diferencia entre el valor observado y el valor de la predicción del modelo.
Muestreo
Este es otro concepto que es importante tener claro cuando hablamos de la estadística. Es el conjunto de datos que se obtienen cuando tomamos una muestra de algo que queremos estudiar. Si medimos durante varios días la temperatura del ambiente, obtendríamos varios valores con los que poder representar la variación que tiene en un período de tiempo. Como es lógico, no haremos mediciones constantemente a cada segundo. Realizaremos una o dos mediciones que asignaremos a un día y poder ver la evolución a largo plazo. A estas mediciones las llamamos muestras.
También estamos realizando un muestreo cuando anotamos las notas de nuestro alumnado, que representa el aprendizaje realizado por cada uno hasta ese momento concreto del curso. Si hemos realizado tres exámenes, tendremos tres muestras de la evolución de cada alumno. En el último trimestre, al finalizar el curso, haremos recopilación de todas esas notas y tendremos fotografía clara de la evolución que ha llevado cada alumno desde que comenzaron las clases.
Sin embargo, cuando hablamos de muestra, estamos hablando del conjunto de población o individuos que hemos incluido para representación. Si realizamos un examen, y ese día acudieron a clase a 28 alumnos, la muestra que hemos recogido es de 28. En una encuesta de calidad realizada a 200 alumnos, la muestra recogida es 200.
La población es el conjunto de individuos, animales, objetos, mediciones o acontecimientos que tienen características en común y que se quieren estudiar. En nuestro anterior ejemplo, si realizamos una encuesta de calidad queremos estudiar la satisfacción de todos los alumnos que acuden al centro (que pueden ser unos 1200) y que por ser un número elevado no es viable realizar la encuesta a la totalidad de esa población en estudio.
2.2. Predicciones
El análisis predictivo trata de buscar patrones y convertir los datos en predicciones y de esa manera saber lo que ocurrirá en el futuro. Gracias al aprendizaje automático junto con los métodos estadísticos se puede predecir cuando se va a agotar un producto para reponerlo o cuando un cliente puede estar pensando en darse de baja. Toda esta información tiene un valor incalculable para la empresa y genera un valioso conocimiento.
Existen dos tipos de modelos predictivos: el modelo de clasificación y el modelo de regresión.
Modelos de clasificación: Se intenta predecir la pertenencia a una clase particular. Por ejemplo, en el caso de clientes que están visitando una web, podemos clasificarlos en futuros compradores o no compradores. Según el comportamiento que tengan y su parecido con otros clientes, podremos predecir la probabilidad de que terminen comprando algún producto. La técnica más utilizada para predecir este tipo de modelo son los árboles de decisión.
Modelos de regresión: En estos modelos, lo que se intenta predecir es un número una cantidad. Podemos estimar, la cantidad de clientes que acudirán a un restaurante durante el fin de semana y así poder comprar cantidad de comida necesaria sin desperdiciar nada.
Modelo de regresión lineal. Licencia: Philipendula, CC BY-SA 3.0, en Wikimedia Commons
2.3. Ejercicios
Para dejar claro los que hace realmente un modelo matemático de aprendizaje automático, vamos a ver un ejemplo sencillo y a calcularlo por nosotros mismos.
Predicción del precio de un viaje en taxi
Vamos a tener que viajar en taxi entre dos puntos de la ciudad de Madrid separados por 10 Km y queremos calcular cuanto nos costará el servicio antes realizarlo. ¿Cómo podemos calcularlo? Pues vamos a pensar en qué variables son las que debemos de tener en cuenta. El precio de una carrera depende de la distancia que vayamos a recorrer y la distancia la sabemos y no depende de ninguna otro variable. Ya hemos identificado la variable dependiente y la independiente de nuestro modelo.
- Y = precio de la carrera.
- X = kilómetros recorridos.
¿Qué relación tienen estas variables entre sí? El precio final de la carrera depende de los kilómetros recorridos. Si preguntamos a un taxista por el precio de un viaje, nos informa de que el precio es de 1,26 € por cada kilómetro y que la bajada de bandera nos costará 3 € adicionales.
En nuestra ecuación multiplicaremos la cantidad de 1,26 por los kilómetros que vamos a recorrer en el trayecto. En nuestro caso la variable X es igual a 10 Km.
- Y = 1,26 * X
Por último, le vamos a sumar a la ecuación anterior el coste de la subida de bandera que son 3 €.
- Y = 3 + 1,26 * X
Con estos pasos ya hemos creado nuestro modelo de aprendizaje para predecir el precio de cualquier viaje en taxi dentro de nuestra ciudad. Si hacemos los cálculo obtenemos que la carrera nos costará 15,6 €. Este modelo nos seguirá funcionando para calcular otros recorridos, siempre que el precio por kilómetro no sufra variaciones.
Hemos creado la ecuación del modelo por deducción y a partir de los datos que teníamos. Esto no siempre es posible porque el cálculo puede ser mucho más complicado. Otra manera de obtener la ecuación sería, a partir de muestras varios viajes anteriores. Esto lo hacemos también en nuestra vida cuando le preguntamos a algún amigo ¿cuanto te ha costado el taxi al aeropuerto desde tu casa?, y basándonos en su respuesta nosotros hacemos una estimación aproximada de los que nos costaría el trayecto desde nuestra casa.
Predicción de las ventas de un negocio
Ahora, supongamos que queremos anticiparnos a cuál será la cantidad de ventas que tendrá un negocio que tenemos abierto desde hace 10 años, una tienda de electrónica llamada TiendaTIC. Esta tienda de electrónica ha ido guardando la cantidad de ventas durante todo este tiempo desde 2012, sumando las ventas nuevas cada año y a la anteriores. Los valores recogidos han sido los siguientes:

En estos datos podemos reconocer que hay una variable independiente que es el año en el que se producen las ventas, que no depende de ningún otro valor y que llamaremos X. Además, tenemos una variable dependiente que es la cantidad de ventas en euros que se realiza cada año y que está asociada a un valor de X concreto. A este variable la llamaremos Y.
Por ejemplo, cuando X vale 2012 el valor de las ventas es 2000, o dicho de otro modo, el valor de Y es 2000. Con todos estos datos vamos a hacer una representación gráfica en la que mostraremos los valor de la X en el eje horizontal y los valores de Y en el eje vertical. Nuestros valores quedaran representados como una serie de puntos en la siguiente gráfica.

Cantidad de ventas en euros desde que se fundó la empresa.
Vemos que los puntos siguen una cierta tendencia. Cuando se crea un modelo estadístico con técnicas de aprendizaje automático lo que se hace en realidad en calcular los puntos que hay entre medias de esas muestras. Se hace una estimación de los datos de los que no tenemos ningún valor. La siguiente imagen muestra la línea que genera un modelo sencillo de machine learning.

Modelo de predicción para las ventas de un negocio
Esta línea es en realidad, una ecuación matemática que relaciona la variable independiente o X con la variable dependiente o Y. La misma ecuación que vimos anteriormente cuando hablamos de los conceptos de estadística. El cálculo de esa recta se estudia en los últimos cursos de la E.S.O. y es un concepto que suele ser difícil de entender para los alumnos. Con sólo utilizar dos de los puntos que pasen exactamente por la recta, podremos definir la ecuación matemática del modelo. Utilizaremos los puntos P1(2014, 6000) y P2(2020, 18000).

Ahora solo nos que sustituir los valores de los puntos que hemos elegido, sabiendo que cada uno de los puntos tiene la forma: P1 (X1,Y1) y P2 ( X2,Y2).

Realizando los cálculos y despejando la ecuación final sería la siguiente.

Ahora que ya tenemos la ecuación de nuestro modelo predictivo vamos hacer la estimación de las ventas que habremos hecho para el año 2021 y para el año que queramos estimar. Solo tenemos que sustituir el valor de X por el año del que queramos predecir las ventas.

Según nuestro modelo, en el año 2021 habremos vendido un total de 20.000€ en productos informáticos en nuestro establecimiento TiendaTIC desde la fecha de su fundación en 2021.
La estadística está en todas partes y puede explicar muchos fenómenos de la naturaleza como se muestra en el siguiente vídeo.
Google (2019). How machine learning is being used to help save the world’s bees [vídeo] YouTube
3. Modelos de aprendizaje automático
Existen varios tipos según como se realice el aprendizaje:
Supervisado
No supervisado
Reforzado
3.1. Aprendizaje supervisado
Para realizar un aprendizaje supervisado hace falta un conjunto de datos conocidos y estructurado para enseñar a la máquina en una primera fase. De esta manera se generará un modelo o algoritmo que ha aprendido gracias a los datos que le hemos proporcionado. Se pretende generalizar o predecir en función de los datos que ya se conocen.
Un ejemplo muy típico es aprender a diferenciar entre perros y gatos. Nosotros los humanos realizamos esa categorización de forma automática. Simplemente, ¡sabemos que es un gato!. Pero si nos paramos a pensar un poco, nos daremos cuenta de que hay una serie de características que atribuimos a los gatos y otras diferentes a los perros. Para saber que es un gato podemos fijarnos en sus ojos de color claro, sus bigotes alargados, sus uñas afiladas, la forma lenta de moverse etc. Por otro lado, para saber si es un perro nos fijaremos en que su tamaño más grande, su hocico muy largo o si ladra. Para un ordenador no es tan sencilla la diferencia, primero tiene que analizar las imágenes y decidir si es un animal u otro. Muy probablemente, si le enseñamos un perro de raza chihuahua, la inteligencia artificial no acertará en su respuesta, si no ha visto algún chihuahua con anterioridad. Estos perros por pequeño tamaño se asemejan más a la fisiología de un gato.

¿Perros o gatos? Pixabay. Licencia: Pixabay.
Si se ha realizado el entrenamiento con los datos y al realizar la prueba estamos satisfechos con el resultado podemos dar por completado el modelo. Lo que suele pasar es que tengamos que repetir el proceso con un nuevo entrenamiento y otro test hasta que el modelo es capaz de reconocer al “chihuahua”. Para algunos casos puede ser más largo y complejo por lo que tendríamos que repetir varias veces el proceso y puede que no lleguemos observar las respuestas correctas.
En todo momento estamos supervisando el aprendizaje y descartando las respuestas incorrectas. El algoritmo se dice que está entrenado cuando es capaz de clasificar los datos según la lógica esperada. La clasificación puede ser por categorías como perro o gato, o por número como puede ser un algoritmo que adivine la edad de una persona por la foto. En este tipo de entrenamiento se utilizan las etiquetas para mostrar el modelo las respuestas que consideramos correctas. Otra característica que debemos tener en cuenta al entrenar un modelo de machine learning es que los datos de entrenamiento deben ser lo más variados posibles ya que, de lo contrario, aprenderá de reglas muy rígidas para tomar las decisiones.
3.2. Aprendizaje no supervisado
Otro tipo de aprendizaje utilizado es el aprendizaje no supervisado, que sería el más adecuado si los datos que tenemos no siguen una estructura y no tenemos información suficiente como para clasificarlos. Se utiliza, por ejemplo, para que el algoritmo decida por sí mismo la estructura de una base de datos o las categorías en las que dividir los datos. La mayor diferencia con el aprendizaje supervisado es que las datos no son etiquetados previamente. Nosotros le podemos proporcionar una serie de indicaciones para tomar las decisiones y controlar una parte del aprendizaje pero las decisiones las tomará el algoritmo sin ningún tipo de confirmación por nuestra parte.
El algoritmo clasifica y proporciona soluciones pero no es capaz de interpretarlas y se hace necesario que una persona especializada termine el trabajo. El modelo se limita a observar los datos que tiene y generar posibles conclusiones. Hay aplicaciones que se basan en el aprendizaje no supervisado para determinar las características principales que definen a un conjunto de datos suministrado. Por ejemplo, para describir diferentes tipos de prendas de vestir y llegar a diferenciarlas en una imagen, se detectarían previamente las características que hacen diferente a una camisa de un pantalón o cualquier otra prenda.
Los modelos que utilizan el aprendizaje no supervisado pueden realizar tareas más complejas como reconocimiento facial o reconocimiento de voz. Pero también pueden ser más impredecibles al no contar con supervisión humana durante el aprendizaje. No en todos los casos se llega a realizar una clasificación correcta como en el caso de la IA de Google Photos en en año 2015, que etiquetó por error una foto de personas de raza negra como “gorilas”. Google pidió perdón por la equivocación de su software, un error que se conoce como error de sesgo y que ocurre cuando los datos que se utilizan para el aprendizaje no son lo suficientemente variados.
Procesamiento de imágenes. Licencia: Pixabay.
3.3. Aprendizaje por refuerzo
El aprendizaje por refuerzo es el menos conocido y es un tipo de aprendizaje supervisado. Lo que se hace es que se ofrecen los datos sin etiquetar pero cuando el algoritmo ha tomado la decisión, se recompensa si esta ha sido exitosa. El comportamiento indeseado como errores de clasificación, simplemente es suprimido. En inteligencias artificiales que se especializan en jugar se utiliza este tipo de aprendizaje, entrenando a la máquina con contrincantes cada vez más expertos. También en la conducción autónoma se utiliza el tipo de aprendizaje por refuerzo. Imaginaros el caso en el que un coche autónomo se encuentra en una situación de emergencia, y tiene que decidir entre frenar bruscamente o atropella a un animal que ha cruzado la carretera. ¿Cuál seria la decisión que tomaría? Muy probablemente intentaría frenar o giraría el volante como cualquiera de nosotros, poniendo en peligro al ocupante del vehículo. Estas decisiones críticas se supervisan para que no ocurran accidentes inesperados.
Como resumen puedes ver este video de Google que habla sobre el aprendizaje de las máquinas.
OxfordSparks. (2017). ¿Qué es el aprendizaje automático? [vídeo] YouTube
4. Entrenamiento, test y validación de modelos
Ahora que ya hemos visto los tipos de aprendizaje con los que una IA es capaz de aprender, vamos a ver los pasos que hay que realizar en detalle. Lo primero que haremos será ver el entrenamiento para que nuestro modelo aprenda los suficiente como para realizar la tarea que le pedimos.

Entrenamiento del modelo ¿perro o gato?
En el siguiente video veremos un ejemplo muy simple en el que se entrena a un modelo para que diferencie imágenes entre perros y gatos.
INTEF (2021). Entrenamiento [vídeo] YouTube
4.1. Conjunto de entrenamiento y test
Del conjunto total de datos que tenemos haremos dos subconjuntos, uno para entrenar al sistema de forma controlada y el resto, para realizar las pruebas y así poder comprobar que el resultado es el que esperábamos. Los algoritmos de aprendizaje automático aprenden de los datos con los que realizamos el entrenamiento. Es muy importante guardar una pequeña parte de los datos para posteriormente realizar el test de prueba, ya que si lo hacemos con el mismo conjunto de datos con el que hemos entrenado no lo estaremos validando realmente. Para poder comprobar que un modelo está funcionando debemos validarlo con un conjunto de datos diferente. Siempre que estemos trabajando con modelos de aprendizaje automático debemos tener los datos divididos en dos grupos.
Datos de entrenamiento: La calidad del modelo entrenado depende directamente de la calidad de estos datos. Correspondes aproximadamente al 70% del total de los datos.
Datos de prueba: Son los datos que reservamos para comprobar que nuestro modelo funciona. Es importante que estos datos representen una amplia variedad de situaciones. La cantidad de datos que guardamos será en torno a un 30% del total de los datos.
4.2. Sobreajuste
Cuando un modelo está “sobre entrenado” quiere decir que la respuesta del sistema está muy ajustada al conjunto de datos con el que que ha sido entrenado. Las previsiones se ajustan al entrenamiento de tal manera que no son capaces de responder de forma correcta a datos nuevos y diferentes. Estos son modelos complejos que ya no podrían seguir siendo utilizados porque no tienen en cuenta la posibilidad de error que siempre existe.
En nuestro ejemplo que diferencia entre perros y gatos, el tigre representa a ese error que no se puede predecir pero que a veces ocurre. Y nuestro modelo ha sido capaz de reaccionar bien a este error, encontrando parecidos comunes con la especie felina a la que también pertenecen los gatos.
4.3. Subajuste
También puede pasar el caso contrario, en el que los datos de entrenamiento son insuficientes y el algoritmo no aprende lo necesario para dar una buena respuesta. Los datos pueden no estar bien procesados, no ser representativos del conjunto completo o contener errores que engañan al modelo. Las salidas que obtendremos serán muy simples y con poco valor por un entrenamiento defectuoso.
En conclusión, las decisiones tomadas por los modelos de aprendizaje automático dependen en gran medida de los datos que utilicemos en las fases de entrenamiento y en la fase de test. Para generar un modelo de alta calidad debemos mantener un punto de equilibrio entre el sobreajuste y el subajuste de nuestro algoritmo.
4.4. Generalización
Lo que buscamos con todo esto es que nuestro modelo haga una generalización de nuestros datos para poder realizar una buena predicción aunque los datos no sean conocidos. Como hemos visto, el algoritmo debe ajustarse a los datos de entrada lo suficiente para que la respuesta sea satisfactoria en todas las situaciones, incluidas las que son nuevas. La ecuación matemática que define un modelo puede ser tan simple como la ecuación de una recta o tan compleja como una ecuación matricial. Encontrar el equilibrio entre que el modelo se ajuste lo máximo posible a la realidad y la complejidad del modelo estadístico no es siempre fácil.
Si entrenamos un modelo de aprendizaje automático y al realizar el test en la fase de prueba no obtenemos los resultados deseados es que nuestro algoritmo no generaliza lo suficiente como para ser validado. Incluiremos esos datos en las etiquetas de un nuevo entrenamiento y haremos que el algoritmo mejore su inteligencia. El proceso lo debemos repetir las veces que hagan falta y siempre guardando una parte de los datos para realizar los test. Alcanzaremos el punto de equilibrio cuando el modelo reduzca su tasa de error y siga respondiendo de forma adecuada a los datos nuevos.
En el siguiente video podrás ver otro ejemplo en el que se ve como hace falta volver a repetir en entrenamiento porque el modelo falla en la predicción. Cuando seleccionamos imágenes para entrenar debemos tener muy en cuenta el fondo para no confundir al algoritmo.
INTEF (2021). Reciclaje. [vídeo] YouTube
5. Algoritmos y herramientas
Los ejemplos que hemos visto anteriormente sobre la estimación del coste de un trayecto en taxi o la predicción de las ventas de nuestra tienda de electrónica son los modelos más simples que se pueden utilizar para generar un algoritmo. En el método de regresión lineal simple trazamos una línea que representa los valores genéricos que dan respuesta a nuestro problema gracias una ecuación matemática, la de la recta. Pero existen diferentes modelos que podemos generar dependiendo de la complejidad de nuestros datos y de la similitud que queramos que tenga la respuesta con la realidad. Recuerda que en la mayoría de los casos no será posible evitar un cierto grado de error en el cálculo porque nunca podremos representar la realidad de manera exacta. Se muestran a continuación los modelos más utilizados en el aprendizaje automático.
5.1. Algoritmos de Regresión
Este es un algoritmo de aprendizaje supervisado muy utilizado en estadística. Ya hemos visto en anteriores ejemplos los modelos de regresión que no son más que modelos matemáticos que se encargan del estudio de la relación entre unas variables que son dependientes con las otras variables que son independientes. A la ecuación que representa esta relación se le llama modelo de regresión. La intención del estudio es averiguar el impacto que pueden tener unas variables sobre otras que dependen de ellas. El modelo más característico de regresión es el de regresión lineal.
Regresión lineal
La regresión lineal es la línea recta que mejor encaja con evolución de todos los valores numéricos que se pueden representar. Es la línea que sigue la tendencia de la variable Y, cuando vamos variando los valores de la variable X. La recta dibujada será la que menor distancia tenga a todos los puntos de la gráfica. También se le llama método de mínimos cuadrados por el nombre de la ecuación que utiliza.
Modelo de regresión lineal. Obtenida de: Wikipedia
Las
predicciones de los valores de la bolsa se basan en este modelo para
mostrar las gráficas que representan la cotización a largo plazo.
Otro ejemplo, en el que se utiliza este algoritmo, es un la predicción
de la temperatura a partir de varias mediciones realizadas. Cuando
solo utilizamos una variable Y que depende de una sola variable X,
al modelo resultante se le llama modelo de regresión lineal
simple. Si en nuestro modelo utilizamos dos variables
independientes como pueden ser el tiempo y la humedad (X1,
X2) estaríamos hablando de regresión lineal múltiple,
y nuestro modelo matemático estaría representado por un plano en
lugar de una recta.
Para que puedas ver como una máquina calcula la línea recta que más se ajusta al conjunto de datos que tenemos, puedes utilizar la herramienta Machine Learning Playgrounds. Marca pulsando con el ratón los puntos de las coordenadas de nuestros datos (la X para el eje de horizontal y la Y para el eje vertical) y presiona el botón “Recalculate” para ver gráficamente en acción el método de los mínimos cuadrados que calcula el lugar exacto de la recta. Puedes probar con la distribución de datos que prefieras.
INTEF (2021). Modelo de regresión lineal [vídeo] YouTube
La herramienta Machine Learning Playgrounds se encuentra en la siguiente dirección https://mlplaygrounds.com/machine/learning/linearRegression.html
Regresión de proceso Gaussiano
Como todos los problemas no se puede solucionar con una simple línea recta, existen otros modelos que intentan predecir el comportamiento de un conjunto de datos con líneas curvas. Los procesos gaussianos utilizan funciones de probabilidad como la media o la varianza para generar un modelo predictivo a partir de los datos. Más concretamente el algoritmo utiliza un vector de medias y una matriz de covarianzas para realizar la estimación de la distribución de unas variables aleatorias. En definitiva, nuestros datos se pueden representar mediante una distribución gaussiana que es el modelo calculado gracias a los procesos gaussianos.
Sin entrar a explicar complejas cálculos matemáticos con matrices, vamos a ver gráficamente qué es lo que hace este modelo y por qué se ajusta con mayor exactitud a cualquier conjunto de datos que tengamos generalizando el resultado. Por ejemplo, si medimos el clima en varios puntos del país, guardando datos de temperatura, humedad y viento. Utilizando el algoritmo de proceso gaussiano podremos generalizar a todo el territorio y predecir el clima en todo el territorio.
Utiliza la herramienta anterior para marcar puntos aleatorios que serán nuestros datos de trabajo, puedes distribuirlos como quieras en el espacio. Por medio del proceso gaussiano se encontrará una ecuación matemática que represente a todos esos datos. Marca al menos diez o veinte puntos y pulsa el botón “Recalculate” para ver gráficamente el modelo que se genera. ¿Se adapta al conjunto de datos que le has suministrado?
La herramienta Machine Learning Playgrounds se encuentra en la siguiente dirección https://mlplaygrounds.com/machine/learning/gaussianProcesses.html
5.2. Clasificación
El algoritmo de clasificación se usa cuando utilizamos etiquetas para dividir los datos en categorías. También se utiliza en el aprendizaje supervisado cuando somos nosotros los que decidimos si un dato entra en una categoría o en otra cuando nos encontramos en la fase de entrenamiento. Un ejemplo sencillo que utiliza la clasificación es la detección del correo no deseado en nuestra bandeja de entrada. Las etiquetas en este caso serían “correo deseado” o “correo no deseado”. En algunos casos se nos pregunta y nosotros mismos podemos marcar un correo sospechoso como correo no deseado.
Pero la mayoría de las veces, el algoritmo de clasificación decide automáticamente si envía un correo a la bandeja de correos no deseados o no. La decisión la toma en base a tres variables: si el remitente es conocido o no, si el correo se nos envía solamente a nosotros o se envía a una gran lista de correo y si en el mensaje existe algún símbolo o lenguaje sospechoso.
Máquina de vectores de soporte
Este método intenta buscar la mejor manera de clasificar un conjunto de datos. En este caso, nuestro modelo calcula la ecuación estadística que separa las diferentes clases. En el caso más sencillo, una línea recta diferenciaría a los correos deseados de los no deseados. La máquina de vectores de soporte es una técnica de aprendizaje automático que calcula la mejor posición de la línea que separa las dos clases.
Modelo de máquina de vectores. Obtenida de: Machine Learning Playground
Se llama máquina de vectores porque utiliza vectores para calcular el margen máximo de separación entre las clases. El modelo utiliza dos variables independientes y por eso tiene dos dimensiones y el modelo se representa con una recta. Podría ser, por ejemplo, la clasificación de los correos según si su remitente es conocido y si se envían a más personas. Si queremos añadir alguna variable más (si el contenido del mensaje es sospechoso) estaríamos añadiendo una dimensión más y nuestro modelo se representaría con un plano.
Cuando no es posible separar las diferentes clases mediante una línea recta, se utiliza una función Kernel. Esta función añade una nueva dimensión para hacer posible la separación de los datos, en el caso de tres dimensiones, por medio de un plano.
De la misma manera que en el ejemplo anterior puedes utilizar la herramienta Machine Learning Playgrounds para representar el modelo. Marca pulsando con el ratón los puntos de las coordenadas de nuestros datos. Para colocar puntos de otra clase diferente pulsa en “Current Class” y cuando lo tengas todos presiona el botón “Recalculate”. Deja el tipo de Kernel lineal para que dibuje una línea recta. Puedes probar con la distribución de datos que prefieras.
INTEF (2021). Ejemplo de Máquina de Vectores de Soporte [vídeo] YouTube
La herramienta Machine Learning Playgrounds se encuentra en la siguiente dirección https://mlplaygrounds.com/machine/learning/svm.html
Árbol de decisión
Uno de los modelos de clasificación más utilizados en estadística son los árboles de decisión, los cuáles buscas dividir el conjunto de datos en categorías que sigan una cierta lógica. Cada una se va ramificando según las características que tengan los datos similares. De esta manera se van descartando las opciones hasta llegar a la solución del problema.
Es parecido al proceso que hacemos para reciclar la basura. Primero la separamos en orgánica e inorgánica. Después la basura que no es orgánica hay que volver a clasificarla dependiendo de si tiene vidrio, plástico o metal. Por último llegamos a la solución, que en este caso es el lugar donde tenemos que llevar cada uno de los diferentes residuos clasificados. El árbol de decisión es también una herramienta de ayuda en la toma de decisiones.
La profundidad de un árbol de decisión es el número de nodos o ramificaciones que forman el árbol. Cuantas más ramificaciones tenga, más complejo será la ecuación del modelo que lo define. En la figura 12 se muestra la representación de un modelo generado con la técnica de árbol de decisión y utilizando un árbol de tres nodos de profundidad.
Modelo de árbol de decisión. Obtenida de: Machine Learning Playground
5.3. Clustering o asociación
Para reconocimiento de patrones en el aprendizaje automático también se utilizan los clústeres. Esta técnica identifica las características en la que se asemejan algunos datos y los agrupa en forma de clústeres. Se utiliza con modelos de aprendizaje no supervisado para identificar nuevos patrones que no se habían relacionado antes. Los datos se pueden agrupar por alguna característica similar como un color o una ubicación. Son modelos complejos que pueden tener en cuenta varias combinaciones de características diferentes.
Una aplicación de esta técnica podría ser para encontrar actividades en redes sociales en momentos críticos como desastres naturales o situación de confinamiento. Si los datos de entrada son los usuarios de una red social, el algoritmo es capaz de agrupar a estos usuarios según el tipo de comportamiento que tenga cada uno. El modelo busca una estructura con patrones a partir de los datos suministrados. Otra área de aplicación sería el de las empresas aseguradoras para poder detectar los patrones que miden la siniestralidad de los clientes y poder aceptar solamente a los clientes que tengan un menor número de accidentes.
5.4. Programación de algoritmos
Si quieres profundizar un poco más en las características de los algoritmos generados puedes ver el siguiente vídeo sobre la herramienta Teachable Machine.
INTEF (2020). Modificando los algoritmos de Machine Learning con Teachable Machine [vídeo] YouTube
También podemos utilizar los algoritmos que hemos creado con esta herramienta en otras aplicaciones como páginas web o aplicaciones de móvil. La herramienta Teacheable Machine genera automáticamente el código de programación y nos facilita mucho el trabajo. En el siguiente vídeo podrás ver como exportar estos modelos para poder utilizarlos en nuestro propio programa desarrollado en Python o Javascript.
INTEF (2020). Usamos el modelo construido con Teachable Machine en un programa javascript [vídeo] YouTube
Para utilizar el modelo de aprendizaje automático con un proyecto de Scratch, puedes utilizar la herramienta Machine Learning for Kids, con la que es posible exportarlo y crear un proyecto nuevo. El siguiente video muestra los pasos.
INTEF (2021). Exportar modelo Scratch. [vídeo] YouTube
Por último, se muestra la secuencia de instrucciones para la generación de un modelo de regresión lineal en código Python. Es necesario utilizar librerías como Numpy y Pandas que permiten trabajar con datos estructurados y realizar cálculos con matrices. En el archivo conjunto_de_datos.csv se encuentran los datos necesarios para el entrenamiento de nuestros modelos ordenados en columnas.
Obtenida de: Welcome to Python.org
5.5. Herramientas para utilizar en el aula
Herramientas de Machine Learning. Obra de Gerd Altmann en Pixabay. Licencia: Pixabay.
Existen varias herramienta que podemos utilizar con nuestro alumnado para introducir el concepto de aprendizaje automático. Si cuentas con conocimientos de programación, además podrás utilizar algunos de ellos programando con Scratch. La inteligencia artificial tiene innumerables aplicaciones y podemos incluso introducir contenidos de materias como lengua, matemáticas o cualquier otra sin que los niños/as se den cuenta de que están adquiriendo conocimiento.
Machine Learning for Kids: esta es una herramienta muy sencilla para entrenamiento de modelos como reconocimiento de imágenes, texto, números o sonidos. No es necesario registrarse para poder crear nuestro primer proyecto. Cuando termines de entrenar tu modelo puedes descargarlo y utilizarlo en lenguajes como Scratch o Python.
Teachable Machine: herramienta libre y gratuita desarrollada por Google para poder ser utilizada por cualquier persona sin necesidad tener de conocimientos en programación. Se pueden crear y entrenar modelos para reconocer imágenes, audio o movimientos de forma rápida y sencilla.
Learning ML: esta es una versión modificada de la plataforma Scratch así podremos exportar nuestro algoritmo para esta herramienta de programación. Está enfocada para el aprendizaje automático supervisado de reconocimientos de textos e imágenes. No es necesario registrarse para poder utilizarla pero es recomendable para acceder a material adicional.
6. Ejemplos reales de uso
6.1. Asistentes virtuales
Interactuamos con asistentes virtuales que son IA entrenadas para mantener una conversación de forma natural. Un chatbot es un pequeño asistente y muchas empresas ya los utilizan en sus páginas web para resolver dudas sencillas. Si la pregunta es más compleja o es una pregunta para la que no ha sido entrenada, no podrás obtener una respuesta con sentido o te responderá que no entiende lo que quieres preguntarle. También están los chatbots con reconocimiento de voz que tienen que ser entrenados para entendernos cuando hablamos. Esto se consigue gracias a otra área de la IA mucho más compleja que es el Procesamiento del Lenguaje Natural o PNL.
Puedes hablar con el asistente virtual YIO y pedirle que te cuente un chiste https://yio.ai/
Uso en el aula: La creación de un asistente virtual con herramientas de aprendizaje automático es una actividad interesante para iniciar a los alumnos en el uso de modelos. Podemos entrenar a un modelo para que reconozca nuestra voz y las instrucciones para controlar las luces o el ventilador de una casa.
6.2. Detección de fraude
Los algoritmos de clasificación son utilizados por Paypal para detectar posibles fraudes. Para poder comprar en muchas página de Internet, es obligatorio que facilitemos los datos de nuestra tarjeta bancaria. El algoritmo de Paypal identifica los pagos de fuentes no fiables según patrones de comportamiento. Así es como también los bancos y empresas de tarjetas de crédito clasifican las transacciones en correctas o fraudulentas. Son capaces de detectar el fraude con mucha precisión gracias los datos del historial de comportamiento de sus clientes y no permitir una compra asociada a una tarjeta si esta se encuentra en el clúster o agrupación “no fiable”. Las aseguradoras también pueden denegar la contratación de una póliza si consideran que el perfil es de “siniestralidad alta” utilizando análisis estadísticos complejos que estudian el comportamiento de los posibles clientes.
Uso en el aula: para introducir conceptos y diferenciar entre diferentes clases se puede hacer uso de modelos de aprendizaje automático. Relacionar especies del mundo animal y entrenar a un modelo que sea capaz de diferenciar mamíferos de vivíparos o de reptiles puede conseguir que el alumno profundice mucho en la materia. Se pueden clasificar imágenes, palabras o sonidos.
6.3. Captcha
Seguro que en más de una ocasión has tenido que completar alguna prueba de este tipo para que un software compruebe que eres un humano. Esta herramienta se usa para evitar que algún software o bot se haga pasar por una persona en la red. En principio, un Captcha consistía en una cadena de caracteres que solamente podía ser leída por una persona. Este sistema también puede funcionar, después de una primera prueba que ya ha comprobado que el usuario es un humano, para entrenar a un modelo de aprendizaje automático. De esta manera, cada vez que has resuelto un reCaptcha, has estado colaborando en el proceso de entrenamiento de los programas de conducción autónoma de Google. Así que la próxima vez, presta mucha atención cuando estés seleccionando semáforos o pasos de peatones.
Uso en el aula: Una actividad interesante para niveles de primaria o secundaria sería entrenar un modelo para reconocimiento de caligrafía. Se debe introducir cada una de las letras del abecedario con sus respectivas etiquetas, entrenar el modelo y cuando hagamos el test comprobar con diferentes caligrafías. La detección y comprensión de todo tipo de letra es complicada hasta para nosotros los humanos y es una tarea que mejora con la práctica.
7. Práctica
Para finalizar vamos a realizar una práctica con otra de las herramientas que hemos visto en este curso https://machinelearningforkids.co.uk/. En este caso entrenaremos a un modelo de aprendizaje automático para que sea capaz de diferenciar entre dos idiomas diferentes. Para ello seguiremos los siguientes pasos:
Seleccionamos los datos de entrenamiento: Elegir los textos que utilizaremos para el entrenamiento en cada idioma. Los datos deben ser abundantes y variados.
Separamos los datos de test: Vamos a reservar algunos de los textos para realizas la prueba y así determinar si nuestro modelo necesita un nuevo entrenamiento o no.
Fase de entrenamiento: Introducimos los textos que hemos etiquetado previamente en cada uno de los idiomas.
Fase de test: Por último realizamos la prueba de funcionamiento con los datos que teníamos reservados y comprobamos si el funcionamiento es válido o no.
Puedes probar con la actividad que te proponemos en el siguiente vídeo.
INTEF (2021). Machine Learning for Kids [vídeo] YouTube
Por últimos si quieres profundizar un poco más y utilizar este modelo de detección de idiomas para un proyecto en Scratch, aquí tienes un vídeo que te puede servir de ejemplo. Se incorpora un bloque exportado desde Machine Learning for Kids en el código de un proyecto creado con Scratch para reconocer el idioma de una frase escrita.
INTEF (2021). Incorporar el modelo a Scratch [vídeo] YouTube
8. Información adicional
- De los Santos, P. R. (2022). Datos de entrenamiento vs datos de test. Telefónica Tech. https://empresas.blogthinkbig.com/datos-entrenamiento-vs-datos-de-test/
- Herramientas y soluciones analíticas. (s/f). Ibm.com. Recuperado el 22 de diciembre de 2023, de https://www.ibm.com/es-es/analytics/machine-learning
- Machine learning for kids. (s/f). Machinelearningforkids.co.uk. Recuperado el 22 de diciembre de 2023, de https://machinelearningforkids.co.uk/
- Teachable Machine. (s/f). Withgoogle.com. Recuperado el 22 de diciembre de 2023, de https://teachablemachine.withgoogle.com/