Langsung ke konten utama

Definisi Reinforcement Learning dan Penerapannya

Seperti yang telah dibahas sebelumnya, terdapat 3 jenis algoritma machine learning, yaitu Supervised Learning, Unsupervised Learning, dan Reinforecement Learning. Kita telah membahas tentang perbedaan Supervised dan Unsupervised Learning sebelumnya. Sekarang, kita akan membahas tentang apa itu Reinforecement Learning?

Reinforecement Learning cukup berbeda dengan algoritma sebelumnya. Algoritma ini dimaksudkan untuk dapat membuat komputer belajar sendiri dari lingkungan (environment). Jadi komputer akan melakuka pencarian sendiri (self-discovery) melalui interaksi dengan lingkungan.

Mungkin kalian sering menjumpai berbagai dokumentasi yang menyebutkan bahwa reinforecement learning tidak memerlukan data set. Pernyataan ini tidak sepenuhnya benar. Setiap algoritma machine learning memerlukan input untuk dipelajari selama proses training. Namun jenis inputnya bisa berbeda-beda. Selama proses training, komputer dituntun oleh algoritma untuk melakukan kegiatan trial dan error. Mirip seperti anak kecil belajar.

Setiap kali percobaan trial dan error dilakukan akan ada feedback untuk komputer. Feedback dari aksi (action) sebelumnya digunakan sebagai panduan sekaligus peta (guide and mapping) untuk melakukan aksi selanjutnya. Proses berjalan secara mengulang-ulang mengikuti skema berikut :
Ilustrasi Reinforcement Learning

Algoritma reinforcement learning akan mencoba berbagai opsi dan kemungkinan yang berbeda, melakukan pengamatan (observation) dan evaluasi (evaluation) setiap pencapaian. Reinforcement learning dapat belajar dari pengalaman (experience).

Saat ini, reinforcement learning banyak dimanfaatkan pada berbagai mesin game (permainan) , seperti: Atari, Sega, Nintendo, PS, Xbox, game-game untuk komputer, mobile device, dan sebagainya. Beberapa algoritma yang termasuk kategori reinforcement learning antara lain :
  • Q-Learning
  • State-Action-Reward-State-Action (SARSA)
  • Deep Q Network (DQN)
  • Deep Deterministic Policy Gradient (DDPG)
  • Actor-Critic
  • Monte Carlo Tree Search (MCTS)
  • Dan sebagainya.
Algoritma Machine Learning (versi IBM)
Kiranya dapat dibedakan antara algoritma dan pemrograman. Algoritma berbicara tentang tahapan-tahapan atau langkah-langkah penyelesaian suatu masalah. Sedangkan pemrograman merupakan implementasi dari algoritma ke dalam bentuk baris-baris program.

Sebagian pakar machine learning yang lain membagi algoritma machine learning dengan cara yang berbeda. Perbedaan ini disebabkan perbedaan cara pandang masing-masing orang. Berikut disajikan diagram yang menggambarkan pembagian algoritma machine learning.

Kita juga harus memaklumi bahwa diagram di atas tidak dapat mewakili semua hal. Masih cukup banyak yang belum bisa dijelaskan oleh diagram tersebut. Jika saat ini kamu belum memahami perbedaan ketiga jenis algoritma machine learning maka Anda tidak perlu merasa khawatir. Ketiganya akan dibahas secara lebih detail bab tentang algoritma machine learning.

Postingan populer dari blog ini

Data Crawling dan Scraping - Pengertian, Tools, dan Studi Kasus

PENGERTIAN Crawling Web Crawler adalah suatu program atau script otomat yang relatif simple, yang dengan metode tertentu melakukan scan atau “crawl” ke semua halaman-halaman internet untuk membuat index dari data yang dicarinya. Nama lain untuk web crawl adalah web spider, web robot, bot, crawl dan automatic indexer. Proses crawling dalam suatu website dimulai dari mendata seluruh url dari website, menelusurinya satu-persatu, kemudian memasukkannya dalam daftar halaman pada indeks search engine, sehingga setiap kali ada perubahan pada website, akan terupdate secara otomatis. Web crawler dirancang secara algoritmik untuk mencapai kedalaman maksimum halaman dan merayapnya secara iteratif, menggali setiap data yang ada di internet seperti seperti : meta data, keyword, dan lain sebagainya. Kemudian web crawler atau si (spider man) ini akan meng index seluruh data kita ke dalam data base search engine. Sampai pada akhirnya halaman website akan ditampilkan di SERP (search engine rage...

Scraping Data Twitter Menggunakan Tweepy Python

Alat dan Bahan yang dibutuhkan : 1. Api Key Twitter 2. Jupyter notebook 3. Library Tweepy Disini saya menggunakan Anaconda ( https://www.anaconda.com/products/individual ) kalian juga bisa menggunakan teks editor seperti VSCode dengan membuat file berekstensi .ipynb. Untuk cara yang lebih jelas kalian bisa cek dokumentasinya saja. Langkah-Langkah : 1. Buka jupyter notebook 2. Klik New, lalu pilih Python 3 3. Install Library Tweepy jika belum punya, tulis saja pip install tweepy kemudian Run (Ctrl+Enter). Karena saya sudah menginstallnya, maka tampilannya seperti di bawah 4. Import library yang dibutuhkan seperti yang di bawah ini import tweepy from tweepy.streaming import StreamListener from tweepy import OAuthHandler from tweepy import Stream import time import json 5. Buatlah beberapa variabel untuk menyimpan API Token Twitter, kalian bisa copy paste script di bawah dan isikan variabel sesuai dengan API Key milik kalian. access_token = "<your access token...

Cara Mendaftar Akun Developer Twitter

Kali ini saya akan berbagi tutorial untuk membuat akun developer twitter. Jika kalian membutuhkan api key dari twitter untuk membuat aplikasi atau keperluan penelitian, maka terlebih dahulu kalian harus mengajukan permohonan pembuatan akun developer  1. Kunjungi https://developer.twitter.com/ 2. Kemudian login dengan akun Twitter kamu 3. Setelah itu, klik menu Apply yang ada di pojok kanan atas 4. Pilih Apply for Developer Account 5. Selanjutnya, kamu akan diminta untuk mengisi beberapa hal semacam survey gitu, isikan saja sesuai keinginan kalian, kemudian klik Next 6. Kemudian kamu perlu memastikan akun yang ingin kamu gunakan, di sini kamu bisa beralih akun, membuat akun baru, atau mengganti email yang ingin kamu gunakan pada aplikasi ini. Selanjutnya di bagian bawah ada beberapa field yang perlu kamu isi, seperti negara dan nama aplikasi yang ingin kita buat, selanjutnya klik Next 7. Setelah itu ada beberapa pertanyaan yang perlu kamu jawab mengguna...