Python'da Q-Table Uygulama
Q-öğrenmeye basit bir örnek.
Python'da Q-Table Uygulama, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 5 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 5 dersten oluşur.
Python'da Q-Öğrenmesi Uygulama
Python'da Q-Öğrenmesi Uygulama
Bu derste Python'da basit bir Q-Öğrenmesi algoritması uygulayacağız. Ajan, ödüllerini en üst düzeye çıkarmak için bir ızgara dünyasında gezinmeyi öğrenecek.

Ortamı Tanımlama
Ortamı Tanımlama
Ajanın sol üst köşeden başladığı ve ödül almak için sağ alt köşeye ulaşması gereken basit bir 4×4 ızgara dünyası tanımlıyoruz.
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] = 10Q-Tablosunu Başlatma
Q-Tablosunu Başlatma
Q-Tablosu, tüm durum-eylem çiftleri için zeros ile başlatılır.
# Initialize the Q-Table
q_table = np.zeros((num_states, num_actions))
print("Initial Q-Table:")
print(q_table)Q-Öğrenmesi Algoritmasını Uygulama
Q-Öğrenmesi Algoritmasını Uygulama
Aşağıdaki parametreleri kullanırız:
- α (Öğrenme Oranı): Yeni bilgilerin eski bilgilerin yerini ne ölçüde alacağını kontrol eder.
- γ (İskonto Katsayısı): Gelecekteki ödüllere, anlık ödüllere kıyasla ne kadar ağırlık verileceğini belirler.
- ε (Keşif Oranı): Keşif ile yararlanma arasındaki dengeyi sağlar.
# 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Öğrenilen Politikayı Değerlendirme
Öğrenilen Politikayı Değerlendirme
Eğitimden sonra, Q-Tablosunda saklanan en iyi eylemleri izleyerek politikayı değerlendiririz:
# 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)Q-Tablosunu Görselleştirme
Q-Tablosunu Görselleştirme
Her durum-eylem çifti için öğrenilen değerleri anlamak amacıyla Q-Tablosunu görselleştirebiliriz:
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()Q-Öğrenmesinin Avantajları
Q-Öğrenmesinin Avantajları
Q-Öğrenmesi çeşitli faydalar sunar:
- Basittir ve uygulanması kolaydır.
- Olasılıksal ortamlarla başa çıkabilir.
- Yeterli keşif yapıldığında en iyi politikaya yakınsar.
Q-Öğrenmesinin Sınırlamaları
Q-Öğrenmesinin Sınırlamaları
Q-Öğrenmesinin bazı sınırlamaları vardır:
- Büyük durum-eylem uzaylarına sahip ortamlarda iyi ölçeklenmez.
- Karmaşık ortamlarda öğrenme yavaş olabilir.
- İyi tanımlanmış bir durum-eylem gösterimi gerektirir.
Özet ve Sonraki Adımlar
Özet ve Sonraki Adımlar
Bu derste:
- Python'da basit bir Q-Öğrenmesi algoritması uyguladık.
- Bir aracıyı, Q-Tablosu kullanarak ızgara dünyasında hareket edecek şekilde eğittik.
- Öğrenilen politikayı değerlendirdik ve Q-Tablosunu görselleştirdik.
Sonraki derste, büyük durum-eylem uzaylarına sahip ortamlarla başa çıkmak için sinir ağlarını kullanan Derin Q-Öğrenmesini inceleyeceğiz.

Sıkça Sorulan Sorular
“Python'da Q-Table Uygulama” dersi ücretsiz mi?
Evet — “Python'da Q-Table Uygulama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 5 dersten oluşur.
“Python'da Q-Table Uygulama” dersinde ne öğreneceğim?
Q-öğrenmeye basit bir örnek. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 5 dersinin 3. dersidir.
“Python'da Q-Table Uygulama” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Pekiştirmeli Öğrenmenin Temel Kavramları
- Q-Table Kavramı
- Python'da Q-Table Uygulama
- Derin Q-Öğrenme
- OpenAI Gym'i Keşfetme