第三章 数学基础:概率论与随机过程在策略中的应用
说实话,很多做策略优化的同学一看到概率论就头疼。我当年也一样。但做了十几年算法,我越来越觉得——不懂概率,你根本没法理解收敛。
随机激励覆盖收敛策略,名字里就带着「随机」二字。你想想看,如果没有概率论这把尺子,你怎么衡量「覆盖」得好不好?怎么保证「收敛」一定能到?
这一章,我就带你把这些数学工具捋一遍。不搞天书推导,只讲工程里真正用得上的东西。
3.1 概率空间:一切随机性的起点
先问个问题:什么叫「随机」?
数学上,我们用一个三元组来描述它——(Ω, F, P)。Ω是样本空间,F是事件集合,P是概率测度。说白了就是:可能发生什么、哪些情况算一个事件、每个事件发生的可能性多大。
我在做分布式系统测试时遇到过一个问题:激励信号随机生成,但总有几个边界条件覆盖不到。后来一查,是概率分配出了问题——某些事件概率被设成了0,压根没机会发生。嗯,这就是概率空间没定义好。
3.2 随机变量与分布函数
随机变量,就是把随机事件映射成数字。比如激励的强度、频率、持续时间,都可以用随机变量表示。
分布函数则告诉我们:某个取值范围内的概率是多少。常用的有:
- 均匀分布:每个激励值等概率出现。适合探索初期。
- 正态分布:集中在均值附近。适合局部精细搜索。
- 指数分布:小值概率大,大值概率小。适合模拟「等待时间」类激励。
我个人习惯在策略中混合使用多种分布。比如前期用均匀分布做广撒网,后期切换到正态分布做聚焦。这样既保证覆盖广度,又提升收敛速度。
3.3 期望、方差与收敛性指标
期望告诉你「平均表现如何」,方差告诉你「波动有多大」。这两个指标在策略评估中至关重要。
举个例子:
# 假设激励的覆盖率为随机变量 X
# 期望 E[X] 表示平均覆盖率
# 方差 Var[X] 表示覆盖率的稳定性
E[X] = 0.85 # 平均覆盖85%的状态空间
Var[X] = 0.02 # 波动较小,说明策略稳定
我曾经优化过一个通信协议测试策略。一开始方差特别大,有时候覆盖90%,有时候只有40%。后来调整了激励的随机参数,把方差降下来,收敛速度提升了3倍。
3.4 随机过程:时间维度上的随机性
单次随机激励好理解,但策略是持续运行的。这时候就需要随机过程登场了。
随机过程,说白了就是随时间变化的随机变量序列。在策略中,每一步的激励选择,构成了一个随机过程。
几个关键概念:
- 马尔可夫性:下一步只与当前状态有关,与历史无关。很多策略都基于这个假设。
- 平稳性:统计特性不随时间变化。如果策略参数不变,激励过程通常是平稳的。
- 遍历性:时间平均等于空间平均。这是收敛性的理论基础。
我记得有一次做强化学习策略,发现算法总是不收敛。排查了很久,最后发现是激励过程不满足遍历性——某些状态永远访问不到。改了激励分布后,问题就解决了。
3.5 鞅与收敛定理
鞅(Martingale)是个很漂亮的概念。简单说,就是未来期望等于当前值。在策略中,如果覆盖率序列是一个鞅,那它大概率会收敛。
为什么?因为鞅的「波动」是受控的。它不会突然跳到一个离谱的值。这给了我们理论上的保证。
实际应用中,我常用鞅差序列来构造收敛性证明。比如:
# 定义覆盖率增量序列
ΔC_t = C_{t+1} - C_t
# 如果 E[ΔC_t | 历史] = 0,则 C_t 是鞅
# 根据鞅收敛定理,C_t 几乎必然收敛
3.6 大数定律与中心极限定理
这两个定理是随机策略的「定心丸」。
大数定律说:样本足够多时,平均值趋近于期望。这意味着,只要策略跑得足够久,覆盖率就会稳定在某个值附近。
中心极限定理说:大量独立随机变量的和,近似服从正态分布。这让我们可以用正态分布来估计覆盖率的置信区间。
举个例子:
# 假设每次激励的覆盖率增量独立同分布
# 均值 μ = 0.01,标准差 σ = 0.05
# 跑 N = 1000 次后,总覆盖率增量近似服从
# 正态分布 N(1000*0.01, 1000*0.05^2) = N(10, 2.5)
# 95%置信区间:[10 - 1.96*sqrt(2.5), 10 + 1.96*sqrt(2.5)]
# 约等于 [6.9, 13.1]
我经常用这个来估算「策略还要跑多久才能达到目标覆盖率」。虽然不精确,但足够指导工程决策。
3.7 知识体系总览
下面这张图,是我自己梳理的本章知识结构。你可以把它当作一个「地图」,随时回来查阅。
3.8 本章小结
概率论和随机过程,不是用来「证明」策略的,而是用来指导设计策略的。我每次做新策略,都会先问自己三个问题:
- 激励的随机性是否覆盖了所有状态?(概率空间完备性)
- 覆盖率序列是否满足鞅性质?(收敛性保证)
- 方差是否可控?(稳定性要求)
这三个问题想清楚了,策略的数学基础就稳了。剩下的,就是工程实现和调参了。
嗯,这一章就到这里。数学工具是拿来用的,不是拿来供的。下次遇到策略不收敛,别急着调参数,先回头看看概率模型对不对。