0Pricing
Python Academy · Pelajaran

Menerapkan Tabel-Q dalam Python

Contoh sederhana pembelajaran-Q

Menerapkan Tabel-Q dalam Python adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 5. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 5 pelajaran total.

Mengimplementasikan Pembelajaran-Q dalam Python

Mengimplementasikan Pembelajaran-Q dalam Python

Dalam pelajaran ini, kita akan mengimplementasikan algoritme Pembelajaran-Q sederhana dalam Python. Agen akan belajar menavigasi dunia kisi untuk memaksimalkan imbalannya.

Menerapkan Tabel-Q dalam Python — ilustrasi 1

Mendefinisikan Lingkungan

Mendefinisikan Lingkungan

Kita mendefinisikan dunia kisi 4×4 sederhana, tempat agen mulai dari sudut kiri atas dan harus mencapai sudut kanan bawah untuk menerima imbalan.

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

Menginisialisasi Tabel-Q

Menginisialisasi Tabel-Q

Tabel-Q diinisialisasi dengan zeros untuk semua pasangan keadaan-aksi.

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

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

Mengimplementasikan Algoritme Pembelajaran-Q

Mengimplementasikan Algoritme Pembelajaran-Q

Kita menggunakan parameter berikut:

  • α (Laju Pembelajaran): Mengatur seberapa besar informasi baru menggantikan informasi lama.
  • γ (Faktor Diskonto): Memberi bobot pada imbalan masa depan relatif terhadap imbalan langsung.
  • ε (Laju Eksplorasi): Menyeimbangkan eksplorasi dan eksploitasi.
# 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

Mengevaluasi Kebijakan yang Dipelajari

Mengevaluasi Kebijakan yang Dipelajari

Setelah pelatihan, kita mengevaluasi kebijakan dengan mengikuti aksi optimal yang tersimpan dalam Tabel-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)

Memvisualisasikan Tabel-Q

Memvisualisasikan Tabel-Q

Kita dapat memvisualisasikan Tabel-Q untuk memahami nilai yang dipelajari untuk setiap pasangan keadaan-aksi:

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

Kelebihan Pembelajaran-Q

Kelebihan Pembelajaran-Q

Pembelajaran-Q menawarkan beberapa manfaat:

  • Sederhana dan mudah diimplementasikan.
  • Dapat menangani lingkungan stokastik.
  • Berkonvergensi ke kebijakan optimal dengan eksplorasi yang memadai.

Keterbatasan Pembelajaran-Q

Keterbatasan Pembelajaran-Q

Pembelajaran-Q memiliki beberapa keterbatasan:

  • Tidak dapat diskalakan dengan baik untuk lingkungan yang memiliki ruang keadaan-aksi besar.
  • Proses pembelajaran dapat berjalan lambat dalam lingkungan yang kompleks.
  • Memerlukan representasi keadaan-aksi yang terdefinisi dengan baik.

Ringkasan dan Langkah Berikutnya

Ringkasan dan Langkah Berikutnya

Dalam pelajaran ini, kita:

  • Mengimplementasikan algoritme Pembelajaran-Q sederhana dalam Python.
  • Melatih agen untuk menavigasi dunia kisi menggunakan Tabel-Q.
  • Mengevaluasi kebijakan yang dipelajari dan memvisualisasikan Tabel-Q.

Selanjutnya, kita akan menjelajahi Pembelajaran-Q Mendalam, yang menggunakan jaringan saraf untuk menangani lingkungan dengan ruang keadaan-aksi yang besar.

Menerapkan Tabel-Q dalam Python — ilustrasi 10

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Menerapkan Tabel-Q dalam Python” gratis?

Ya — teks lengkap “Menerapkan Tabel-Q dalam Python” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 5 pelajaran total.

Apa yang akan aku pelajari di “Menerapkan Tabel-Q dalam Python”?

Contoh sederhana pembelajaran-Q Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 5.

Berapa lama pelajaran “Menerapkan Tabel-Q dalam Python” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Konsep Dasar Pembelajaran Penguatan
  2. Konsep Tabel-Q
  3. Menerapkan Tabel-Q dalam Python
  4. Pembelajaran-Q Mendalam
  5. Menjelajahi OpenAI Gym
← Kembali ke Python Academy