Qué es la inteligencia artificial: aprende desde cero
Qué es la inteligencia artificial: aprende desde cero
La inteligencia artificial (IA) es un campo de la informática que desarrolla sistemas capaces de realizar tareas como reconocer imágenes, interpretar lenguaje, encontrar soluciones o generar contenido.
Pero ¿cómo consigue un programa hacer estas cosas? ¿Qué significa que una máquina aprenda? ¿Y en qué se diferencia de un programa que sigue instrucciones escritas por una persona?
En esta primera lección del curso de inteligencia artificial desde cero encontrarás las respuestas, con ejemplos y un pequeño programa en Python.
No necesitas conocimientos previos de IA ni instalar herramientas para seguir la explicación.
Un programa que sigue reglas
Imagina que queremos detectar mensajes de publicidad no deseada, también llamados spam.
Una primera solución consiste en escribir reglas:
def es_spam(mensaje):
texto = mensaje.lower()
if "premio gratis" in texto:
return True
if "has ganado" in texto:
return True
return False
print(es_spam("Has ganado un teléfono"))
print(es_spam("Nos vemos mañana"))
El resultado es:
True False
Aunque todavía no conozcas Python, puedes seguir la idea:
- def define una función: un bloque de instrucciones reutilizable.
- mensaje.lower() convierte el texto a minúsculas.
- if comprueba una condición.
- in comprueba si una expresión aparece dentro del texto.
- return devuelve el resultado.
- True significa verdadero y False, falso.
Las reglas las hemos elegido nosotros. El programa no las ha aprendido a partir de ejemplos.
¿Qué limitaciones tiene este método?
Considera estos mensajes:
| Mensaje | Clasificación del programa | Qué sucede |
|---|---|---|
| «Has ganado un teléfono» | Spam | Puede ser una clasificación correcta. |
| «Has ganado la partida de ajedrez» | Spam | Un mensaje legítimo activa la regla. |
| «Recoge tu recompensa exclusiva» | No spam | Un posible mensaje sospechoso no activa ninguna regla. |
Podemos añadir excepciones, pero el número de reglas puede crecer mucho.
Esto no convierte la programación basada en reglas en una mala opción. Es útil cuando las condiciones son claras, estables y fáciles de expresar. El problema aparece cuando necesitamos reconocer patrones con numerosas variaciones.
Qué es la inteligencia artificial y qué incluye
La inteligencia artificial incluye distintos enfoques para resolver tareas.
Algunos sistemas utilizan reglas y lógica. Otros exploran posibles soluciones mediante búsqueda. Otros aprenden patrones a partir de datos.
Por ejemplo:
| Tarea | Posible enfoque |
|---|---|
| Resolver un rompecabezas | Explorar movimientos hasta encontrar una solución. |
| Aplicar conocimiento de un dominio | Utilizar reglas y deducciones lógicas. |
| Reconocer animales en fotografías | Entrenar un modelo con imágenes. |
| Generar texto | Utilizar un modelo de lenguaje entrenado. |
No toda la inteligencia artificial aprende de datos.
Tampoco existe una frontera universal y completamente precisa entre la IA y el resto del software. El término agrupa técnicas y objetivos, no una única clase de programa.
¿La IA piensa como una persona?
Un sistema puede realizar una tarea sin utilizar los mismos mecanismos que una persona.
Reconocer una fotografía, generar una explicación o ganar una partida no demuestra por sí solo que tenga conciencia, emociones o comprensión humana.
Para estudiar estos sistemas conviene empezar por cuestiones observables: qué reciben, cómo procesan la información, qué producen y cómo comprobamos sus resultados.
Qué es el aprendizaje automático
El aprendizaje automático, o machine learning, es una parte de la inteligencia artificial que desarrolla métodos para aprender patrones a partir de datos.
Volvamos al ejemplo del spam. En lugar de escribir todas las reglas, proporcionamos mensajes cuya clasificación conocemos:
| Mensaje | Etiqueta |
|---|---|
| «Has ganado un premio, pulsa aquí» | Spam |
| «Oferta exclusiva por tiempo limitado» | Spam |
| «Te envío el documento de clase» | No spam |
| «Nos vemos mañana a las seis» | No spam |
La respuesta conocida se llama etiqueta.
Utilizar ejemplos con sus respuestas es una forma de aprendizaje supervisado. Existen otros tipos de aprendizaje que estudiaremos más adelante.
Durante el entrenamiento, un procedimiento ajusta un modelo para que sus resultados se acerquen a las etiquetas de los ejemplos.
Después podemos presentar un mensaje nuevo y comprobar si lo clasifica correctamente.
Generalizar: funcionar con datos nuevos
La generalización es la capacidad de un modelo para funcionar con ejemplos distintos de los utilizados para entrenarlo.
Es una idea fundamental: memorizar los mensajes de entrenamiento no basta para construir un buen detector de spam.
Necesitamos evaluar el modelo con datos que no haya utilizado para ajustar sus parámetros.
Qué significa que un modelo aprenda
En muchos modelos, aprender consiste en ajustar valores internos para reducir los errores.
Esos valores se llaman parámetros.
Veamos un ejemplo más sencillo que clasificar texto: estimar la distancia recorrida por un vehículo.
Tenemos estas observaciones:
| Tiempo en horas | Distancia en kilómetros |
|---|---|
| 1 | 60 |
| 2 | 120 |
| 3 | 180 |
Proponemos este modelo:
Distancia estimada = w × tiempo
La letra w representa el parámetro que vamos a ajustar. En este ejemplo equivale a una velocidad en kilómetros por hora.
Si elegimos w = 4, obtenemos:
| Tiempo | Distancia observada | Distancia estimada |
|---|---|---|
| 1 hora | 60 km | 40 km |
| 2 horas | 120 km | 80 km |
| 3 horas | 180 km | 120 km |
Si elegimos w = 60, el modelo coincide con las tres observaciones.
Un procedimiento de entrenamiento puede probar distintos valores y conservar el que produzca menos error.
Ejemplo de aprendizaje automático en Python
Este programa prueba valores enteros de w entre 0 y 100:
datos = [
(1, 60),
(2, 120),
(3, 180),
]
mejor_w = None
menor_error = float("inf")
for w in range(0, 101):
error_total = 0
for tiempo, distancia_real in datos:
distancia_estimada = w * tiempo
diferencia = distancia_estimada - distancia_real
error_total += diferencia ** 2
if error_total < menor_error:
menor_error = error_total
mejor_w = w
print("Parámetro aprendido:", mejor_w)
print("Estimación para 4 horas:", mejor_w * 4)
Observando como funciona:
....:::: Iniciamos la iteración ::::.... ....:::: Para w=0 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 0 Diferencia: -60 Error total: 3600 Tiempo: 2, Distancia real: 120, Distancia estimada: 0 Diferencia: -120 Error total: 18000 Tiempo: 3, Distancia real: 180, Distancia estimada: 0 Diferencia: -180 Error total: 50400 Mejor W: 0 Mejor Error: 50400 .....:::::::::::::::::::::::..... ....:::: Para w=1 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 1 Diferencia: -59 Error total: 3481 Tiempo: 2, Distancia real: 120, Distancia estimada: 2 Diferencia: -118 Error total: 17405 Tiempo: 3, Distancia real: 180, Distancia estimada: 3 Diferencia: -177 Error total: 48734 Mejor W: 1 Mejor Error: 48734 .....:::::::::::::::::::::::..... ....:::: Para w=2 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 2 Diferencia: -58 Error total: 3364 Tiempo: 2, Distancia real: 120, Distancia estimada: 4 Diferencia: -116 Error total: 16820 Tiempo: 3, Distancia real: 180, Distancia estimada: 6 Diferencia: -174 Error total: 47096 Mejor W: 2 Mejor Error: 47096 .....:::::::::::::::::::::::..... ....:::: Para w=3 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 3 Diferencia: -57 Error total: 3249 Tiempo: 2, Distancia real: 120, Distancia estimada: 6 Diferencia: -114 Error total: 16245 Tiempo: 3, Distancia real: 180, Distancia estimada: 9 Diferencia: -171 Error total: 45486 Mejor W: 3 Mejor Error: 45486 .....:::::::::::::::::::::::..... ....:::: Para w=4 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 4 Diferencia: -56 Error total: 3136 Tiempo: 2, Distancia real: 120, Distancia estimada: 8 Diferencia: -112 Error total: 15680 Tiempo: 3, Distancia real: 180, Distancia estimada: 12 Diferencia: -168 Error total: 43904 Mejor W: 4 Mejor Error: 43904 .....:::::::::::::::::::::::..... ....:::: Para w=5 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 5 Diferencia: -55 Error total: 3025 Tiempo: 2, Distancia real: 120, Distancia estimada: 10 Diferencia: -110 Error total: 15125 Tiempo: 3, Distancia real: 180, Distancia estimada: 15 Diferencia: -165 Error total: 42350 Mejor W: 5 Mejor Error: 42350 .....:::::::::::::::::::::::..... ....:::: Para w=6 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 6 Diferencia: -54 Error total: 2916 Tiempo: 2, Distancia real: 120, Distancia estimada: 12 Diferencia: -108 Error total: 14580 Tiempo: 3, Distancia real: 180, Distancia estimada: 18 Diferencia: -162 Error total: 40824 Mejor W: 6 Mejor Error: 40824 .....:::::::::::::::::::::::..... ....:::: Para w=7 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 7 Diferencia: -53 Error total: 2809 Tiempo: 2, Distancia real: 120, Distancia estimada: 14 Diferencia: -106 Error total: 14045 Tiempo: 3, Distancia real: 180, Distancia estimada: 21 Diferencia: -159 Error total: 39326 Mejor W: 7 Mejor Error: 39326 .....:::::::::::::::::::::::..... ....:::: Para w=8 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 8 Diferencia: -52 Error total: 2704 Tiempo: 2, Distancia real: 120, Distancia estimada: 16 Diferencia: -104 Error total: 13520 Tiempo: 3, Distancia real: 180, Distancia estimada: 24 Diferencia: -156 Error total: 37856 Mejor W: 8 Mejor Error: 37856 .....:::::::::::::::::::::::..... ....:::: Para w=9 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 9 Diferencia: -51 Error total: 2601 Tiempo: 2, Distancia real: 120, Distancia estimada: 18 Diferencia: -102 Error total: 13005 Tiempo: 3, Distancia real: 180, Distancia estimada: 27 Diferencia: -153 Error total: 36414 Mejor W: 9 Mejor Error: 36414 .....:::::::::::::::::::::::..... ....:::: Para w=10 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 10 Diferencia: -50 Error total: 2500 Tiempo: 2, Distancia real: 120, Distancia estimada: 20 Diferencia: -100 Error total: 12500 Tiempo: 3, Distancia real: 180, Distancia estimada: 30 Diferencia: -150 Error total: 35000 Mejor W: 10 Mejor Error: 35000 .....:::::::::::::::::::::::..... ....:::: Para w=11 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 11 Diferencia: -49 Error total: 2401 Tiempo: 2, Distancia real: 120, Distancia estimada: 22 Diferencia: -98 Error total: 12005 Tiempo: 3, Distancia real: 180, Distancia estimada: 33 Diferencia: -147 Error total: 33614 Mejor W: 11 Mejor Error: 33614 .....:::::::::::::::::::::::..... ....:::: Para w=12 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 12 Diferencia: -48 Error total: 2304 Tiempo: 2, Distancia real: 120, Distancia estimada: 24 Diferencia: -96 Error total: 11520 Tiempo: 3, Distancia real: 180, Distancia estimada: 36 Diferencia: -144 Error total: 32256 Mejor W: 12 Mejor Error: 32256 .....:::::::::::::::::::::::..... ....:::: Para w=13 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 13 Diferencia: -47 Error total: 2209 Tiempo: 2, Distancia real: 120, Distancia estimada: 26 Diferencia: -94 Error total: 11045 Tiempo: 3, Distancia real: 180, Distancia estimada: 39 Diferencia: -141 Error total: 30926 Mejor W: 13 Mejor Error: 30926 .....:::::::::::::::::::::::..... ....:::: Para w=14 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 14 Diferencia: -46 Error total: 2116 Tiempo: 2, Distancia real: 120, Distancia estimada: 28 Diferencia: -92 Error total: 10580 Tiempo: 3, Distancia real: 180, Distancia estimada: 42 Diferencia: -138 Error total: 29624 Mejor W: 14 Mejor Error: 29624 .....:::::::::::::::::::::::..... ....:::: Para w=15 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 15 Diferencia: -45 Error total: 2025 Tiempo: 2, Distancia real: 120, Distancia estimada: 30 Diferencia: -90 Error total: 10125 Tiempo: 3, Distancia real: 180, Distancia estimada: 45 Diferencia: -135 Error total: 28350 Mejor W: 15 Mejor Error: 28350 .....:::::::::::::::::::::::..... ....:::: Para w=16 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 16 Diferencia: -44 Error total: 1936 Tiempo: 2, Distancia real: 120, Distancia estimada: 32 Diferencia: -88 Error total: 9680 Tiempo: 3, Distancia real: 180, Distancia estimada: 48 Diferencia: -132 Error total: 27104 Mejor W: 16 Mejor Error: 27104 .....:::::::::::::::::::::::..... ....:::: Para w=17 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 17 Diferencia: -43 Error total: 1849 Tiempo: 2, Distancia real: 120, Distancia estimada: 34 Diferencia: -86 Error total: 9245 Tiempo: 3, Distancia real: 180, Distancia estimada: 51 Diferencia: -129 Error total: 25886 Mejor W: 17 Mejor Error: 25886 .....:::::::::::::::::::::::..... ....:::: Para w=18 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 18 Diferencia: -42 Error total: 1764 Tiempo: 2, Distancia real: 120, Distancia estimada: 36 Diferencia: -84 Error total: 8820 Tiempo: 3, Distancia real: 180, Distancia estimada: 54 Diferencia: -126 Error total: 24696 Mejor W: 18 Mejor Error: 24696 .....:::::::::::::::::::::::..... ....:::: Para w=19 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 19 Diferencia: -41 Error total: 1681 Tiempo: 2, Distancia real: 120, Distancia estimada: 38 Diferencia: -82 Error total: 8405 Tiempo: 3, Distancia real: 180, Distancia estimada: 57 Diferencia: -123 Error total: 23534 Mejor W: 19 Mejor Error: 23534 .....:::::::::::::::::::::::..... ....:::: Para w=20 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 20 Diferencia: -40 Error total: 1600 Tiempo: 2, Distancia real: 120, Distancia estimada: 40 Diferencia: -80 Error total: 8000 Tiempo: 3, Distancia real: 180, Distancia estimada: 60 Diferencia: -120 Error total: 22400 Mejor W: 20 Mejor Error: 22400 .....:::::::::::::::::::::::..... ....:::: Para w=21 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 21 Diferencia: -39 Error total: 1521 Tiempo: 2, Distancia real: 120, Distancia estimada: 42 Diferencia: -78 Error total: 7605 Tiempo: 3, Distancia real: 180, Distancia estimada: 63 Diferencia: -117 Error total: 21294 Mejor W: 21 Mejor Error: 21294 .....:::::::::::::::::::::::..... ....:::: Para w=22 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 22 Diferencia: -38 Error total: 1444 Tiempo: 2, Distancia real: 120, Distancia estimada: 44 Diferencia: -76 Error total: 7220 Tiempo: 3, Distancia real: 180, Distancia estimada: 66 Diferencia: -114 Error total: 20216 Mejor W: 22 Mejor Error: 20216 .....:::::::::::::::::::::::..... ....:::: Para w=23 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 23 Diferencia: -37 Error total: 1369 Tiempo: 2, Distancia real: 120, Distancia estimada: 46 Diferencia: -74 Error total: 6845 Tiempo: 3, Distancia real: 180, Distancia estimada: 69 Diferencia: -111 Error total: 19166 Mejor W: 23 Mejor Error: 19166 .....:::::::::::::::::::::::..... ....:::: Para w=24 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 24 Diferencia: -36 Error total: 1296 Tiempo: 2, Distancia real: 120, Distancia estimada: 48 Diferencia: -72 Error total: 6480 Tiempo: 3, Distancia real: 180, Distancia estimada: 72 Diferencia: -108 Error total: 18144 Mejor W: 24 Mejor Error: 18144 .....:::::::::::::::::::::::..... ....:::: Para w=25 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 25 Diferencia: -35 Error total: 1225 Tiempo: 2, Distancia real: 120, Distancia estimada: 50 Diferencia: -70 Error total: 6125 Tiempo: 3, Distancia real: 180, Distancia estimada: 75 Diferencia: -105 Error total: 17150 Mejor W: 25 Mejor Error: 17150 .....:::::::::::::::::::::::..... ....:::: Para w=26 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 26 Diferencia: -34 Error total: 1156 Tiempo: 2, Distancia real: 120, Distancia estimada: 52 Diferencia: -68 Error total: 5780 Tiempo: 3, Distancia real: 180, Distancia estimada: 78 Diferencia: -102 Error total: 16184 Mejor W: 26 Mejor Error: 16184 .....:::::::::::::::::::::::..... ....:::: Para w=27 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 27 Diferencia: -33 Error total: 1089 Tiempo: 2, Distancia real: 120, Distancia estimada: 54 Diferencia: -66 Error total: 5445 Tiempo: 3, Distancia real: 180, Distancia estimada: 81 Diferencia: -99 Error total: 15246 Mejor W: 27 Mejor Error: 15246 .....:::::::::::::::::::::::..... ....:::: Para w=28 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 28 Diferencia: -32 Error total: 1024 Tiempo: 2, Distancia real: 120, Distancia estimada: 56 Diferencia: -64 Error total: 5120 Tiempo: 3, Distancia real: 180, Distancia estimada: 84 Diferencia: -96 Error total: 14336 Mejor W: 28 Mejor Error: 14336 .....:::::::::::::::::::::::..... ....:::: Para w=29 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 29 Diferencia: -31 Error total: 961 Tiempo: 2, Distancia real: 120, Distancia estimada: 58 Diferencia: -62 Error total: 4805 Tiempo: 3, Distancia real: 180, Distancia estimada: 87 Diferencia: -93 Error total: 13454 Mejor W: 29 Mejor Error: 13454 .....:::::::::::::::::::::::..... ....:::: Para w=30 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 30 Diferencia: -30 Error total: 900 Tiempo: 2, Distancia real: 120, Distancia estimada: 60 Diferencia: -60 Error total: 4500 Tiempo: 3, Distancia real: 180, Distancia estimada: 90 Diferencia: -90 Error total: 12600 Mejor W: 30 Mejor Error: 12600 .....:::::::::::::::::::::::..... ....:::: Para w=31 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 31 Diferencia: -29 Error total: 841 Tiempo: 2, Distancia real: 120, Distancia estimada: 62 Diferencia: -58 Error total: 4205 Tiempo: 3, Distancia real: 180, Distancia estimada: 93 Diferencia: -87 Error total: 11774 Mejor W: 31 Mejor Error: 11774 .....:::::::::::::::::::::::..... ....:::: Para w=32 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 32 Diferencia: -28 Error total: 784 Tiempo: 2, Distancia real: 120, Distancia estimada: 64 Diferencia: -56 Error total: 3920 Tiempo: 3, Distancia real: 180, Distancia estimada: 96 Diferencia: -84 Error total: 10976 Mejor W: 32 Mejor Error: 10976 .....:::::::::::::::::::::::..... ....:::: Para w=33 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 33 Diferencia: -27 Error total: 729 Tiempo: 2, Distancia real: 120, Distancia estimada: 66 Diferencia: -54 Error total: 3645 Tiempo: 3, Distancia real: 180, Distancia estimada: 99 Diferencia: -81 Error total: 10206 Mejor W: 33 Mejor Error: 10206 .....:::::::::::::::::::::::..... ....:::: Para w=34 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 34 Diferencia: -26 Error total: 676 Tiempo: 2, Distancia real: 120, Distancia estimada: 68 Diferencia: -52 Error total: 3380 Tiempo: 3, Distancia real: 180, Distancia estimada: 102 Diferencia: -78 Error total: 9464 Mejor W: 34 Mejor Error: 9464 .....:::::::::::::::::::::::..... ....:::: Para w=35 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 35 Diferencia: -25 Error total: 625 Tiempo: 2, Distancia real: 120, Distancia estimada: 70 Diferencia: -50 Error total: 3125 Tiempo: 3, Distancia real: 180, Distancia estimada: 105 Diferencia: -75 Error total: 8750 Mejor W: 35 Mejor Error: 8750 .....:::::::::::::::::::::::..... ....:::: Para w=36 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 36 Diferencia: -24 Error total: 576 Tiempo: 2, Distancia real: 120, Distancia estimada: 72 Diferencia: -48 Error total: 2880 Tiempo: 3, Distancia real: 180, Distancia estimada: 108 Diferencia: -72 Error total: 8064 Mejor W: 36 Mejor Error: 8064 .....:::::::::::::::::::::::..... ....:::: Para w=37 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 37 Diferencia: -23 Error total: 529 Tiempo: 2, Distancia real: 120, Distancia estimada: 74 Diferencia: -46 Error total: 2645 Tiempo: 3, Distancia real: 180, Distancia estimada: 111 Diferencia: -69 Error total: 7406 Mejor W: 37 Mejor Error: 7406 .....:::::::::::::::::::::::..... ....:::: Para w=38 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 38 Diferencia: -22 Error total: 484 Tiempo: 2, Distancia real: 120, Distancia estimada: 76 Diferencia: -44 Error total: 2420 Tiempo: 3, Distancia real: 180, Distancia estimada: 114 Diferencia: -66 Error total: 6776 Mejor W: 38 Mejor Error: 6776 .....:::::::::::::::::::::::..... ....:::: Para w=39 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 39 Diferencia: -21 Error total: 441 Tiempo: 2, Distancia real: 120, Distancia estimada: 78 Diferencia: -42 Error total: 2205 Tiempo: 3, Distancia real: 180, Distancia estimada: 117 Diferencia: -63 Error total: 6174 Mejor W: 39 Mejor Error: 6174 .....:::::::::::::::::::::::..... ....:::: Para w=40 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 40 Diferencia: -20 Error total: 400 Tiempo: 2, Distancia real: 120, Distancia estimada: 80 Diferencia: -40 Error total: 2000 Tiempo: 3, Distancia real: 180, Distancia estimada: 120 Diferencia: -60 Error total: 5600 Mejor W: 40 Mejor Error: 5600 .....:::::::::::::::::::::::..... ....:::: Para w=41 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 41 Diferencia: -19 Error total: 361 Tiempo: 2, Distancia real: 120, Distancia estimada: 82 Diferencia: -38 Error total: 1805 Tiempo: 3, Distancia real: 180, Distancia estimada: 123 Diferencia: -57 Error total: 5054 Mejor W: 41 Mejor Error: 5054 .....:::::::::::::::::::::::..... ....:::: Para w=42 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 42 Diferencia: -18 Error total: 324 Tiempo: 2, Distancia real: 120, Distancia estimada: 84 Diferencia: -36 Error total: 1620 Tiempo: 3, Distancia real: 180, Distancia estimada: 126 Diferencia: -54 Error total: 4536 Mejor W: 42 Mejor Error: 4536 .....:::::::::::::::::::::::..... ....:::: Para w=43 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 43 Diferencia: -17 Error total: 289 Tiempo: 2, Distancia real: 120, Distancia estimada: 86 Diferencia: -34 Error total: 1445 Tiempo: 3, Distancia real: 180, Distancia estimada: 129 Diferencia: -51 Error total: 4046 Mejor W: 43 Mejor Error: 4046 .....:::::::::::::::::::::::..... ....:::: Para w=44 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 44 Diferencia: -16 Error total: 256 Tiempo: 2, Distancia real: 120, Distancia estimada: 88 Diferencia: -32 Error total: 1280 Tiempo: 3, Distancia real: 180, Distancia estimada: 132 Diferencia: -48 Error total: 3584 Mejor W: 44 Mejor Error: 3584 .....:::::::::::::::::::::::..... ....:::: Para w=45 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 45 Diferencia: -15 Error total: 225 Tiempo: 2, Distancia real: 120, Distancia estimada: 90 Diferencia: -30 Error total: 1125 Tiempo: 3, Distancia real: 180, Distancia estimada: 135 Diferencia: -45 Error total: 3150 Mejor W: 45 Mejor Error: 3150 .....:::::::::::::::::::::::..... ....:::: Para w=46 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 46 Diferencia: -14 Error total: 196 Tiempo: 2, Distancia real: 120, Distancia estimada: 92 Diferencia: -28 Error total: 980 Tiempo: 3, Distancia real: 180, Distancia estimada: 138 Diferencia: -42 Error total: 2744 Mejor W: 46 Mejor Error: 2744 .....:::::::::::::::::::::::..... ....:::: Para w=47 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 47 Diferencia: -13 Error total: 169 Tiempo: 2, Distancia real: 120, Distancia estimada: 94 Diferencia: -26 Error total: 845 Tiempo: 3, Distancia real: 180, Distancia estimada: 141 Diferencia: -39 Error total: 2366 Mejor W: 47 Mejor Error: 2366 .....:::::::::::::::::::::::..... ....:::: Para w=48 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 48 Diferencia: -12 Error total: 144 Tiempo: 2, Distancia real: 120, Distancia estimada: 96 Diferencia: -24 Error total: 720 Tiempo: 3, Distancia real: 180, Distancia estimada: 144 Diferencia: -36 Error total: 2016 Mejor W: 48 Mejor Error: 2016 .....:::::::::::::::::::::::..... ....:::: Para w=49 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 49 Diferencia: -11 Error total: 121 Tiempo: 2, Distancia real: 120, Distancia estimada: 98 Diferencia: -22 Error total: 605 Tiempo: 3, Distancia real: 180, Distancia estimada: 147 Diferencia: -33 Error total: 1694 Mejor W: 49 Mejor Error: 1694 .....:::::::::::::::::::::::..... ....:::: Para w=50 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 50 Diferencia: -10 Error total: 100 Tiempo: 2, Distancia real: 120, Distancia estimada: 100 Diferencia: -20 Error total: 500 Tiempo: 3, Distancia real: 180, Distancia estimada: 150 Diferencia: -30 Error total: 1400 Mejor W: 50 Mejor Error: 1400 .....:::::::::::::::::::::::..... ....:::: Para w=51 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 51 Diferencia: -9 Error total: 81 Tiempo: 2, Distancia real: 120, Distancia estimada: 102 Diferencia: -18 Error total: 405 Tiempo: 3, Distancia real: 180, Distancia estimada: 153 Diferencia: -27 Error total: 1134 Mejor W: 51 Mejor Error: 1134 .....:::::::::::::::::::::::..... ....:::: Para w=52 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 52 Diferencia: -8 Error total: 64 Tiempo: 2, Distancia real: 120, Distancia estimada: 104 Diferencia: -16 Error total: 320 Tiempo: 3, Distancia real: 180, Distancia estimada: 156 Diferencia: -24 Error total: 896 Mejor W: 52 Mejor Error: 896 .....:::::::::::::::::::::::..... ....:::: Para w=53 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 53 Diferencia: -7 Error total: 49 Tiempo: 2, Distancia real: 120, Distancia estimada: 106 Diferencia: -14 Error total: 245 Tiempo: 3, Distancia real: 180, Distancia estimada: 159 Diferencia: -21 Error total: 686 Mejor W: 53 Mejor Error: 686 .....:::::::::::::::::::::::..... ....:::: Para w=54 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 54 Diferencia: -6 Error total: 36 Tiempo: 2, Distancia real: 120, Distancia estimada: 108 Diferencia: -12 Error total: 180 Tiempo: 3, Distancia real: 180, Distancia estimada: 162 Diferencia: -18 Error total: 504 Mejor W: 54 Mejor Error: 504 .....:::::::::::::::::::::::..... ....:::: Para w=55 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 55 Diferencia: -5 Error total: 25 Tiempo: 2, Distancia real: 120, Distancia estimada: 110 Diferencia: -10 Error total: 125 Tiempo: 3, Distancia real: 180, Distancia estimada: 165 Diferencia: -15 Error total: 350 Mejor W: 55 Mejor Error: 350 .....:::::::::::::::::::::::..... ....:::: Para w=56 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 56 Diferencia: -4 Error total: 16 Tiempo: 2, Distancia real: 120, Distancia estimada: 112 Diferencia: -8 Error total: 80 Tiempo: 3, Distancia real: 180, Distancia estimada: 168 Diferencia: -12 Error total: 224 Mejor W: 56 Mejor Error: 224 .....:::::::::::::::::::::::..... ....:::: Para w=57 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 57 Diferencia: -3 Error total: 9 Tiempo: 2, Distancia real: 120, Distancia estimada: 114 Diferencia: -6 Error total: 45 Tiempo: 3, Distancia real: 180, Distancia estimada: 171 Diferencia: -9 Error total: 126 Mejor W: 57 Mejor Error: 126 .....:::::::::::::::::::::::..... ....:::: Para w=58 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 58 Diferencia: -2 Error total: 4 Tiempo: 2, Distancia real: 120, Distancia estimada: 116 Diferencia: -4 Error total: 20 Tiempo: 3, Distancia real: 180, Distancia estimada: 174 Diferencia: -6 Error total: 56 Mejor W: 58 Mejor Error: 56 .....:::::::::::::::::::::::..... ....:::: Para w=59 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 59 Diferencia: -1 Error total: 1 Tiempo: 2, Distancia real: 120, Distancia estimada: 118 Diferencia: -2 Error total: 5 Tiempo: 3, Distancia real: 180, Distancia estimada: 177 Diferencia: -3 Error total: 14 Mejor W: 59 Mejor Error: 14 .....:::::::::::::::::::::::..... ....:::: Para w=60 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 60 Diferencia: 0 Error total: 0 Tiempo: 2, Distancia real: 120, Distancia estimada: 120 Diferencia: 0 Error total: 0 Tiempo: 3, Distancia real: 180, Distancia estimada: 180 Diferencia: 0 Error total: 0 Mejor W: 60 Mejor Error: 0 .....:::::::::::::::::::::::..... ....:::: Para w=61 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 61 Diferencia: 1 Error total: 1 Tiempo: 2, Distancia real: 120, Distancia estimada: 122 Diferencia: 2 Error total: 5 Tiempo: 3, Distancia real: 180, Distancia estimada: 183 Diferencia: 3 Error total: 14 .....:::::::::::::::::::::::..... ....:::: Para w=62 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 62 Diferencia: 2 Error total: 4 Tiempo: 2, Distancia real: 120, Distancia estimada: 124 Diferencia: 4 Error total: 20 Tiempo: 3, Distancia real: 180, Distancia estimada: 186 Diferencia: 6 Error total: 56 .....:::::::::::::::::::::::..... ....:::: Para w=63 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 63 Diferencia: 3 Error total: 9 Tiempo: 2, Distancia real: 120, Distancia estimada: 126 Diferencia: 6 Error total: 45 Tiempo: 3, Distancia real: 180, Distancia estimada: 189 Diferencia: 9 Error total: 126 .....:::::::::::::::::::::::..... ....:::: Para w=64 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 64 Diferencia: 4 Error total: 16 Tiempo: 2, Distancia real: 120, Distancia estimada: 128 Diferencia: 8 Error total: 80 Tiempo: 3, Distancia real: 180, Distancia estimada: 192 Diferencia: 12 Error total: 224 .....:::::::::::::::::::::::..... ....:::: Para w=65 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 65 Diferencia: 5 Error total: 25 Tiempo: 2, Distancia real: 120, Distancia estimada: 130 Diferencia: 10 Error total: 125 Tiempo: 3, Distancia real: 180, Distancia estimada: 195 Diferencia: 15 Error total: 350 .....:::::::::::::::::::::::..... ....:::: Para w=66 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 66 Diferencia: 6 Error total: 36 Tiempo: 2, Distancia real: 120, Distancia estimada: 132 Diferencia: 12 Error total: 180 Tiempo: 3, Distancia real: 180, Distancia estimada: 198 Diferencia: 18 Error total: 504 .....:::::::::::::::::::::::..... ....:::: Para w=67 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 67 Diferencia: 7 Error total: 49 Tiempo: 2, Distancia real: 120, Distancia estimada: 134 Diferencia: 14 Error total: 245 Tiempo: 3, Distancia real: 180, Distancia estimada: 201 Diferencia: 21 Error total: 686 .....:::::::::::::::::::::::..... ....:::: Para w=68 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 68 Diferencia: 8 Error total: 64 Tiempo: 2, Distancia real: 120, Distancia estimada: 136 Diferencia: 16 Error total: 320 Tiempo: 3, Distancia real: 180, Distancia estimada: 204 Diferencia: 24 Error total: 896 .....:::::::::::::::::::::::..... ....:::: Para w=69 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 69 Diferencia: 9 Error total: 81 Tiempo: 2, Distancia real: 120, Distancia estimada: 138 Diferencia: 18 Error total: 405 Tiempo: 3, Distancia real: 180, Distancia estimada: 207 Diferencia: 27 Error total: 1134 .....:::::::::::::::::::::::..... ....:::: Para w=70 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 70 Diferencia: 10 Error total: 100 Tiempo: 2, Distancia real: 120, Distancia estimada: 140 Diferencia: 20 Error total: 500 Tiempo: 3, Distancia real: 180, Distancia estimada: 210 Diferencia: 30 Error total: 1400 .....:::::::::::::::::::::::..... ....:::: Para w=71 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 71 Diferencia: 11 Error total: 121 Tiempo: 2, Distancia real: 120, Distancia estimada: 142 Diferencia: 22 Error total: 605 Tiempo: 3, Distancia real: 180, Distancia estimada: 213 Diferencia: 33 Error total: 1694 .....:::::::::::::::::::::::..... ....:::: Para w=72 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 72 Diferencia: 12 Error total: 144 Tiempo: 2, Distancia real: 120, Distancia estimada: 144 Diferencia: 24 Error total: 720 Tiempo: 3, Distancia real: 180, Distancia estimada: 216 Diferencia: 36 Error total: 2016 .....:::::::::::::::::::::::..... ....:::: Para w=73 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 73 Diferencia: 13 Error total: 169 Tiempo: 2, Distancia real: 120, Distancia estimada: 146 Diferencia: 26 Error total: 845 Tiempo: 3, Distancia real: 180, Distancia estimada: 219 Diferencia: 39 Error total: 2366 .....:::::::::::::::::::::::..... ....:::: Para w=74 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 74 Diferencia: 14 Error total: 196 Tiempo: 2, Distancia real: 120, Distancia estimada: 148 Diferencia: 28 Error total: 980 Tiempo: 3, Distancia real: 180, Distancia estimada: 222 Diferencia: 42 Error total: 2744 .....:::::::::::::::::::::::..... ....:::: Para w=75 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 75 Diferencia: 15 Error total: 225 Tiempo: 2, Distancia real: 120, Distancia estimada: 150 Diferencia: 30 Error total: 1125 Tiempo: 3, Distancia real: 180, Distancia estimada: 225 Diferencia: 45 Error total: 3150 .....:::::::::::::::::::::::..... ....:::: Para w=76 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 76 Diferencia: 16 Error total: 256 Tiempo: 2, Distancia real: 120, Distancia estimada: 152 Diferencia: 32 Error total: 1280 Tiempo: 3, Distancia real: 180, Distancia estimada: 228 Diferencia: 48 Error total: 3584 .....:::::::::::::::::::::::..... ....:::: Para w=77 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 77 Diferencia: 17 Error total: 289 Tiempo: 2, Distancia real: 120, Distancia estimada: 154 Diferencia: 34 Error total: 1445 Tiempo: 3, Distancia real: 180, Distancia estimada: 231 Diferencia: 51 Error total: 4046 .....:::::::::::::::::::::::..... ....:::: Para w=78 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 78 Diferencia: 18 Error total: 324 Tiempo: 2, Distancia real: 120, Distancia estimada: 156 Diferencia: 36 Error total: 1620 Tiempo: 3, Distancia real: 180, Distancia estimada: 234 Diferencia: 54 Error total: 4536 .....:::::::::::::::::::::::..... ....:::: Para w=79 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 79 Diferencia: 19 Error total: 361 Tiempo: 2, Distancia real: 120, Distancia estimada: 158 Diferencia: 38 Error total: 1805 Tiempo: 3, Distancia real: 180, Distancia estimada: 237 Diferencia: 57 Error total: 5054 .....:::::::::::::::::::::::..... ....:::: Para w=80 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 80 Diferencia: 20 Error total: 400 Tiempo: 2, Distancia real: 120, Distancia estimada: 160 Diferencia: 40 Error total: 2000 Tiempo: 3, Distancia real: 180, Distancia estimada: 240 Diferencia: 60 Error total: 5600 .....:::::::::::::::::::::::..... ....:::: Para w=81 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 81 Diferencia: 21 Error total: 441 Tiempo: 2, Distancia real: 120, Distancia estimada: 162 Diferencia: 42 Error total: 2205 Tiempo: 3, Distancia real: 180, Distancia estimada: 243 Diferencia: 63 Error total: 6174 .....:::::::::::::::::::::::..... ....:::: Para w=82 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 82 Diferencia: 22 Error total: 484 Tiempo: 2, Distancia real: 120, Distancia estimada: 164 Diferencia: 44 Error total: 2420 Tiempo: 3, Distancia real: 180, Distancia estimada: 246 Diferencia: 66 Error total: 6776 .....:::::::::::::::::::::::..... ....:::: Para w=83 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 83 Diferencia: 23 Error total: 529 Tiempo: 2, Distancia real: 120, Distancia estimada: 166 Diferencia: 46 Error total: 2645 Tiempo: 3, Distancia real: 180, Distancia estimada: 249 Diferencia: 69 Error total: 7406 .....:::::::::::::::::::::::..... ....:::: Para w=84 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 84 Diferencia: 24 Error total: 576 Tiempo: 2, Distancia real: 120, Distancia estimada: 168 Diferencia: 48 Error total: 2880 Tiempo: 3, Distancia real: 180, Distancia estimada: 252 Diferencia: 72 Error total: 8064 .....:::::::::::::::::::::::..... ....:::: Para w=85 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 85 Diferencia: 25 Error total: 625 Tiempo: 2, Distancia real: 120, Distancia estimada: 170 Diferencia: 50 Error total: 3125 Tiempo: 3, Distancia real: 180, Distancia estimada: 255 Diferencia: 75 Error total: 8750 .....:::::::::::::::::::::::..... ....:::: Para w=86 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 86 Diferencia: 26 Error total: 676 Tiempo: 2, Distancia real: 120, Distancia estimada: 172 Diferencia: 52 Error total: 3380 Tiempo: 3, Distancia real: 180, Distancia estimada: 258 Diferencia: 78 Error total: 9464 .....:::::::::::::::::::::::..... ....:::: Para w=87 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 87 Diferencia: 27 Error total: 729 Tiempo: 2, Distancia real: 120, Distancia estimada: 174 Diferencia: 54 Error total: 3645 Tiempo: 3, Distancia real: 180, Distancia estimada: 261 Diferencia: 81 Error total: 10206 .....:::::::::::::::::::::::..... ....:::: Para w=88 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 88 Diferencia: 28 Error total: 784 Tiempo: 2, Distancia real: 120, Distancia estimada: 176 Diferencia: 56 Error total: 3920 Tiempo: 3, Distancia real: 180, Distancia estimada: 264 Diferencia: 84 Error total: 10976 .....:::::::::::::::::::::::..... ....:::: Para w=89 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 89 Diferencia: 29 Error total: 841 Tiempo: 2, Distancia real: 120, Distancia estimada: 178 Diferencia: 58 Error total: 4205 Tiempo: 3, Distancia real: 180, Distancia estimada: 267 Diferencia: 87 Error total: 11774 .....:::::::::::::::::::::::..... ....:::: Para w=90 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 90 Diferencia: 30 Error total: 900 Tiempo: 2, Distancia real: 120, Distancia estimada: 180 Diferencia: 60 Error total: 4500 Tiempo: 3, Distancia real: 180, Distancia estimada: 270 Diferencia: 90 Error total: 12600 .....:::::::::::::::::::::::..... ....:::: Para w=91 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 91 Diferencia: 31 Error total: 961 Tiempo: 2, Distancia real: 120, Distancia estimada: 182 Diferencia: 62 Error total: 4805 Tiempo: 3, Distancia real: 180, Distancia estimada: 273 Diferencia: 93 Error total: 13454 .....:::::::::::::::::::::::..... ....:::: Para w=92 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 92 Diferencia: 32 Error total: 1024 Tiempo: 2, Distancia real: 120, Distancia estimada: 184 Diferencia: 64 Error total: 5120 Tiempo: 3, Distancia real: 180, Distancia estimada: 276 Diferencia: 96 Error total: 14336 .....:::::::::::::::::::::::..... ....:::: Para w=93 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 93 Diferencia: 33 Error total: 1089 Tiempo: 2, Distancia real: 120, Distancia estimada: 186 Diferencia: 66 Error total: 5445 Tiempo: 3, Distancia real: 180, Distancia estimada: 279 Diferencia: 99 Error total: 15246 .....:::::::::::::::::::::::..... ....:::: Para w=94 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 94 Diferencia: 34 Error total: 1156 Tiempo: 2, Distancia real: 120, Distancia estimada: 188 Diferencia: 68 Error total: 5780 Tiempo: 3, Distancia real: 180, Distancia estimada: 282 Diferencia: 102 Error total: 16184 .....:::::::::::::::::::::::..... ....:::: Para w=95 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 95 Diferencia: 35 Error total: 1225 Tiempo: 2, Distancia real: 120, Distancia estimada: 190 Diferencia: 70 Error total: 6125 Tiempo: 3, Distancia real: 180, Distancia estimada: 285 Diferencia: 105 Error total: 17150 .....:::::::::::::::::::::::..... ....:::: Para w=96 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 96 Diferencia: 36 Error total: 1296 Tiempo: 2, Distancia real: 120, Distancia estimada: 192 Diferencia: 72 Error total: 6480 Tiempo: 3, Distancia real: 180, Distancia estimada: 288 Diferencia: 108 Error total: 18144 .....:::::::::::::::::::::::..... ....:::: Para w=97 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 97 Diferencia: 37 Error total: 1369 Tiempo: 2, Distancia real: 120, Distancia estimada: 194 Diferencia: 74 Error total: 6845 Tiempo: 3, Distancia real: 180, Distancia estimada: 291 Diferencia: 111 Error total: 19166 .....:::::::::::::::::::::::..... ....:::: Para w=98 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 98 Diferencia: 38 Error total: 1444 Tiempo: 2, Distancia real: 120, Distancia estimada: 196 Diferencia: 76 Error total: 7220 Tiempo: 3, Distancia real: 180, Distancia estimada: 294 Diferencia: 114 Error total: 20216 .....:::::::::::::::::::::::..... ....:::: Para w=99 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 99 Diferencia: 39 Error total: 1521 Tiempo: 2, Distancia real: 120, Distancia estimada: 198 Diferencia: 78 Error total: 7605 Tiempo: 3, Distancia real: 180, Distancia estimada: 297 Diferencia: 117 Error total: 21294 .....:::::::::::::::::::::::..... ....:::: Para w=100 ::::.... Tiempo: 1, Distancia real: 60, Distancia estimada: 100 Diferencia: 40 Error total: 1600 Tiempo: 2, Distancia real: 120, Distancia estimada: 200 Diferencia: 80 Error total: 8000 Tiempo: 3, Distancia real: 180, Distancia estimada: 300 Diferencia: 120 Error total: 22400 .....:::::::::::::::::::::::..... ....:::: Fin de la iteración ::::.... Parámetro aprendido: 60 Estimación para 4 horas: 240
El resultado esperado es:
Parámetro aprendido: 60 Estimación para 4 horas: 240
Cómo funciona el código
Parámetro aprendido: 60 Estimación para 4 horas: 240
datos contiene las observaciones. Cada pareja representa un tiempo y su distancia correspondiente.
mejor_w = None indica que todavía no hemos seleccionado un parámetro.
float(«inf») representa infinito. Lo usamos como error inicial para que el primer candidato pueda sustituirlo.
El primer bucle prueba los candidatos. En Python, range(0, 101) incluye el 0 y llega hasta el 100: el límite final queda excluido.
El segundo bucle calcula las estimaciones para todas las observaciones.
Esta instrucción acumula los errores al cuadrado:
error_total += diferencia ** 2
** 2 significa elevar al cuadrado. Así, los errores positivos y negativos no se cancelan. Además, los errores grandes reciben una penalización mayor.
Finalmente, el programa conserva el candidato que obtiene el menor error.
La regla que utilizamos para medir el error es un ejemplo de función de pérdida.
Qué aprende y qué decidimos nosotros
El programa aprende el valor de w dentro de los candidatos que le permitimos probar.
Nosotros hemos decidido:
- Qué datos utilizar.
- La forma del modelo: distancia = w x tiempo.
- Qué valores candidatos explorar.
- Cómo medir el error.
Este ejemplo utiliza una búsqueda sencilla. Los modelos grandes requieren métodos de optimización más eficientes.
Además, obtener un ajuste perfecto no garantiza acertar en el futuro. Si el vehículo cambia de velocidad o se detiene, la estimación puede fallar.
Diferencia entre entrenamiento e inferencia
El entrenamiento y la inferencia son dos procesos distintos:
| Proceso | Qué hace | Ejemplo |
|---|---|---|
| Entrenamiento | Ajusta los parámetros a partir de datos. | Encontrar w = 60. |
| Inferencia | Utiliza el modelo ajustado para producir una salida. | Estimar la distancia para 4 horas. |
Una vez elegido el parámetro, podemos usarlo así:
w = 60
def estimar_distancia(tiempo):
return w * tiempo
print(estimar_distancia(4))
Esta función realiza una inferencia. No modifica el parámetro ni vuelve a entrenar el modelo.
Muchos sistemas mantienen sus parámetros fijos durante el uso. También existen métodos de aprendizaje continuo, pero requieren mecanismos específicos.
IA, machine learning, deep learning, IA generativa…
Estos términos están relacionados, pero no significan lo mismo:
🟥 1. Inteligencia Artificial (IA)
| Concepto | Definición |
| Aprendizaje por refuerzo |
Método donde un agente toma decisiones en un entorno para maximizar recompensas a través de prueba y error.
|
| Programación aumentada |
Uso de herramientas de IA para asistir a los desarrolladores en la escritura, optimización y corrección de código.
|
| Reconocimiento de voz |
Tecnología que procesa y traduce el habla humana en texto estructurado o comandos ejecutables por máquinas.
|
| Construcción de algoritmos |
Proceso de diseñar secuencias paso a paso de reglas lógicas para resolver problemas o procesar datos.
|
| Comportamiento emergente |
Respuestas o capacidades complejas que surgen imprevistamente de la interacción de reglas simples en un sistema.
|
| Ética en IA |
Conjunto de principios y normativas diseñados para garantizar un uso responsable, transparente y seguro de la IA.
|
🟧 2. Machine Learning (ML)
| Concepto | Definición |
| PCA (Análisis de Componentes Principales) |
Técnica para reducir la dimensionalidad de un conjunto de datos simplificando variables sin perder información clave.
|
| Regresión lineal |
Algoritmo que modela la relación entre una variable dependiente y una independiente trazando una línea recta de ajuste.
|
| Regresión logística |
Modelo estadístico utilizado para predecir la probabilidad de un resultado categórico o binario (ej. sí/no).
|
| K-Vecinos más cercanos (KNN) |
Algoritmo que asigna una categoría a un dato según la cercanía con sus «vecinos» más próximos.
|
| Aprendizaje no supervisado |
Enfoque de ML que analiza datos sin etiquetar para encontrar patrones o estructuras ocultas.
|
| K-Medias (K-Means) |
Algoritmo de agrupamiento (clustering) que divide los datos en $K$ grupos identificando sus centroides.
|
| Aprendizaje supervisado |
Enfoque donde el modelo se entrena utilizando datos de entrada previamente etiquetados con la respuesta correcta.
|
| Prueba de hipótesis |
Método estadístico que evalúa si hay suficiente evidencia empírica para respaldar una afirmación específica.
|
| Máquinas de vectores de soporte (SVM) |
Algoritmo de clasificación que busca el hiperplano óptimo para separar datos en diferentes categorías.
|
| Árboles de decisión |
Estructuras en forma de diagrama de flujo que toman decisiones dividiendo los datos en ramas según reglas simples.
|
🟩 3. Redes Neuronales (RN)
| Concepto | Definición |
| Feed Forward |
Red neuronal directa donde la información fluye únicamente en un sentido, desde la entrada hacia la salida.
|
| Perceptrón |
La unidad básica (neurona artificial) que toma entradas ponderadas para producir una salida mediante una función de activación.
|
| Retropropagación (Backpropagation) |
Algoritmo de entrenamiento que ajusta los pesos de las neuronas calculando el error desde la salida hacia atrás.
|
| Máquinas de estado líquido |
Tipo de red neuronal recurrente basada en «reservorios» que procesa datos temporales con dinámica de fluidos.
|
| Red de creencia profunda (DBN) |
Red generativa compuesta por múltiples capas de variables latentes no supervisadas para representar patrones complejos.
|
| Red de vectores de soporte |
Adaptación entre estructuras neuronales y clasificadores SVM para optimizar márgenes de decisión.
|
| Máquina de Boltzmann |
Red neuronal estocástica con conexiones bidireccionales capaz de aprender distribuciones de probabilidad.
|
| Red de Hopfield |
Red neuronal recurrente autoasociativa que actúa como un sistema de memoria direccionable por contenido.
|
🟦 4. Deep Learning (DL)
| Concepto | Definición |
| Épocas |
Número total de pasadas completas que realiza el algoritmo de entrenamiento sobre todo el conjunto de datos.
|
| CNN (Redes Convolucionales) |
Arquitecturas especializadas en el procesamiento de datos con estructura de cuadrícula, como imágenes y video.
|
| RNN (Redes Recurrentes) |
Redes diseñadas para procesar secuencias de datos (texto o audio) reteniendo información en ciclos de memoria.
|
| Transformers |
Arquitectura basada en mecanismos de atención (self-attention) que procesa secuencias completas en paralelo.
|
| Aprendizaje por refuerzo profundo |
Combinación de redes profundas con aprendizaje por refuerzo para tomar decisiones en entornos complejos.
|
| LSTM (Memoria Corto-Largo Plazo) |
Tipo de RNN capaz de aprender dependencias a largo plazo superando la pérdida de gradiente.
|
| Autocodificadores (Autoencoders) |
Redes diseñadas para comprimir la entrada en un código latente y luego reconstruir la salida.
|
| GPT |
Modelo de lenguaje autorregresivo basado en Transformers preentrenado con grandes volúmenes de texto.
|
| BERT |
Modelo bidireccional mediante Transformers que analiza el contexto previo y posterior de cada palabra.
|
⬜ 5. IA Generativa
| Concepto | Definición |
| Aprendizaje N-Shot |
Capacidad de un modelo para realizar tareas tras ver solo unos pocos ejemplos de referencia (few-shot).
|
| Modelos fundacionales |
Grandes modelos entrenados con volúmenes masivos de datos capaces de adaptarse a múltiples tareas secundarias.
|
| QLoRA |
Técnica eficiente de ajuste fino (fine-tuning) que cuantiza el modelo para reducir el uso de memoria.
|
| IA multimodal |
Sistemas entrenados para procesar y combinar simultáneamente diferentes tipos de datos (texto, imágenes, audio).
|
| BigGAN |
Modelo de Red Generativa Antagónica a gran escala capaz de sintetizar imágenes de alta resolución.
|
| Agentes |
Sistemas autónomos impulsados por IA que pueden planificar, razonar y ejecutar acciones para cumplir objetivos.
|
| ZSL (Zero-Shot Learning) |
Capacidad del modelo para clasificar o resolver tareas sin haber visto ningún ejemplo previo durante el entrenamiento.
|
| RLHF |
Aprendizaje por refuerzo con retroalimentación humana para ajustar los modelos según la preferencia humana.
|
| OSL (One-Shot Learning) |
Clasificación o generación de contenido a partir de un único ejemplo proporcionado.
|
| GANs (Redes Antagónicas) |
Par de redes (generador y discriminador) que compiten para crear datos sintéticos hiperrealistas.
|
| Grandes modelos de lenguaje (LLMs) |
Modelos de aprendizaje profundo con miles de millones de parámetros entrenados para comprender y generar lenguaje.
|
| Aprendizaje por transferencia |
Reutilización de un modelo preentrenado en una tarea general para adaptarlo a un problema específico.
|
Los sistemas generativos modernos suelen utilizar aprendizaje profundo. Sin embargo, una red neuronal también puede clasificar imágenes o estimar cantidades sin generar contenido.
Errores frecuentes al empezar con inteligencia artificial
Pensar que más datos siempre solucionan el problema
También importan su calidad, diversidad y relación con la tarea. Muchos datos incorrectos pueden producir un modelo poco útil.
Confundir un buen entrenamiento con un buen modelo
Un modelo puede memorizar los ejemplos de entrenamiento y fallar con otros nuevos. Esta dificultad está relacionada con el sobreajuste, que estudiaremos en profundidad.
Confundir una relación con una causa
Que dos variables cambien juntas no demuestra que una provoque la otra.
Creer que los modelos sustituyen la programación
Los sistemas de IA necesitan código para preparar datos, entrenar modelos, evaluar resultados e integrarlos en aplicaciones.
Dar por correcta una respuesta convincente
Una respuesta puede estar bien redactada y contener errores. La evaluación depende de la tarea y de evidencias comprobables.
Ejercicios de autoevaluación
Antes de leer las soluciones, intenta responder:
- Una tienda aplica una tarifa de envío escrita manualmente. ¿Necesita aprendizaje automático?
- Un sistema ajusta sus parámetros utilizando correos etiquetados. ¿Está entrenando o realizando inferencia?
- El sistema clasifica un correo nuevo sin modificar sus parámetros. ¿Qué proceso realiza?
- En el ejemplo del vehículo, ¿qué aprende el programa?
- Si un modelo acierta todos sus ejemplos de entrenamiento, ¿qué falta comprobar?
Soluciones explicadas
1. No lo necesita. Si las condiciones están definidas, pueden implementarse directamente mediante reglas.
2. Está entrenando. Utiliza ejemplos para ajustar sus parámetros.
3. Realiza inferencia. Aplica el modelo ya ajustado a una entrada nueva.
4. Aprende el valor del parámetro w. La forma de la fórmula y el procedimiento para medir el error los hemos elegido nosotros.
5. Falta evaluar su generalización. Debemos comprobar su funcionamiento con datos que no haya utilizado para ajustarse.
Preguntas frecuentes sobre inteligencia artificial
¿Toda automatización es inteligencia artificial?
No. Una tarea puede automatizarse mediante instrucciones fijas sin utilizar técnicas que normalmente se consideran IA.
¿Es necesario saber matemáticas para aprender IA?
Puedes empezar comprendiendo las ideas y los ejemplos. Para profundizar necesitarás álgebra, probabilidad, estadística y cálculo, que se introducirán progresivamente en el curso.
¿Un modelo aprende cada vez que lo utilizamos?
No necesariamente. Muchos modelos generan resultados sin modificar sus parámetros. Guardar información o utilizar el contexto de una conversación tampoco equivale, por sí solo, a entrenarlos.
¿Por qué empezamos con un ejemplo tan sencillo?
Porque permite identificar las piezas que después aparecerán en sistemas más complejos: datos, modelo, parámetros, pérdida, entrenamiento y predicción.
Próxima lección del curso
En la lección 0.2 — Las piezas de un sistema de aprendizaje: datos, modelo, objetivo y evaluación veremos cómo se relacionan estos componentes y cómo definir un problema antes de elegir una técnica de inteligencia artificial.

