第3篇 | AI工程师必备数学基础:概率论与统计

第3篇 | AI工程师必备数学基础:概率论与统计 概率论与统计是人工智能的数学基石。在AI领域从贝叶斯分类器到深度学习从强化学习到大语言模型处处都需要概率论的支撑。理解概率与统计能帮助我们更好地理解模型的不确定性、进行数据分析和做出科学决策。一、概率的基本概念概率是描述随机事件发生可能性大小的数值。随机事件是指在相同条件下可能发生也可能不发生的事件。概率的取值范围是[0, 1]0表示不可能发生1表示必然发生。【频率学派观点】认为概率是大量重复试验中事件发生的频率极限值。例如抛硬币当我们抛10000次硬币正面朝上的次数大约是5000次正面朝上的概率约为0.5。【贝叶斯学派观点】则认为概率是人们对事件发生的主观信念程度。这种观点在机器学习中尤为重要因为我们可以根据观测数据来更新对参数的后验信念。概率的基本性质非负性P(A) 0规范性P(Ω) 1可加性P(A∪B) P(A) P(B) - P(A∩B)互斥时P(A∪B) P(A) P(B)二、条件概率与贝叶斯定理条件概率是指在已知某个事件B发生的条件下事件A发生的概率记作P(A|B)。其计算公式为P(A|B) P(A∩B) / P(B)贝叶斯定理是概率论中最重要的定理之一它描述了如何根据新的证据来更新我们的信念。公式如下P(类别|特征) P(特征|类别) × P(类别) / P(特征)在机器学习中P(类别)是先验概率表示我们在看到数据前对类别的信念P(特征|类别)是似然表示在该类别下观察到当前特征的概率P(类别|特征)是后验概率表示观测到特征后对类别的更新信念。代码示例贝叶斯分类器import numpy as np# 模拟医学检测数据# 假设患病率0.1%检测准确率99%disease_rate 0.001 # 患病率sensitivity 0.99 # 灵敏度真阳性率specificity 0.99 # 特异度真阴性率# 贝叶斯定理计算检测阳性后的实际患病概率prior_odds disease_rate / (1 - disease_rate) # 先验优势likelihood_ratio sensitivity / (1 - specificity) # 似然比posterior_odds prior_odds * likelihood_ratio # 后验优势posterior_prob posterior_odds / (1 posterior_odds)print(f先验概率: {disease_rate*100:.3f}%)print(f检测阳性后患病概率: {posterior_prob*100:.2f}%)print(结论即使检测为阳性实际患病概率也不到10%)三、常见概率分布概率分布描述了随机变量取各个可能值的概率。不同的场景适用不同的分布选择合适的分布是统计建模的关键。3.1 离散分布分布名称适用场景参数均值, 方差二项分布n次独立实验中成功k次的概率n, pnp, np(1-p)泊松分布单位时间内稀有事件发生的次数λλ, λ几何分布首次成功所需的实验次数p1/p, (1-p)/p²3.2 连续分布分布名称适用场景参数均值, 方差正态分布自然界和社会的常见现象μ, σμ, σ²均匀分布等概率取值a, b(ab)/2, (b-a)²/12指数分布独立事件发生的时间间隔λ1/λ, 1/λ²正态分布是统计学中最重要的分布。中心极限定理告诉我们无论原始分布如何大量独立随机变量的和或平均值近似服从正态分布。四、统计推断统计推断是根据样本数据对总体特征进行推测的过程主要包括参数估计和假设检验。4.1 参数估计点估计用单一数值估计参数如用样本均值估计总体均值。区间估计给出参数的置信范围例如95%置信区间意味着如果重复抽样100次约95次构造的区间会包含真实参数。4.2 假设检验假设检验是根据样本数据判断关于总体的假设是否成立。首先提出原假设H0和备择假设H1然后计算在H0为真的条件下观测到当前数据的概率p值。如果p值小于显著性水平α通常取0.05则拒绝原假设。p值的正确理解p值不是原假设为真的概率而是在原假设为真的条件下观测到当前或更极端结果的概率。p值越小拒绝原假设的证据越强。代码示例假设检验import numpy as npfrom scipy import stats# 比较两组学生成绩是否有显著差异np.random.seed(42)group1 np.random.normal(72, 10, 50) # 对照组group2 np.random.normal(75, 10, 50) # 实验组# 独立样本t检验t_stat, p_value stats.ttest_ind(group1, group2)print(f对照组均值: {np.mean(group1):.2f})print(f实验组均值: {np.mean(group2):.2f})print(ft统计量: {t_stat:.4f})print(fp值: {p_value:.4f})print(f结论: {存在显著差异 if p_value 0.05 else 无显著差异})五、相关性分析皮尔逊相关系数r衡量两个变量之间的线性关系强度取值范围[-1, 1]。r0表示正相关r0表示负相关|r|越接近1表示线性关系越强。相关性强度参考|r| 0.3弱相关0.3 |r| 0.5中等相关0.5 |r| 0.7较强相关|r| 0.7强相关注意相关性不等于因果性两个变量相关可能是因为存在共同的混杂变量或者只是巧合。六、综合实践示例下面我们通过一个完整的示例展示如何用Python进行概率统计分析import numpy as npimport matplotlib.pyplot as pltfrom scipy import stats# 1. 正态分布检验np.random.seed(42)data np.random.normal(100, 15, 100) # 100个样本# Shapiro-Wilk正态性检验stat, p stats.shapiro(data[:50]) # 最多50个样本print(f正态性检验 p值: {p:.4f})print(f结论: 数据{符合 if p 0.05 else 不符合}正态分布)# 2. 置信区间计算sample_mean np.mean(data)sample_std np.std(data, ddof1)n len(data)se sample_std / np.sqrt(n)# 95%置信区间ci stats.t.interval(0.95, dfn-1, locsample_mean, scalese)print(f样本均值: {sample_mean:.2f})print(f95%置信区间: [{ci[0]:.2f}, {ci[1]:.2f}])# 3. 相关性分析x np.random.normal(50, 10, 200)y x * 0.8 np.random.normal(0, 3, 200)r, p stats.pearsonr(x, y)print(f相关系数: {r:.4f})print(f相关性: {显著 if p 0.05 else 不显著})# 可视化plt.figure(figsize(10, 4))plt.subplot(1, 2, 1)plt.hist(data, bins20, alpha0.7, edgecolorwhite)plt.axvline(sample_mean, colorred, linestyle--, label均值)plt.fill_betweenx([0, 25], ci[0], ci[1], alpha0.2, colorgreen, label95%置信区间)plt.xlabel(数值)plt.ylabel(频数)plt.title(数据分布与置信区间)plt.legend()plt.subplot(1, 2, 2)plt.scatter(x, y, alpha0.5, s20)z np.polyfit(x, y, 1)plt.plot(x, z[0]*x z[1], r--, linewidth2)plt.xlabel(X)plt.ylabel(Y)plt.title(f相关性分析 (r{r:.3f}))plt.tight_layout()plt.savefig(statistics_example.png, dpi150)plt.show()print(图表已保存为 statistics_example.png)总结概率论与统计是AI工程师的必备数学基础。在本篇文章中我们学习了概率的基本概念和性质条件概率与贝叶斯定理常见离散和连续概率分布参数估计与假设检验相关性分析方法下一篇文章我们将学习最优化理论这是机器学习模型训练的核心数学工具。