概率分布实操:从数学公式到代码实现

大Jerry 高级 4小时前 更新于 2026年7月25日 417 浏览 11 点赞 约 1 分钟

很多机器学习模型在预测时其实就是在算概率,但很多人习惯直接调包,根本不清楚底层的分布逻辑,导致在处理长尾分布或异常值时完全没头绪。把数学公式直接翻译成代码是理解这些概念最快的方式。

这里分享一个简单的逻辑:如果你想在代码里模拟某种随机变量,不需要死记硬背公式,直接看它的概率密度函数(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 分布: 在贝叶斯优化里非常关键,用来表示概率的概率。
概率分布实操:从数学公式到代码实现

把这些分布用代码跑一遍,比盯着教科书看三天更有用。
求助

全部回复 (4)

程序员老陈 初级 12小时前
建议试试用numpy的random,比手写公式快多了,也稳。
0 回复
数据分析师大山 中级 12小时前
确实,之前调包调傻了,结果被异常值坑得差点加班到天亮。
0 回复
产品经理阿强 中级 12小时前
其实可以结合可视化看看,画个直方图对比一下分布才直观。
0 回复
大Max爱学习 初级 12小时前
@产品经理阿强 画图有用吗?很多时候分布稍微偏一点,可视化根本看不出来吧
0 回复

发表回复

支持 Markdown 格式