Q-learning explicado: cómo una máquina aprende a jugar
Sin datos etiquetados, sin saber las reglas. Solo prueba, error y recompensa. Cómo un agente aprende a equilibrar un palo con Q-learning, explicado de cero.
El aprendizaje supervisado necesita ejemplos etiquetados: esto es un gato, esto no. El aprendizaje por refuerzo no tiene nada de eso. Tiene un agente, un entorno y una sola señal: recompensa. Y aun así aprende a jugar, a caminar o a manejar. Q-learning es la puerta de entrada para entender cómo.
El problema: equilibrar un palo
El ejemplo clásico es CartPole: un carro que se mueve a izquierda o derecha con un palo parado encima. El objetivo es que el palo no se caiga. El agente no sabe nada de física. Solo recibe:
- Un estado (posición y velocidad del carro y el palo).
- Dos acciones posibles (mover izquierda o derecha).
- Una recompensa de +1 por cada instante que el palo sigue parado.
Esto se formaliza como un Markov Decision Process (MDP): estados, acciones, transiciones y recompensas.
La idea central: la tabla Q
Q-learning aprende una función Q(estado, acción) que estima cuánta recompensa total esperar si, estando en ese estado, tomo esa acción. Si conozco esos valores, mi política es trivial: en cada estado, elegir la acción con la Q más alta.
La pregunta es cómo aprender esos valores sin conocer las reglas del entorno. La respuesta es la regla de actualización:
Nota relacionada
Reward hacking: agentes que hacen trampa para ganar puntos
Le pedís al agente que gane la carrera y termina girando en círculos para farmear puntos. La trampa no es un bug: es exactamente lo que le pediste.
Leer nota# Tras tomar la acción a en el estado s, observo recompensa r y nuevo estado s'
mejor_futuro = max(Q[s_next]) # lo mejor que puedo hacer desde s'
objetivo = r + gamma * mejor_futuro # recompensa ahora + futuro descontado
Q[s][a] = Q[s][a] + alpha * (objetivo - Q[s][a])
Dos hiperparámetros mandan:
alpha(tasa de aprendizaje): cuánto pesa cada nueva experiencia.gamma(descuento): cuánto importa el futuro frente a la recompensa inmediata. Cerca de 1, el agente piensa a largo plazo.
Explorar vs. explotar
Si el agente siempre elige la mejor acción conocida, nunca descubre algo mejor. Si siempre prueba al azar, nunca aprovecha lo aprendido. El balance se resuelve con epsilon-greedy:
import random
if random.random() < epsilon:
accion = entorno.accion_aleatoria() # explorar
else:
accion = argmax(Q[estado]) # explotar
epsilon arranca alto (mucha exploración) y baja con el tiempo, a medida que el agente confía más en lo que sabe.
Por qué importa más allá del juego
CartPole es un juguete, pero la estructura —estado, acción, recompensa diferida— aparece en problemas reales: pricing dinámico, asignación de recursos, recomendación secuencial, control. Entender Q-learning es entender el esqueleto sobre el que se montan los métodos modernos (Deep Q-Networks, policy gradients): los mismos conceptos, con una red neuronal estimando la Q cuando los estados son demasiados para una tabla.
La intuición clave que conviene llevarse: el agente no aprende de respuestas correctas, sino de consecuencias. Y eso, bien planteado, alcanza.
Seguí explorando
Más en Data & Machine Learning
21 jun 2026
El cuarteto de Anscombe: cuatro datasets idénticos en los números, opuestos en el gráfico
Leer20 jun 2026
El Datasaurio: doce datasets con la misma estadística que esconden un dinosaurio
Leer19 jun 2026
La paradoja de Simpson: cuando una tendencia se da vuelta al juntar los datos
Leer18 jun 2026
Lo que los valores faltantes te están gritando
LeerTambién te puede interesar
17 jun 2026
Correlaciones espurias: el queso, las sábanas y los doctorados
Leer16 jun 2026
La paradoja del cumpleaños: con 23 personas, apostá a que dos cumplen el mismo día
Leer15 jun 2026
La ley de Benford: por qué el 1 aparece más y cómo atrapa fraudes
Leer14 jun 2026
Monty Hall: por qué cambiar de puerta duplica tus chances
Leer