0Pricing
Learn AI with Python · Lektion

Q-Tabelle in Python implementieren

Ein einfaches Beispiel für Q-Learning

Q-Tabelle in Python implementieren ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 3 von 5. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 5 Lektionen.

Implementieren von Q-Learning in Python

Implementieren von Q-Learning in Python

In dieser Lektion implementieren wir einen einfachen Q-Learning-Algorithmus in Python. Der Agent lernt, sich durch eine Gitterwelt zu bewegen, um seine Belohnungen zu maximieren.

Q-Tabelle in Python implementieren — Illustration 1

Definieren der Umgebung

Definieren der Umgebung

Wir definieren eine einfache 4×4-Gitterwelt, in der der Agent in der oberen linken Ecke startet und die untere rechte Ecke erreichen muss, um eine Belohnung zu erhalten.

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

Initialisieren der Q-Tabelle

Initialisieren der Q-Tabelle

Die Q-Tabelle wird für alle Zustands-Aktions-Paare mit Nullen initialisiert.

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

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

Implementieren des Q-Learning-Algorithmus

Implementieren des Q-Learning-Algorithmus

Wir verwenden die folgenden Parameter:

  • α (Lernrate): Steuert, wie stark neue Informationen alte überschreiben.
  • γ (Diskontfaktor): Gewichtet zukünftige Belohnungen im Verhältnis zu unmittelbaren Belohnungen.
  • ε (Explorationsrate): Gleicht Exploration und Exploitation aus.
# 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

Bewerten der erlernten Policy

Bewerten der erlernten Policy

Nach dem Training bewerten wir die Policy, indem wir den optimalen, in der Q-Tabelle gespeicherten Aktionen folgen:

# 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)

Visualisieren der Q-Tabelle

Visualisieren der Q-Tabelle

Wir können die Q-Tabelle visualisieren, um die erlernten Werte für jedes Zustands-Aktions-Paar zu verstehen:

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()

Vorteile von Q-Learning

Vorteile von Q-Learning

Q-Learning bietet mehrere Vorteile:

  • Einfach und leicht zu implementieren.
  • Kann mit stochastischen Umgebungen umgehen.
  • Konvergiert bei ausreichender Exploration zur optimalen Policy.

Einschränkungen von Q-Learning

Einschränkungen von Q-Learning

Q-Learning hat einige Einschränkungen:

  • Skaliert nicht gut auf Umgebungen mit großen Zustands-Aktions-Räumen.
  • Das Lernen kann in komplexen Umgebungen langsam sein.
  • Erfordert eine klar definierte Darstellung von Zuständen und Aktionen.

Zusammenfassung und nächste Schritte

Zusammenfassung und nächste Schritte

In dieser Lektion haben wir:

  • Einen einfachen Q-Learning-Algorithmus in Python implementiert.
  • Einen Agenten mithilfe einer Q-Tabelle darauf trainiert, sich in einer Gitterwelt zu bewegen.
  • Die erlernte Policy bewertet und die Q-Tabelle visualisiert.

Als Nächstes sehen wir uns Deep Q-Learning an, das neuronale Netze verwendet, um Umgebungen mit großen Zustands-Aktions-Räumen zu verarbeiten.

Q-Tabelle in Python implementieren — Illustration 10

Häufig gestellte Fragen

Ist die Lektion „Q-Tabelle in Python implementieren“ kostenlos?

Ja — der vollständige Text von „Q-Tabelle in Python implementieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 5 Lektionen.

Was lerne ich in „Q-Tabelle in Python implementieren“?

Ein einfaches Beispiel für Q-Learning Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 5.

Wie lange dauert die Lektion „Q-Tabelle in Python implementieren“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Grundlegende Konzepte des bestärkenden Lernens
  2. Das Q-Table-Konzept
  3. Q-Tabelle in Python implementieren
  4. Deep Q-Learning
  5. OpenAI Gym erkunden
← Zurück zu Learn AI with Python