Anda di halaman 1dari 6

Anggota 1.

Rahayu Sulistya (201931097)


2. Nelly Yulia (201931100)
Mata Kuliah Machinelearning (F)

Algoritma Q-Learning

Sebelum kita menjelaskan Algoritma Q Learning, kita harus terlebih dahulu mempelajari
beberapa dasar-dasar Reinforcement Learning (RL).
Pengertian Reinforcement Learning
Reinforcement Learning ini melibatkan agen, satu set status {\displaystyle S}S, dan satu set
{\displaystyle A}A tindakan per status. Dengan melakukan aksi {\displaystyle a\in A}a\in A,
agen bertransisi dari satu status ke status lainnya. Mengeksekusi suatu tindakan dalam keadaan
tertentu memberi agen hadiah (skor numerik). Tujuan agen adalah untuk memaksimalkan total
hadiahnya. Ini dilakukan dengan menambahkan hadiah maksimum yang dapat dicapai dari
keadaan masa depan ke hadiah untuk mencapai keadaan saat ini, secara efektif mempengaruhi
tindakan saat ini dengan potensi hadiah di masa depan.

Imbalan potensial ini adalah jumlah tertimbang dari nilai yang diharapkan dari imbalan semua
langkah di masa depan mulai dari keadaan saat ini. Sebagai contoh, perhatikan proses naik
kereta, di mana imbalan diukur dengan negatif dari total waktu yang dihabiskan untuk naik
(sebagai alternatif, biaya naik kereta sama dengan waktu naik). Salah satu strategi adalah
memasuki pintu kereta segera setelah dibuka, meminimalkan waktu tunggu awal untuk diri
sendiri. Namun, jika kereta penuh sesak, maka Anda akan memiliki jalan masuk yang lambat
setelah tindakan awal memasuki pintu karena orang-orang melawan Anda untuk meninggalkan
kereta saat Anda mencoba untuk naik. Total waktu boarding, atau biaya, adalah :
• Waktu tunggu 0 detik + waktu pertarungan 15 detik
Pada hari berikutnya, secara kebetulan (eksplorasi), Anda memutuskan untuk menunggu dan
membiarkan orang lain pergi terlebih dahulu. Ini awalnya menghasilkan waktu tunggu yang
lebih lama. Namun, waktu bertarung penumpang lain lebih sedikit.
Secara keseluruhan, jalur ini memiliki hadiah yang lebih tinggi daripada hari sebelumnya,
karena total waktu naik sekarang :
• Waktu tunggu 5 detik + waktu pertarungan 0 detik
Melalui eksplorasi, meskipun tindakan awal (sabar) menghasilkan biaya yang lebih besar (atau
imbalan negatif) daripada strategi yang kuat, biaya keseluruhan lebih rendah, sehingga
mengungkapkan strategi yang lebih bermanfaat. Biasanya Reinforcement adalah ilmu
membuat keputusan yang optimal menggunakan pengalaman. Memecahnya, proses
Pembelajaran Penguatan melibatkan langkah-langkah sederhana ini :
1. Pengamatan lingkungan
2. Memutuskan bagaimana bertindak menggunakan beberapa strategi
3. Bertindak sesuai
4. Menerima hadiah atau penalti
5. Belajar dari pengalaman dan menyempurnakan strategi kami
6. Ulangi sampai strategi optimal ditemukan

Pengertian Algoritma Q-Learning


Algoritma Q-learning merupakan algoritma pembelajaran penguatan model-bebas untuk
mempelajari nilai suatu tindakan dalam keadaan tertentu.

Algoritma Q-learning secara lengkap dalam bentuk prosedural. Proses pembelajaran Q-


learning diawali dengan menginisialisasi nilai action-value functionQ(S,A) dan proses
perulangan pemilihan aksi A serta nilai action-value function diperbaharui sampai kondisi
pembelajaran yang digunakan terpenuhi.Didalam algoritma ini tidak memerlukan model
lingkungan karenanya "bebas model", dan dapat menangani masalah dengan transisi stokastik
dan penghargaan tanpa memerlukan adaptasi. Dalam algoritma Q-Learning, tujuannya adalah
untuk mempelajari secara iteratif fungsi nilai-Q optimal menggunakan Persamaan Optimalitas
Bellman. Untuk melakukannya, kami menyimpan semua nilai-Q dalam tabel yang akan kami
perbarui pada setiap langkah menggunakan iterasi Q-Learning :
Pada setiap proses keputusan Markov yang terbatas (FMDP), Q-learning menemukan
kebijakan yang optimal dalam arti memaksimalkan nilai yang diharapkan dari total hadiah atas
setiap dan semua langkah berturut-turut, mulai dari keadaan saat ini.[1] Q-learning dapat
mengidentifikasi kebijakan pemilihan tindakan yang optimal untuk FMDP tertentu, dengan
waktu eksplorasi tak terbatas dan kebijakan sebagian-acak.[1] "Q" mengacu pada fungsi yang
dihitung oleh algoritme – imbalan yang diharapkan untuk tindakan yang diambil dalam
keadaan tertentu.

Fungsi Q
Fungsi-Q menggunakan persamaan Bellman dan mengambil dua input: keadaan (s) dan aksi
(a).

Dengan menggunakan fungsi di atas, kita mendapatkan nilai Q untuk sel dalam tabel. Saat kita
mulai, semua nilai dalam tabel-Q adalah nol. Ada proses berulang untuk memperbarui nilai.
Saat kita mulai menjelajahi lingkungan, fungsi-Q memberi kita perkiraan yang lebih baik dan
lebih baik dengan terus memperbarui nilai-Q dalam tabel. Sekarang, mari kita pahami
bagaimana pembaruan terjadi.

Implementasi Q-Learning
Pertama, mengimpor perpustakaan yang dibutuhkan. Numpy untuk mengakses dan
memperbarui Q-table dan gym untuk menggunakan lingkungan Frozen Lake.
Kemudian, buat instance lingkungan kami dan mendapatkan ukurannya.

Lalu kita perlu membuat dan menginisialisasi tabel-Q ke 0.

Selanjutnya kita mendefinisikan berbagai parameter dan hyperparameter

Untuk mengevaluasi pelatihan agen, kami akan menyimpan total hadiah yang dia dapatkan dari
lingkungan setelah setiap episode dalam daftar yang akan kami gunakan setelah pelatihan
selesai.
Sekarang mari kita lihat ke loop utama di mana semua proses akan terjadi

Mari baca semua komentar untuk mengikuti algoritma. Setelah agen telah dilatih, kita akan
menguji kinerjanya menggunakan daftar hadiah per episode. Kami akan melakukannya dengan
mengevaluasi penampilannya setiap 1000 episode.

Hasil : performa agen pada awalnya sangat buruk tetapi dia meningkatkan efisiensinya melalui
pelatihan. Algoritma Q-learning adalah cara yang sangat efisien bagi agen untuk mempelajari
bagaimana lingkungan bekerja. Jika tidak, dalam kasus di mana ruang keadaan, ruang tindakan
atau keduanya kontinu, tidak mungkin untuk menyimpan semua nilai-Q karena akan
membutuhkan sejumlah besar memori. Agen juga akan membutuhkan lebih banyak episode
untuk belajar tentang lingkungan.
Sebagai solusinya, kita dapat menggunakan Deep Neural Network (DNN) untuk
memperkirakan fungsi Q-Value karena DNN dikenal dengan efisiensinya untuk
memperkirakan fungsi. Kami berbicara tentang Deep Q-Networks dan ini akan menjadi topik
posting saya berikutnya.

Anda mungkin juga menyukai