Makine Öğrenmesi
Policy
Policy, ajanın duruma göre eylem seçme stratejisidir.
Politika
Politika (π), ajanın davranış kuralıdır: her durumda hangi eylemi seçeceğini söyler.
- Deterministik: π(s) = a, ör. bir tablo.
- Stokastik: π(a | s) bir olasılık dağılımıdır; politika-gradyan yöntemleri bunu öğrenir.
politika = np.array([SAG, SAG, SAG, SAG, SAG]) # tablo: durum -> eylem
eylem = politika[durum]
RL'nin amacı, beklenen toplam ödülü en büyük yapan politikayı bulmaktır: π* = argmax_π E[G].
ε-açgözlü politika
Keşfi sağlamanın en yaygın yolu ε-açgözlü politikadır: ε olasılıkla rastgele eylem, aksi hâlde en iyi bilinen eylem seçilir. Eğitim ilerledikçe ε genellikle azaltılır:
def eps_acgozlu(Q, durum, eps):
if rng.random() < eps:
return int(rng.integers(Q.shape[1]))
return int(np.argmax(Q[durum]))
2 eylemde ε = 0.2 ise en iyi eylem 0.8 + 0.2/2 = 0.9 olasılıkla seçilir; çünkü rastgele seçim de bazen en iyi eylemi bulur.
Uygulama ε-açgözlü seçim
eps_acgozlu(Q, durum, eps) fonksiyonunu yaz. Verilen Q tablosunda durum 0 için ε = 0, 0.2 ve 1.0 ile 10 000 seçim yap; en iyi eylemin seçilme oranını round(..., 2) ile aynı satırda yazdır. Ardından Q tablosundan açgözlü politikayı (her durumun argmax'ı) yazdır.
Örnek çözümü göster
import numpy as np
rng = np.random.default_rng(0)
Q = np.array([[0.1, 0.5], [0.3, 0.6], [0.7, 0.2], [0.0, 0.9]])
def eps_acgozlu(Q, durum, eps):
if rng.random() < eps:
return int(rng.integers(Q.shape[1]))
return int(np.argmax(Q[durum]))
oranlar = []
for eps in [0, 0.2, 1.0]:
secim = [eps_acgozlu(Q, 0, eps) for _ in range(10_000)]
oranlar.append(round(np.mean(np.array(secim) == 1), 2))
print(*oranlar)
print(Q.argmax(axis=1))
Kendini test et
-
Keşif ve sömürü (exploration–exploitation) ikilemi nedir?
- Eğitim ve test verisi ayrımı
- Öğrenme oranı seçimi
- Ödülü normalleştirme
- Bilinen en iyi eylemi seçmek ile yenilerini denemek arasındaki denge
Cevabı göster
Bilinen en iyi eylemi seçmek ile yenilerini denemek arasındaki denge — Hep bilineni seçen ajan daha iyisini hiç keşfedemez.
-
En iyi bilinen eylemi seç.
return int(np.____(Q[durum]))
Cevabı göster
return int(np.argmax(Q[durum]))
-
Eşleştir.
- π(s) = a
- Deterministik politika
- π(a | s)
- Stokastik politika
- ε
- Keşif olasılığı
- argmax Q
- Sömürü
Sıradaki ders: Reward