Reinforcement Learning

Apa itu Reinforcement Learning?
Reinforcement Learning (RL) adalah salah satu pendekatan dalam Machine Learning di mana agen (agent) belajar berinteraksi dengan lingkungan (environment) melalui trial and error. Agen tidak diberi label data seperti supervised learning, melainkan feedback berupa reward (hadiah) atau punishment (hukuman).
Tujuan agen adalah memaksimalkan total reward jangka panjang dengan memilih aksi terbaik di setiap keadaan.
Contoh sederhana:
- Robot belajar berjalan tanpa jatuh.
- AI belajar main game catur atau Go.
- Sistem rekomendasi belajar menampilkan iklan yang paling relevan.
Konsep Dasar dalam Reinforcement Learning
RL dapat dijelaskan dengan 4 komponen utama:
- Agent
Entitas yang membuat keputusan (misalnya robot, AI pemain game). - Environment
Dunia tempat agent berinteraksi (misalnya papan catur, game, dunia nyata). - State (S)
Kondisi saat ini dari lingkungan.
Contoh: posisi pion dalam catur, lokasi robot di ruangan. - Action (A)
Tindakan yang bisa dilakukan agent.
Contoh: bergerak ke kiri, melompat, menggeser pion. - Reward (R)
Feedback dari environment.- Reward positif → aksi yang baik
- Reward negatif → aksi yang buruk
Proses ini biasanya digambarkan dalam loop Markov Decision Process (MDP).
Cara Kerja Reinforcement Learning
- Agent mengamati state saat ini.
- Agent memilih action berdasarkan policy (strategi).
- Environment merespon dengan state baru dan reward.
- Agent memperbarui policy berdasarkan reward yang diterima.
- Ulangi hingga agent mencapai performa optimal.
Pendekatan dalam Reinforcement Learning
1. Value-Based Methods
Menggunakan fungsi nilai untuk memperkirakan seberapa baik suatu state atau action.
- Contoh: Q-Learning
- Rumus update:

2. Policy-Based Methods
Langsung mempelajari policy (strategi memilih aksi) tanpa menghitung fungsi nilai.
- Contoh: REINFORCE Algorithm
3. Actor-Critic Methods
Gabungan value-based dan policy-based.
- Actor → memilih aksi
- Critic → menilai kualitas aksi tersebut
Contoh Implementasi Sederhana (Python)
Menggunakan Gymnasium (OpenAI Gym) untuk lingkungan RL.
import gym
import numpy as np
# Buat environment
env = gym.make("CartPole-v1")
# Q-learning setup
q_table = np.zeros([env.observation_space.shape[0], env.action_space.n])
alpha = 0.1 # learning rate
gamma = 0.9 # discount factor
epsilon = 0.1 # exploration rate
# Episode training
for episode in range(1000):
state, _ = env.reset()
done = False
while not done:
if np.random.rand() < epsilon:
action = env.action_space.sample() # explore
else:
action = np.argmax(q_table[state]) # exploit
new_state, reward, done, _, _ = env.step(action)
# Update Q-value
q_table[state, action] = q_table[state, action] + alpha * (
reward + gamma * np.max(q_table[new_state]) - q_table[state, action]
)
state = new_state
Dalam contoh ini, agen belajar menjaga tiang (pole) tetap seimbang di atas kereta (cart).
Aplikasi Reinforcement Learning di Dunia Nyata
- Game AI: AlphaGo (DeepMind) mengalahkan juara dunia Go.
- Robotika: robot belajar berjalan, menyeimbangkan diri, atau memegang benda.
- Finansial: algoritma trading belajar strategi investasi.
- Healthcare: personalisasi pengobatan berdasarkan kondisi pasien.
- Sistem Rekomendasi: menyesuaikan iklan/rekomendasi berdasarkan interaksi pengguna.
Tantangan dalam Reinforcement Learning
- Eksplorasi vs Eksploitasi: menyeimbangkan antara mencoba aksi baru atau memakai strategi lama.
- Sample Efficiency: butuh data banyak untuk belajar.
- Stabilitas Training: algoritma sering sulit konvergen.
- Kompleksitas Lingkungan: semakin kompleks environment, semakin sulit dilatih.
Penutup
Reinforcement Learning adalah pendekatan yang sangat kuat dalam Machine Learning karena memungkinkan agen belajar dari pengalaman tanpa label data. Meski lebih sulit daripada supervised atau unsupervised learning, RL sudah terbukti mampu menghasilkan terobosan besar di bidang game, robotika, hingga sistem rekomendasi.
Memahami dasar RL akan membuka jalan ke Deep Reinforcement Learning, di mana neural networks digunakan untuk menangani lingkungan yang kompleks.