Temporal Difference (TD)

"Belajar Memprediksi Sebelum Hasil Akhir Keluar"

1. Monte Carlo vs TD Learning

Bayangkan Anda ingin memprediksi cuaca hari Jumat. Hari ini Senin.

Monte Carlo (MC)

Anda menunggu sampai hari Jumat benar-benar datang. Baru Anda update prediksi Senin Anda.

Harus sampai episode selesai. Hasil akurat tapi lama.
Temporal Difference (TD)

Hari Selasa hujan. Anda langsung update prediksi Senin Anda: "Wah, ternyata Selasa hujan, berarti kemaren prediksi Senin saya salah".

Update setiap langkah. Cepat, tapi agak bias.

2. Bootstrapping: Guess from a Guess


Senin
TD Update

Selasa
TD Update

Rabu

Kamis
Monte Carlo Update (Tunggu Selesai)

Bootstrapping adalah istilah keren untuk TD Learning. Artinya: Kita mengupdate taksiran kita (Value $V(S_t)$) berdasarkan taksiran kita sendiri di masa depan ($V(S_{t+1})$).
"Saya belum tau nilai ujian akhir, tapi nilai kuis 1 saya bagus, jadi saya update prediksi nilai akhir saya naik."

3. Rumus TD(0)

$$ V(S_t) \leftarrow V(S_t) + \alpha [ \underbrace{R_{t+1} + \gamma V(S_{t+1})}_{\text{TD Target}} - V(S_t) ] $$
Komponen Artinya
$R_{t+1} + \gamma V(S_{t+1})$ Kenyataan baru (Reward barusan + Estimasi sisa perjalanan).
$V(S_t)$ Estimasi lama kita.
Selisih $[\dots]$ TD Error ($\delta$). Seberapa "kaget" kita dengan hasil langkah ini.

4. Keluarga Besar TD

TD Learning adalah Konsep Dasar (Fondasi). Anak-anaknya yang terkenal:

  • Q-Learning: TD Control (Off-policy). Menggunakan $Q(S,A)$ bukan $V(S)$.
  • SARSA: TD Control (On-policy).
  • TD($\lambda$): Gabungan antara TD dan Monte Carlo (melihat $n$-langkah ke depan, bukan cuma 1).