0Pricing
Python Academy · Lección

Implementación de la tabla Q en Python

Un ejemplo sencillo de aprendizaje Q

Implementación de la tabla Q en Python es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 3 de 5. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 5 lecciones en total.

Implementación de Q-Learning en Python

Implementación de Q-Learning en Python

En esta lección, implementaremos un algoritmo sencillo de Q-Learning en Python. El agente aprenderá a desplazarse por un mundo cuadriculado para maximizar sus recompensas.

Implementación de la tabla Q en Python — ilustración 1

Definición del entorno

Definición del entorno

Definimos un mundo cuadriculado sencillo de 4×4 en el que el agente comienza en la esquina superior izquierda y debe llegar a la esquina inferior derecha para recibir una recompensa.

import numpy as np

# Define the environment
num_states = 16  # 4x4 grid
num_actions = 4  # Up, Down, Left, Right

# Define rewards (-1 for each step, +10 for the goal)
rewards = np.zeros(num_states)
rewards[-1] = 10

Inicialización de la tabla Q

Inicialización de la tabla Q

La tabla Q se inicializa con ceros para todos los pares estado-acción.

# Initialize the Q-Table
q_table = np.zeros((num_states, num_actions))

print("Initial Q-Table:")
print(q_table)

Implementación del algoritmo de Q-Learning

Implementación del algoritmo de Q-Learning

Utilizamos los siguientes parámetros:

  • α (tasa de aprendizaje): Controla cuánto reemplaza la información nueva a la antigua.
  • γ (factor de descuento): Pondera las recompensas futuras en relación con las recompensas inmediatas.
  • ε (tasa de exploración): Equilibra la exploración y la explotación.
# Parameters
alpha = 0.1  # Learning rate
gamma = 0.9  # Discount factor
epsilon = 0.1  # Exploration rate

# Q-Learning loop
num_episodes = 1000
for episode in range(num_episodes):
    state = 0  # Start at the first state
    done = False
    while not done:
        # Exploration or exploitation
        if np.random.rand() < epsilon:
            action = np.random.randint(num_actions)  # Explore
        else:
            action = np.argmax(q_table[state])  # Exploit

        # Transition to the next state
        next_state = (state + action) % num_states  # Simplified transition logic
        reward = rewards[next_state]

        # Update Q-value
        q_table[state, action] = q_table[state, action] + alpha * (
            reward + gamma * np.max(q_table[next_state]) - q_table[state, action]
        )

        # Move to the next state
        state = next_state
        done = state == num_states - 1

Evaluación de la política aprendida

Evaluación de la política aprendida

Después del entrenamiento, evaluamos la política siguiendo las acciones óptimas almacenadas en la tabla Q:

# Evaluate the policy
state = 0
optimal_path = [state]
while state != num_states - 1:
    action = np.argmax(q_table[state])
    state = (state + action) % num_states  # Simplified transition logic
    optimal_path.append(state)

print("Optimal Path:", optimal_path)

Visualización de la tabla Q

Visualización de la tabla Q

Podemos visualizar la tabla Q para comprender los valores aprendidos para cada par estado-acción:

import matplotlib.pyplot as plt
import seaborn as sns

# Visualize Q-Table
plt.figure(figsize=(10, 8))
sns.heatmap(q_table, annot=True, fmt=".2f", cmap="coolwarm")
plt.title("Q-Table Heatmap")
plt.xlabel("Actions")
plt.ylabel("States")
plt.show()

Ventajas de Q-Learning

Ventajas de Q-Learning

Q-Learning ofrece varias ventajas:

  • Es sencillo y fácil de implementar.
  • Puede gestionar entornos estocásticos.
  • Converge a la política óptima con suficiente exploración.

Limitaciones de Q-Learning

Limitaciones de Q-Learning

Q-Learning tiene algunas limitaciones:

  • No escala bien a entornos con grandes espacios de estados y acciones.
  • El aprendizaje puede ser lento en entornos complejos.
  • Requiere una representación bien definida de estados y acciones.

Resumen y próximos pasos

Resumen y próximos pasos

En esta lección:

  • Implementamos un algoritmo sencillo de Q-Learning en Python.
  • Entrenamos un agente para desplazarse por un mundo cuadriculado mediante una tabla Q.
  • Evaluamos la política aprendida y visualizamos la tabla Q.

A continuación, exploraremos Deep Q-Learning, que utiliza redes neuronales para gestionar entornos con grandes espacios de estados y acciones.

Implementación de la tabla Q en Python — ilustración 10

Preguntas frecuentes

¿La lección «Implementación de la tabla Q en Python» es gratis?

Sí — el texto completo de «Implementación de la tabla Q en Python» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 5 lecciones en total.

¿Qué aprenderé en «Implementación de la tabla Q en Python»?

Un ejemplo sencillo de aprendizaje Q Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Python Academy?

No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 5.

¿Cuánto tiempo toma la lección «Implementación de la tabla Q en Python»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Python Academy?

Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Conceptos básicos del aprendizaje por refuerzo
  2. Concepto de tabla Q
  3. Implementación de la tabla Q en Python
  4. Aprendizaje Q profundo
  5. Exploración de OpenAI Gym
← Volver a Python Academy