Q-Learning 是一种强化学习算法,通过不断试错来学习如何最大化长期奖励。以下是一些关于 Q-Learning 的基本概念和教程。

基本概念

  • 状态(State):环境中的某个特定情况。
  • 动作(Action):从当前状态可以采取的某种行动。
  • 奖励(Reward):执行动作后,系统获得的即时奖励。
  • 策略(Policy):决策函数,决定在特定状态下采取哪个动作。
  • 价值函数(Value Function):预测在特定状态下采取某个动作的期望奖励。

教程资源

  1. Q-Learning 简介
  2. Q-Learning 算法详解
  3. Python 实现 Q-Learning

实例

假设我们有一个简单的环境,其中有两个状态:状态 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 示意图