概率分布实操:从数学公式到代码实现
很多机器学习模型在预测时其实就是在算概率,但很多人习惯直接调包,根本不清楚底层的分布逻辑,导致在处理长尾分布或异常值时完全没头绪。把数学公式直接翻译成代码是理解这些概念最快的方式。
把这些分布用代码跑一遍,比盯着教科书看三天更有用。
下一篇
DSpark:解决LLM推理延迟的实战思路 →
这里分享一个简单的逻辑:如果你想在代码里模拟某种随机变量,不需要死记硬背公式,直接看它的概率密度函数(PDF)怎么映射到采样函数就行。
以最常用的正态分布(Normal Distribution)为例,在 Python 里用 numpy 实现其实就是一行代码,但你要理解 loc(均值)和 scale(标准差)是如何控制数据分布形状的。
import numpy as np
import matplotlib.pyplot as plt
# 模拟一组正态分布数据
# loc=均值, scale=标准差, size=样本量
data = np.random.normal(loc=0, scale=1, size=1000)
# 验证均值和标准差是否接近设定值
print(f"Mean: {np.mean(data)}")
print(f"Std: {np.std(data)}")在实际做 AI Agent 或大模型采样时,经常会接触到温度(Temperature)参数,这本质上就是在调整 Softmax 层的概率分布。温度越高,分布越平坦,模型输出越随机;温度越低,分布越尖锐,模型越倾向于选概率最高的那个词。
如果你在做数据增强或者模拟环境,建议重点钻研一下以下几个分布的实操:
- 伯努利分布(Bernoulli): 典型的二元分类基础,处理 0/1 随机事件。
- 泊松分布(Poisson): 适合模拟单位时间内随机事件发生的次数。
- Beta 分布: 在贝叶斯优化里非常关键,用来表示概率的概率。
把这些分布用代码跑一遍,比盯着教科书看三天更有用。
