Pembelajaran Penguatan: Sebuah Pengantar
Replikasi Python untuk buku Reinforcement Learning: An Introduction karya Sutton & Barto (Edisi ke-2)
Jika Anda memiliki kebingungan tentang kode atau ingin melaporkan bug, silakan buka terbitan daripada mengirim email langsung kepada saya, dan sayangnya saya tidak memiliki jawaban latihan untuk buku tersebut.
Isi
Bab 1
- Tic-Tac-Toe
Bab 2
- Gambar 2.1: Contoh masalah bandit dari testbed berlengan 10
- Gambar 2.2: Performa rata-rata metode nilai tindakan epsilon-greedy pada testbed 10-armed
- Gambar 2.3: Perkiraan nilai tindakan awal yang optimis
- Gambar 2.4: Kinerja rata-rata seleksi tindakan UCB pada testbed 10-bersenjata
- Gambar 2.5: Performa rata-rata algoritma bandit gradien
- Gambar 2.6: Studi parameter dari berbagai algoritma bandit
Bab 3
- Gambar 3.2: Contoh grid dengan kebijakan acak
- Gambar 3.5: Solusi optimal pada contoh gridworld
Bab 4
- Gambar 4.1: Konvergensi evaluasi kebijakan berulang pada jaringan listrik kecil
- Gambar 4.2: Masalah sewa mobil Jack
- Gambar 4.3: Solusi terhadap permasalahan penjudi
Bab 5
- Gambar 5.1: Perkiraan fungsi nilai negara untuk kebijakan blackjack
- Gambar 5.2: Kebijakan optimal dan fungsi nilai negara untuk blackjack ditemukan oleh Monte Carlo ES
- Gambar 5.3: Pengambilan sampel dengan bobot kepentingan
- Gambar 5.4: Pengambilan sampel kepentingan biasa dengan perkiraan yang sangat tidak stabil
Bab 6
- Contoh 6.2: Jalan acak
- Gambar 6.2: Pembaruan batch
- Gambar 6.3: Sarsa diterapkan pada dunia jaringan berangin
- Gambar 6.4: Tugas berjalan di tebing
- Gambar 6.6: Kinerja metode pengendalian TD sementara dan tanpa gejala
- Gambar 6.7: Perbandingan Q-learning dan Double Q-learning
Bab 7
- Gambar 7.2: Performa metode TD n-langkah pada jalan acak 19 keadaan
Bab 8
- Gambar 8.2: Kurva pembelajaran rata-rata untuk agen Dyna-Q yang bervariasi dalam jumlah langkah perencanaannya
- Gambar 8.4: Kinerja rata-rata agen Dyna dalam tugas pemblokiran
- Gambar 8.5: Kinerja rata-rata agen Dyna pada tugas pintasan
- Contoh 8.4: Penyapuan yang diprioritaskan secara signifikan mempersingkat waktu pembelajaran pada tugas labirin Dyna
- Gambar 8.7: Perbandingan efisiensi pembaruan yang diharapkan dan pembaruan sampel
- Gambar 8.8: Efisiensi relatif dari distribusi pembaruan yang berbeda
Bab 9
- Gambar 9.1: Algoritma Gradient Monte Carlo pada tugas random walk 1000 negara
- Gambar 9.2: Algoritma TD n-langkah semi-gradien pada tugas jalan acak 1000 keadaan
- Gambar 9.5: Basis Fourier vs polinomial pada tugas random walk 1000 negara bagian
- Gambar 9.8: Contoh pengaruh lebar fitur pada generalisasi awal dan akurasi asimtotik
- Gambar 9.10: Satu ubin dan beberapa ubin pada tugas jalan acak 1000 negara bagian
Bab 10
- Gambar 10.1: Fungsi cost-to-go untuk tugas Mountain Car dalam satu kali pengoperasian
- Gambar 10.2: Kurva pembelajaran Sarsa semi-gradien pada tugas Mountain Car
- Gambar 10.3: Kinerja Sarsa semi-gradien satu langkah vs multi-langkah pada tugas Mountain Car
- Gambar 10.4: Pengaruh alfa dan n pada kinerja awal Sarsa semi-gradien n-langkah
- Gambar 10.5: Sarsa semi-gradien diferensial pada tugas antrian kontrol akses
Bab 11
- Gambar 11.2: Contoh Tandingan Baird
- Gambar 11.6: Perilaku algoritma TDC pada contoh tandingan Baird
- Gambar 11.7: Perilaku algoritma ETD dalam ekspektasi contoh tandingan Baird
Bab 12
- Gambar 12.3: Algoritma pengembalian λ offline pada jalan acak 19 keadaan
- Gambar 12.6: Algoritma TD(λ) pada 19-state random walk
- Gambar 12.8: Algoritma TD(λ) online sebenarnya pada 19-state random walk
- Gambar 12.10: Sarsa(λ) dengan penggantian jejak pada Mountain Car
- Gambar 12.11: Ringkasan perbandingan algoritma Sarsa(λ) pada Mountain Car
Bab 13
- Contoh 13.1: Koridor pendek dengan tindakan yang dialihkan
- Gambar 13.1: MEMPERKUAT dunia jaringan listrik koridor pendek
- Gambar 13.2: PERKUAT dengan garis dasar dunia jaringan listrik koridor pendek
Lingkungan
- ular piton 3.6
- numpy
- matplotlib
- yg keturunan dr laut
- tqdm
Penggunaan
Semua file mandiri
python any_file_you_want.py
Kontribusi
Jika Anda ingin menyumbangkan beberapa contoh yang hilang atau memperbaiki beberapa bug, silakan membuka masalah atau membuat permintaan penarikan.