# Q 值过估计与 Double DQN：max 运算的偏差可视化

> 来源：https://dqn.cn/tools/overestimation ｜ 作者：DQN.CN 编辑部 ｜ 发布：2026-11-01 ｜ 更新：2026-11-01 ｜ 许可：CC BY-NC-SA 4.0（文字）/ MIT（代码）

> （此处为交互工具，请在网页中使用：https://dqn.cn/tools/overestimation）

## 为什么会高估

设每个动作的估计 $\hat Q(a) = Q(a) + \epsilon_a$，噪声零均值。虽然每个估计都无偏，但

$$
\mathbb{E}\big[\max_a \hat Q(a)\big] \ \ge\ \max_a \mathbb{E}\big[\hat Q(a)\big] = \max_a Q(a)
$$

（Jensen 不等式，max 是凸函数）。直观地说，max 会“挑中”恰好被噪声抬高的那个动作。DQN 的目标 $r + \gamma \max_{a'} Q_{\bar\theta}(s', a')$ 每一步都带着这个正偏差，再通过自举一层层传播放大。

**双估计器**：用一套估计选动作，用另一套独立的估计评估它：$\hat Q_B(\arg\max_a \hat Q_A(a))$。由于 $\hat Q_B$ 的噪声与“选择”无关，期望不再偏高。Double DQN 用在线网络选动作、目标网络评估：

$$
y = r + \gamma\, Q_{\bar\theta}\big(s', \arg\max_{a'} Q_\theta(s', a')\big)
$$

## 可以试试

- K = 10、σ = 1、所有动作真实值都为 0：单估计器的平均值约为 +1.5，而真实最大值是 0；双估计器的平均值约为 0。
- 把 K 调到 1：不存在“挑选”，两者都无偏。偏差随 K 增长（大约按 $\sigma\sqrt{2\ln K}$）。
- 让动作 0 真实地好一些（例如 +1）：单估计器的偏差变小，双估计器会出现轻微低估——它偶尔选错动作。

## 相关教程

- [DQN 改进](https://dqn.cn/advanced/dqn-improvements)
- [TD3](https://dqn.cn/advanced/td3)
- [全部交互工具](https://dqn.cn/tools/)
