Python'da Q-Tablosu uygulama
Q-öğrenmeye basit bir örnek
Python'da Q-Tablosu uygulama, CoddyKit'te ücretsiz bir Python Academy 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, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy 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 ortamında yol almayı öğ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 ortamı 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ıyoruz:
- α (Öğrenme Oranı): Yeni bilgilerin eski bilgilerin ne kadarının yerini alacağını belirler.
- γ (İskonto Katsayısı): Gelecekteki ödüllerin, anlık ödüllere göre ağırlığını 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ğerlendiriyoruz:
# 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 üzere 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 avantajlar sunar:
- Basittir ve uygulanması kolaydır.
- Olasılıksal ortamlarda çalışabilir.
- 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 ortamlara iyi ölçeklenemez.
- 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 ajanı Q-Tablosu kullanarak ızgara ortamında yol alacak şekilde eğittik.
- Öğrenilen politikayı değerlendirdik ve Q-Tablosunu görselleştirdik.
Sırada, büyük durum-eylem uzaylarına sahip ortamlarla başa çıkmak için sinir ağları kullanan Derin Q-Öğrenmesini inceleyeceğiz.

Sıkça Sorulan Sorular
“Python'da Q-Tablosu uygulama” dersi ücretsiz mi?
Evet — “Python'da Q-Tablosu 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 Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 5 dersten oluşur.
“Python'da Q-Tablosu uygulama” dersinde ne öğreneceğim?
Q-öğrenmeye basit bir örnek Python Academy 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.
Python Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Python Academy, 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-Tablosu 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 Python Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Python Academy 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-Tablosu kavramı
- Python'da Q-Tablosu uygulama
- Derin Q-öğrenme
- OpenAI Gym'i keşfetme