核心内容
- 掌握多臂老虎机这个无状态决策问题,理解探索与利用的基本矛盾。
- 学会用期望回报比较随机、已知最优、先试后定等策略。
- 理解策略为什么是 RL 的核心:同一个环境里,选择动作的规则不同,长期回报会完全不同。
前两章你跑通了 CartPole 和 DPO,但你有没有想过一个更基本的问题:智能体怎么知道”哪个动作更好”? 如果连”两个选项选哪个”都回答不了,面对 CartPole 里连续变化的状态就更无从下手了。
RL 有两个区别于其他学习方式的核心特征:试错搜索(trial-and-error)——没有人告诉你正确答案,你得自己去试;延迟奖励(delayed reward)——当前的动作可能要等很多步之后才能看到效果 1。这两个特征交织在一起,构成了 RL 的基本挑战。
其中,试错搜索引出了一个在监督学习中根本不存在的难题:探索与利用(Exploration vs. Exploitation)。想象你走进一家赌场,面前只有两台老虎机,你有 100 枚硬币,不知道哪台更容易中奖——只能亲手去试。每试一次少一枚硬币,继续试不确定的那台,还是锁定目前看起来更好的那台? 专走一条路会失败:只探索不利用,硬币全浪费在差机器上;只利用不探索,可能永远错过更好的那一台。
这个场景学名叫”多臂老虎机问题”(Multi-Armed Bandit, MAB)23,它无处不在:选餐厅(老店还是新店)、看电影(熟悉类型还是陌生推荐)、科研选题(深耕还是跨界)。它之所以适合作为理解 RL 的起点,是因为它剥离了”延迟奖励”这个复杂因素(不管上一轮选了什么,这一轮面对的局面完全相同),让我们能单独看清”试错”和”探索-利用”这两个核心矛盾。
CartPole 不是这样:你每推一下小车,杆子的角度变了,整个局面都变了,试错和延迟奖励搅在一起。老虎机故意拿掉”状态变化”的干扰,让我们先集中精力解决两个最基本的问题:
- 如何评估一个动作好不好? → 期望回报
- 如何在”尝试新选项”和”利用已知信息”之间权衡? → 探索策略
::: info 核心概念 探索与利用是 RL 区别于其他学习方式的标志性挑战(distinctive challenge)。无论环境有没有状态、动作是离散还是连续,RL 永远在回答两件事:”哪个更好” 和 ”要不要试试新的”。老虎机是这两个问题的最简版本,搞懂它,后续所有算法都是在它的基础上加东西。 :::
核心公式
要回答”哪个更好”,我们需要用数学来量化。下面两个公式分别解决两个问题:”一台机器到底好不好” 和 ”玩完一轮下来我总共怎样”。
单臂期望奖励 (Expected Reward of an Action):
$\mathbb{E}$ :期望(Expectation),表示多次尝试后的平均结果。$R_a$ :选择动作$a$ (比如拉动某根摇杆)后得到的真实奖励。$p_a$ :动作$a$ 带来正收益(赢钱)的真实概率。
T 轮期望总回报 (Expected Total Return over T steps):
$T$ :总共尝试的轮数。$a_t$ :在第$t$ 轮选择的具体动作。$R_T$ :玩了$T$ 轮之后累积的总奖励。
第一个公式(期望奖励)告诉你:如果你在一台机器上反复投币,平均每次赚多少。第二个公式($T$ 轮总回报)把每一轮的结果加起来,让你能比较不同玩法的整体高低。有了这两个工具,我们就能用数字而不是感觉来回答”哪种策略更划算”。
这里的策略(policy),可以先理解成一句很朴素的话:遇到当前情况时,我按什么规则选动作。 在老虎机里,策略就是"这一轮选 A 还是选 B"的规则;在 CartPole 里,策略就是"当前杆子这个角度下,往左推还是往右推"的规则;在大模型里,策略就是"当前上下文下,下一个 token 怎么选"的规则。
你面前有两台老虎机。每台投 1 枚硬币,中奖吐出 2 枚(净赚 +1),不中奖吞掉(净亏 -1)。你有 100 次机会。你不知道两台机器的出奖概率。
::: info 什么是轮次(Episode)? 在 RL 中,从开始到结束的一整轮交互叫一个轮次(Episode)。比如一局超级马里奥从第 1 关打到 Game Over 是一个轮次,一局 CartPole 从杆子竖起到倒下是一个轮次。
老虎机的轮次比较特殊:每一轮次只包含一次投币(选一个动作,拿到一个奖励)。而后面会遇到的环境(CartPole、Atari)一个轮次里包含很多步。但不管轮次长短,我们评价一个策略好不好,都是看一个完整轮次里的总回报。 :::
这个设定看似简单,但它精确地描述了 RL 的核心矛盾:前几轮你得两边都试试,才能搞清楚谁更好;但试出结果之后,你应该把剩余的硬币全投给那台更准的机器。 试太多,浪费硬币在差机器上;试太少,可能永远不知道另一台其实更赚。
为使讨论更具体,我们设定一个前提:A 台出奖率 60%,B 台出奖率 40%。这一事实仅用于计算期望值,玩家在游戏中并不知晓,只能通过尝试来估计。
下面的重点不是"算三道题",而是看清一件事:环境没有变,硬币数量也没有变,真正改变结果的是策略。 同样是 100 次机会,你采用"随机选"、"一直选 A"、"先试后定",最后拿到的回报会很不一样。
在比较策略之前,我们需要一个工具来回答"这个选择平均来说能赚多少"——这个工具就是期望(Expected Value)。
::: details 什么是期望? 期望(Expected Value) 是随机变量的"长期平均"。直觉上说:如果你把同一件事重复做很多很多次,所有结果的平均值就会趋近期望值。
用数学语言定义:如果一个实验有
每种结果的值 × 它的概率,全部加起来。
举个例子:抛一枚硬币,正面赢 1 元,反面亏 1 元。硬币是公平的,正面概率 50%。你可能某次抛出反面亏了 1 元,但如果你抛了 1000 次,大约 500 次正面、500 次反面:
换一种算法——不先算次数,直接用概率。把上面的式子稍微变个形:
因为 500 = 0.5 × 1000(50% 的概率 × 1000 次),代入进去:
分子分母都有 1000,约掉了:
和期望的定义
用这个工具,我们可以算出每台机器投一次的期望收益:
也就是说,A 台平均每次投币赚 0.2,B 台平均每次投币亏 0.2。后面所有策略的比较都基于这两个数字。
这两个数字回答的是"单个动作好不好";策略回答的是"什么时候选哪个动作"。RL 真正关心的是后者:如何把动作价值变成一套稳定赚钱的选择规则。
最简单的玩法:每轮抛个硬币决定选哪台,A 和 B 各 50% 的概率。
先算每轮的期望收益。一轮投币其实分两步:先决定选哪台(50%/50%),再看中不中奖。所以一共有 4 种可能的结果:
| 事件 | 选哪台 | 结果 | 概率 |
|---|---|---|---|
| 选 A 且中奖 | A | +1 | 0.5 × 0.6 = 0.3 |
| 选 A 且没中奖 | A | -1 | 0.5 × 0.4 = 0.2 |
| 选 B 且中奖 | B | +1 | 0.5 × 0.4 = 0.2 |
| 选 B 且没中奖 | B | -1 | 0.5 × 0.6 = 0.3 |
直接用期望公式,每种结果的值乘以概率,加起来:
也可以换个更顺的角度:先不要急着把 4 种结果全部摊平,而是先问"这一轮选到了哪台"。
如果选到 A,这一轮平均赚 0.2;如果选到 B,这一轮平均亏 0.2。又因为 A、B 各有 0.5 的概率,所以:
这和上面直接列 4 种结果是同一件事,只是分组方式不同:上面是直接看"最终发生了什么",这里是先看"选到了哪台",再看这台机器自己的平均收益。
::: details 补充:为什么这个"换个角度"在数学上成立?
严格一点说,这一步用的是全期望公式。
设
这个公式的意思很朴素:
在这里:
所以:
为什么这和直接枚举 4 种结果完全一样?因为直接枚举用的是联合概率。联合概率就是"几件事同时发生的概率",比如"选 A 且中奖"、"选 A 且没中奖"。
这里的联合概率可以拆成两步:
所以这个分组写法,本质上只是把原来的四项重新括起来:
所以它不是新的假设,也不是在说"结果可以随便线性相加";它只是把同一个随机实验按"选哪台"重新分组。 :::
每轮期望是 0。那 100 轮的总期望怎么算?这用到概率论的一个基本性质:
定理(期望的线性性质,Linearity of Expectation):对任意有限个随机变量
$X_1, X_2, \ldots, X_n$ ,无论它们之间是否独立、是否相关,总有:
$$\mathbb{E}!\left[\sum_{i=1}^{n} X_i\right] = \sum_{i=1}^{n} \mathbb{E}[X_i]$$ 唯一要求:每个
$\mathbb{E}[X_i]$ 存在且有限。
也就是说,和的期望等于期望之和——这个结论无条件成立。这正是本节开头那个公式
总回报在 0 附近波动。选 A 赚的钱刚好被选 B 亏的钱抵消。这个策略的问题在于:它完全不学习。 不管投了多少轮,它都不会利用"哪台好像更好"的信息,永远五五开。
假设有个朋友偷偷告诉你 A 更好,你 100 轮全投 A。每轮的期望就是 A 台的期望:
同理,100 轮总期望 = 每轮期望相加:
期望净赚 20,这是理论上最好的结果。但问题是:现实中没有人告诉你哪台更好——你必须自己去试。所以这个策略虽然分数最高,但没法直接用。
一个更实际的思路:先花一些轮次两边都试试,搞清楚谁更好,然后把剩下的轮次全投给赢家。
具体做法:前 20 轮交替尝试 A 和 B(各 10 次),记录各自的胜率;后 80 轮始终选择观测胜率更高的那台。
前 20 轮和策略 1 一样,每轮 50% 选 A、50% 选 B,所以每轮期望也是 0,20 轮总共 0。
后 80 轮锁定 A(假设探索阶段正确识别了更优机器),每轮期望 0.2:
100 轮总期望回报为:
低于理论最优的 20——差额 4 就是探索成本。
到这里,"先试后定"看起来已经抓住了探索与利用的直觉:先花 20 轮探索,后面 80 轮利用更好的机器。但它还有一个隐藏前提:探索阶段真的能判断出哪台更好。
这正好回到本节开头的问题:智能体怎么知道"哪个动作更好"?在真实 RL 里,智能体看不到 A 的真实出奖率 60%,也看不到 B 的真实出奖率 40%。它只能看见自己试出来的样本,然后用样本去估计动作价值。下面要看的就是:这个估计可能会错。
前面的计算做了一个乐观假设:探索阶段能正确识别 A 更优。但真实情况没这么理想,因为我们只试了很少几次,很容易被短期运气骗到。
这里最容易混的是:真实出奖率 和 观测出奖率 不是一回事。
- 真实出奖率是机器本来的长期规则。A 的真实出奖率是 60%,意思是长期投很多很多次后,中奖比例会靠近 60%。
- 观测出奖率是你这一次小实验看到的临时结果。只投 10 次时,它可能被短期运气拉偏。
所以,A 的真实出奖率是 60%,不等于"每 10 次一定中 6 次"。它可能这 10 次只中 4 次,也可能下一组 10 次中 7 次。10 次太短,看到的结果不一定代表真实水平。
比如探索阶段真的可能长这样:
这里用符号表示结果:✅ 表示中奖,❌ 表示没中。
| 机器 | 真实出奖率 | 10 次实际结果 | 中了几次 | 观测出奖率 |
|---|---|---|---|---|
| A | 60% | ❌ ✅ ❌ ❌ ✅ ❌ ✅ ❌ ✅ ❌ | 4 次 | 40% |
| B | 40% | ✅ ❌ ✅ ✅ ❌ ❌ ✅ ❌ ✅ ❌ | 5 次 | 50% |
这两行不是在改机器的真实水平。A 每一次仍然有 60% 的机会中奖,只是这 10 次里刚好没中得比较多;B 每一次仍然只有 40% 的机会中奖,只是这 10 次里刚好中得比较多。
真实情况里,A 明明比 B 好;但只看这 10 次样本,B 反而看起来更好。这不是矛盾,而是小样本随机波动。
如果你按照观测胜率做决定,就会误以为 B 更好,于是后 80 轮全部锁定在 B 上。这就是"观测可能骗人"的意思:真实更好的选项,短期看起来不一定更好。
这段不是为了把问题变复杂,而是为了说明 RL 里的一个核心麻烦:利用依赖估计,估计来自探索,而探索得到的样本可能不可靠。
::: details 数学补充:为什么短期观测会和真实概率不一样?
数学上,真实出奖率和观测出奖率是两个不同的量。
-
真实出奖率:记作
$p$ 。这是机器本来的参数。比如 A 的真实出奖率是$p_A=0.6$ 。 -
10 次里中奖几次:记作
$N$ 。这是随机变量,因为每次实验结果都可能不同。 -
观测出奖率:记作
$\hat p$ ,读作"p hat",意思是用样本估出来的概率。
观测出奖率等于:
如果这一次 A 投 10 次只中了 4 次,那么:
这并不是说 A 的真实出奖率从
只是这一次小实验里,观测出来的结果是:
更严谨地说,每投一次 A,都可以记一个变量:
A 的真实出奖率
注意:$0.6$ 描述的是中奖这个结果出现的概率,不是说每一次的结果都等于
投 10 次以后,总中奖次数是:
因为每个
所以机器参数和一次现实结果不是同一个东西:
-
$p_A=0.6$ :生成结果的规则。 -
$N_A=4$ :这一次 10 次实验刚好生成出来的结果。 -
$\hat p_A=0.4$ :根据这一次结果算出来的临时估计。
数学上,$p_A$ 控制的是长期平均:
这里的意思不是"每 10 次一定中 6 次",而是"如果把 10 次实验重复很多很多组,每组中奖次数的平均值会接近 6"。
概率论在这里告诉我们的正是这件事:10 次里到底中几次,本身也是随机的。A 投 10 次,每次中奖概率 60%,可能中 0 次、1 次……一直到 10 次,并不是固定中 6 次。
每种"中几次"的概率由二项分布给出:
这里
也就是说,A 明明真实出奖率是 60%,但 10 次里只中 4 次这件事,大约有 11.1% 的概率发生。它不是最常见的情况,但也完全不奇怪。
B 恰好中 5 次的概率是:
所以,"A 这 10 次只中 4 次,B 这 10 次中了 5 次"这种误导人的观察结果,不是数学上不允许,而是概率上确实可能出现。只看这个具体场景,两件事同时发生的概率大约是:
这不是很大,但也不是不可能。更重要的是,误判不只这一种情况:只要 A 的中奖次数少于 B,都会误判。后面我们会把所有误判情况加起来。
概率论真正保证的是:试得足够多时,观测出奖率会越来越接近真实出奖率,这叫大数定律。它不保证短短 10 次就一定看得准。
以 A 恰好中 4 次的公式为例,它由三部分相乘:
-
$\binom{10}{4}$ :从 10 次投币中选出 4 次中奖,有多少种不同的组合方式 -
$0.6^4$ :这 4 次中奖,每次概率 60% -
$0.4^6$ :剩下 6 次没中奖,每次概率 40%
组合数这部分怎么读?
组合数在这里的作用,是把"中了 4 次"背后的所有位置情况一次性数出来。因为 10 次里中 4 次不只有一种可能:可以是第 1、2、3、4 次中奖,也可以是第 1、3、5、7 次中奖,还可以是很多别的位置组合。每一种具体位置组合的概率都是
所以,$\binom{10}{4}$ 本身不是概率,它只是一个计数系数。
关键点是:组合数不考虑顺序。
举个小例子:有 4 个位置
也就是
这里不是
回到我们的问题:$\binom{10}{4}$,也就是
这里也不是
接下来真正影响策略回报的是:这次探索有多大概率把差机器 B 看成好机器。
先试后定的判断规则很简单:前 20 轮结束后,看 A 和 B 谁中奖次数更多。谁更多,后面 80 轮就选谁。
- 如果 A 中得更多,判断对了,后面选 A。
- 如果 B 中得更多,判断错了,后面选 B。
- 如果一样多,这里先不算 B 更好。
所以,误判其实就是一句话:
B 的中奖次数比 A 多。
这里
怎么算这个概率?先不用看公式,可以把它想成一张表:横向是 A 中了几次,纵向是 B 中了几次。每个格子代表一种探索结果。
| A 中了几次 | B 中了几次 | 后面会选谁 | 是否误判 |
|---|---|---|---|
| 4 | 5 | B | 是 |
| 3 | 6 | B | 是 |
| 5 | 5 | 不确定/打平 | 否 |
| 6 | 4 | A | 否 |
规则很简单:只要 B 那一列数字比 A 大,这个格子就算误判。把所有"误判格子"的概率加起来,结果大约是:
这句话的意思是:虽然 A 真实更好,但如果只各试 10 次,差不多每 8 次完整实验里,就有 1 次会被短期样本骗到,误以为 B 更好。
::: details 补充:12.8% 是怎么加出来的?
如果要把上面的"误判格子"写成数学,就是:
也就是 A 的中奖次数少于 B 的中奖次数。
可以按 A 中了几次来分情况:
| 如果 A 中了... | 那么 B 要中... | 才会误判 |
|---|---|---|
| 0 次 | 1 到 10 次 | 是 |
| 1 次 | 2 到 10 次 | 是 |
| 2 次 | 3 到 10 次 | 是 |
| ... | ... | ... |
| 9 次 | 10 次 | 是 |
| 10 次 | 不可能更多 | 否 |
所以总误判概率就是把这些情况都加起来:
这里有两个小逻辑:
- 为什么相乘?因为 A 的 10 次探索和 B 的 10 次探索是分开发生的。例如"A 中 4 次并且 B 中 5 次"的概率,就是
$P(A\text{中}4)\times P(B\text{中}5)$ 。 - 为什么相加?因为这些情况互不重叠。一次实验里,A 不可能既中 0 次又中 1 次,所以可以把不同情况的概率加起来。 :::
一旦误判,后 80 轮全部投给 B,期望总回报变为
策略 3 最终拿多少分,取决于你"运气好不好":有 87.2% 的概率猜对了(拿 16 分),有 12.8% 的概率猜错了(亏 16 分)。期望回报就是把这两种结果按概率加权平均:
比不考虑误判的 16 低了将近 4 分。这个下降不是计算细节,而是主题本身:动作价值估计错了,后面的利用就会错。
注意,这只是 A 和 B 差距较大的情况(60% vs 40%)。如果两台机器的差距更小,比如 52% vs 48%,误判概率会飙升到接近 50%——几乎等于抛硬币决定后 80 轮的命运。
这说明探索阶段的样本量直接决定了最终回报。样本太少,误判概率高,"先试后定"的优势会被严重削弱;样本太多,探索成本又吃掉了利润。如何在两者之间取得平衡,正是强化学习中探索策略设计的核心问题。
上面的例子已经说明,问题不只是"选 A 还是选 B"。真正难的是:你要用有限样本估计哪个动作更好,同时又不能把太多轮次浪费在试探上。
"先试后定"只是探索策略的一种。不同策略本质上是在用不同方式回答同一个问题:怎么在"降低误判"和"少花探索成本"之间折中。
| 策略 | 做法 | 探索机制 | 缺点 |
|---|---|---|---|
| 纯随机 | 均匀采样 | 无 | 永远学不到最优 |
| 贪心 | 永远选当前估计最优 | 无 | 可能锁定次优 |
| ε-贪婪 | 以 ε 概率随机,1-ε 选最优 | 固定比例探索 | ε 不随时间衰减 |
| 先试后定 | 前 N 步探索后利用 | 预算制 | N 不好选 |
| UCB | 选"估计均值 + 不确定性"最高的 | 不确定性驱动 | 需要维护置信区间 |
| Thompson Sampling | 从后验分布采样 | 概率匹配 | 需要贝叶斯更新 |
其中 UCB(Upper Confidence Bound 4)和 Thompson Sampling 2 是理论上最优的策略。如何衡量"最优"?学界使用一个叫 Regret(遗憾值) 的指标——本节末尾会简单介绍。
import random
class TwoArmedBandit:
"""两台老虎机:最简 RL 环境"""
def __init__(self, prob_a=0.6, prob_b=0.4):
self.prob_a = prob_a
self.prob_b = prob_b
def step(self, action):
"""选择某一台机器,返回奖励"""
if action == "A":
return 1 if random.random() < self.prob_a else -1
else:
return 1 if random.random() < self.prob_b else -1这个环境没有"状态"——不管你上一步选了哪台机器,这一步面对的情况一模一样。这就是老虎机的特点:它是一个单状态 MDP。后面我们会看到 CartPole 和 LLM 就不是这样了——它们的状态会随着动作而改变。
将上面的三种策略用代码实现,观察实际运行结果与理论期望的对比。以下代码均基于前面定义的 TwoArmedBandit 类,需先执行该类的定义代码。
from random import choice
env = TwoArmedBandit()
total = sum(env.step(choice(["A", "B"])) for _ in range(100))
print(f"均匀随机 100 轮总回报: {total},平均: {total/100:.2f}"):::output 均匀随机 100 轮总回报: -2,平均: -0.02 :::
理论期望为 0,实际结果在 0 附近波动,符合预期。
env = TwoArmedBandit()
total = sum(env.step("A") for _ in range(100))
print(f"始终选 A 100 轮总回报: {total},平均: {total/100:.2f}"):::output 始终选 A 100 轮总回报: 18,平均: 0.18 :::
理论期望为 20,实际 18——单次实验会有随机波动,但接近期望值。
env = TwoArmedBandit()
# 阶段 1:探索——A 和 B 各试 10 次,记录各自的表现
rewards = {"A": [], "B": []}
for arm in ["A", "B"]:
for _ in range(10):
rewards[arm].append(env.step(arm))
# 根据探索结果,选平均回报更高的机器
avg = {arm: sum(r) / len(r) for arm, r in rewards.items()}
best = max(avg, key=avg.get) # 比如 avg["A"] = 0.2 > avg["B"] = -0.1 → best = "A"
# 阶段 2:利用——后 80 轮全部选 best
explore_total = sum(sum(r) for r in rewards.values())
exploit_total = sum(env.step(best) for _ in range(80))
total = explore_total + exploit_total
print(f"探索结果: A 平均={avg['A']:.2f}, B 平均={avg['B']:.2f} → 选 {best}")
print(f"先试后定 100 轮总回报: {total},平均: {total/100:.2f}"):::output 先试后定 100 轮总回报: 14,平均: 0.14 :::
理论期望为 16(不考虑误判),实际 14——低于"始终选 A"的 18,因为前 20 轮的探索没有产出收益。
| 策略 | 理论期望 | 实际结果 | 说明 |
|---|---|---|---|
| 均匀随机 | 0 | −2 | 在 0 附近波动,不亏不赚 |
| 始终选 A | 20 | 18 | 接近期望,但需要事先知道 A 更好 |
| 先试后定 | 16 | 14 | 比始终选 A 少 4 分,差额来自探索成本 |
三种策略,同一组机器,结果差异显著。策略决定了你能从环境中拿走多少价值。
由此可以得到两个结论:
- 策略需要用期望回报来评价。 某一次结果可能有运气,但长期平均会暴露策略水平。
- 策略能否有效,取决于环境里有没有可利用的结构。 如果 A 和 B 都是 50%,再聪明的策略也占不到便宜;如果 A 确实比 B 好,策略的价值就在于更快发现并利用 A。
本章通过多臂老虎机这个最简单的 RL 环境,建立了强化学习的三个基本概念。
1. 策略是决定智能体表现的关键。 三种策略面对同一个环境,长期回报截然不同:
- 均匀随机(期望回报 0):完全不利用观测信息,永远无法收敛到最优动作。
- 始终选最优(期望回报 20):理论最优,但前提是事先知道动作价值——在实际中不可得。
- 先试后定(期望回报 ≈ 12):先花 20 轮探索、后 80 轮利用。它更接近实际场景,但暴露了一个关键问题:小样本估计可能出错。在 60% vs 40% 的设定下,仅各试 10 次就有约 12.8% 的概率误判优劣;如果两台机器差距更小,误判概率会急剧上升。
2. 期望回报是衡量策略优劣的客观指标。 我们用期望公式计算了每台老虎机的单次期望收益(A 台 +0.2,B 台 −0.2),并利用期望的线性性质将单步期望累加为
3. 探索与利用是 RL 的标志性矛盾。 ε-贪婪通过固定比例混合探索与利用;UCB 基于不确定性上界选择动作;Thompson Sampling 通过贝叶斯后验采样实现概率匹配。
多臂老虎机刻意剥离了"延迟奖励"(每轮面对的局面完全相同),让我们单独看清了"试错搜索"和"探索-利用"这两个基本矛盾。真实 RL 问题(CartPole、LLM 等)不仅有探索与利用的矛盾,还涉及状态转移——智能体看到的局面会随动作而改变,策略也从"选哪个动作"扩展为"在当前状态下选什么动作"。下一节将把这些概念形式化为 MDP 框架:MDP 五元组、折扣回报与策略
以下内容供有兴趣的读者深入,初读可跳过。
前面我们用期望回报比较了三种策略。但期望回报依赖于具体的老虎机参数(A 台 60%、B 台 40%),换一组参数数字就全变了。学界需要一个通用的评价指标:不管几台机器、不管出奖率是多少,都能用同一个标准衡量"这个策略有多好"。这个标准就是 Regret(遗憾值)。
Regret 的定义很直觉:假设你从一开始就知道哪台机器最优,100 轮全选它,能拿满分。但你不知道,所以用了某个策略,实际拿的分比满分少。少拿的部分就是 Regret:
Regret = 最优策略的回报 − 你的策略的回报
用我们的老虎机算一笔账(最优策略 100 轮全选 A,总期望 20 分):
| 策略 | 实际总期望 | Regret |
|---|---|---|
| 均匀随机 | 0 分 | 20 − 0 = 20 |
| 始终选 A | 20 分 | 20 − 20 = 0 |
| 先试后定 | ≈12 分 | 20 − 12 ≈ 8 |
Regret 越小,策略越好。均匀随机每 100 轮"白亏" 20 分,先试后定亏约 8 分(含探索成本与误判损失),始终选 A 不亏——但前提是你得一开始就知道 A 更好,现实中不可能。
RL 的目标,就是设计出 Regret 增长尽可能慢的策略。 前面提到的 UCB 和 Thompson Sampling,正是学界在这条路上找到的最优解——它们的 Regret 随时间以对数速率增长,达到了理论下界 5。感兴趣的同学可以进一步阅读参考文献。
Footnotes
-
Sutton, R. S., & Barto, A. G. (2018). Reinforcement Learning: An Introduction (2nd ed.). MIT Press. ↩
-
Thompson, W. R. (1933). On the likelihood that one unknown probability exceeds another in view of the evidence of two samples. Biometrika, 25(3/4), 285-294. ↩ ↩2
-
Robbins, H. (1952). Some aspects of the sequential design of experiments. Bulletin of the American Mathematical Society, 58(5), 527-535. ↩
-
Auer, P., Cesa-Bianchi, N., & Fischer, P. (2002). Finite-time analysis of the multiarmed bandit problem. Machine Learning, 47(2-3), 235-256. ↩
-
Lai, T. L., & Robbins, H. (1985). Asymptotically efficient adaptive allocation rules. Advances in Applied Mathematics, 6(1), 4-22. ↩