Q-Learning 是一种强化学习算法,通过不断试错来学习如何最大化长期奖励。以下是一些关于 Q-Learning 的基本概念和教程。
基本概念
- 状态(State):环境中的某个特定情况。
- 动作(Action):从当前状态可以采取的某种行动。
- 奖励(Reward):执行动作后,系统获得的即时奖励。
- 策略(Policy):决策函数,决定在特定状态下采取哪个动作。
- 价值函数(Value Function):预测在特定状态下采取某个动作的期望奖励。
教程资源
实例
假设我们有一个简单的环境,其中有两个状态:状态 A 和状态 B。从状态 A 可以采取两个动作:动作 1 和动作 2。从状态 B 可以采取一个动作:动作 3。
# Q-Learning 算法伪代码
# 初始化 Q-table
Q_table = ...
# 迭代
for episode in range(num_episodes):
state = ...
while not done:
action = choose_action(state, Q_table)
next_state, reward = step(state, action)
Q_table[state][action] = Q_table[state][action] + alpha * (reward + gamma * max(Q_table[next_state]) - Q_table[state][action])
state = next_state
图片
Q-Learning 示意图