人工智能之数学基础 离散数学:第四章 离散概率

人工智能之数学基础 离散数学

第四章 离散概率


文章目录

  • [人工智能之数学基础 离散数学](#人工智能之数学基础 离散数学)
  • 前言
  • 一、离散概率基础
    • [1. 概率空间(Probability Space)](#1. 概率空间(Probability Space))
    • [2. 条件概率与贝叶斯定理](#2. 条件概率与贝叶斯定理)
  • [二、离散型随机变量(Discrete Random Variable)](#二、离散型随机变量(Discrete Random Variable))
    • [1. 定义](#1. 定义)
    • [2. 概率质量函数(PMF)](#2. 概率质量函数(PMF))
  • 三、重要离散分布
    • [1. 伯努利分布(Bernoulli Distribution)](#1. 伯努利分布(Bernoulli Distribution))
    • [2. 二项分布(Binomial Distribution)](#2. 二项分布(Binomial Distribution))
    • [3. 其他重要分布](#3. 其他重要分布)
  • 四、期望与方差
    • [1. 期望(Expectation)](#1. 期望(Expectation))
    • [2. 方差(Variance)](#2. 方差(Variance))
  • [五、AI 中的离散概率应用](#五、AI 中的离散概率应用)
    • [1. 分类任务的统计建模](#1. 分类任务的统计建模)
    • [2. 贝叶斯分类器](#2. 贝叶斯分类器)
    • [3. 强化学习中的动作选择](#3. 强化学习中的动作选择)
  • [六、Python 代码实现](#六、Python 代码实现)
    • [1. 导入库](#1. 导入库)
    • [2. 伯努利与二项分布 PMF 可视化](#2. 伯努利与二项分布 PMF 可视化)
    • [3. 二项分布模拟:分类任务性能分析](#3. 二项分布模拟:分类任务性能分析)
    • [4. 自定义二项 PMF 与累积分布(CDF)](#4. 自定义二项 PMF 与累积分布(CDF))
    • [5. AI 应用:分类误差的假设检验](#5. AI 应用:分类误差的假设检验)
    • [6. 泊松近似二项分布](#6. 泊松近似二项分布)
  • 七、总结
  • 后续
  • 资料关注

前言

离散概率是离散数学与概率论的交叉核心 ,为机器学习中的分类、采样、不确定性建模提供理论基础。本文系统讲解:

  • 离散概率空间与基本公理
  • 离散型随机变量及其分布
  • 重要离散分布:伯努利、二项、泊松、几何
  • 期望与方差
  • 在 AI 分类任务中的应用(如二项分布建模正确/错误预测)
  • 配套 Python 代码实现scipy.stats、自定义模拟、可视化、分类误差分析)

一、离散概率基础

1. 概率空间(Probability Space)

三元组 (\\Omega, \\mathcal{F}, P)

  • 样本空间 \\Omega :所有可能结果的集合(离散 ⇒ 可数)
  • **事件域 \\mathcal{F} ∗ ∗ : \*\*: ∗∗: \\Omega 的子集族(通常为幂集)
  • 概率测度 P :满足:
    1. 0 \\leq P(A) \\leq 1
    2. P(\\Omega) = 1
    3. 可列可加性:若 A_i 互斥,则 P\\left(\\bigcup_i A_i\\right) = \\sum_i P(A_i)

✅ 示例:掷骰子

\\Omega = {1,2,3,4,5,6} , , , P({1}) = \\frac{1}{6}


2. 条件概率与贝叶斯定理

  • 条件概率
    P ( A ∣ B ) = P ( A ∩ B ) P ( B ) , P ( B ) > 0 P(A \mid B) = \frac{P(A \cap B)}{P(B)}, \quad P(B) > 0 P(A∣B)=P(B)P(A∩B),P(B)>0
  • 贝叶斯定理
    P ( H ∣ E ) = P ( E ∣ H ) P ( H ) P ( E ) → ∗ ∗ 朴素贝叶斯分类器 ∗ ∗ 的理论基础 P(H \mid E) = \frac{P(E \mid H) P(H)}{P(E)} → **朴素贝叶斯分类器**的理论基础 P(H∣E)=P(E)P(E∣H)P(H)→∗∗朴素贝叶斯分类器∗∗的理论基础

二、离散型随机变量(Discrete Random Variable)

1. 定义

函数 X: \\Omega \\to \\mathbb{R} ,其取值为可数集合(有限或可列无限)。

2. 概率质量函数(PMF)

p X ( x ) = P ( X = x ) 满足: p_X(x) = P(X = x) 满足: pX(x)=P(X=x)满足:

  • p_X(x) \\geq 0
  • \\sum_{x} p_X(x) = 1

📌 对比:连续变量用概率密度函数(PDF)


三、重要离散分布

1. 伯努利分布(Bernoulli Distribution)

  • 场景:单次试验,成功(1)或失败(0)
  • PMF
    P ( X = x ) = p x ( 1 − p ) 1 − x , x ∈ { 0 , 1 } P(X = x) = p^x (1 - p)^{1 - x}, \quad x \in \{0, 1\} P(X=x)=px(1−p)1−x,x∈{0,1}
  • 记作 X \\sim \\text{Bernoulli}§
  • 期望/方差
    E [ X ] = p , Var ( X ) = p ( 1 − p ) \mathbb{E}[X] = p, \quad \text{Var}(X) = p(1 - p) E[X]=p,Var(X)=p(1−p)

AI 应用:单个二分类预测(如"是否垃圾邮件")


2. 二项分布(Binomial Distribution)

  • 场景 n 次独立伯努利试验,成功次数
  • PMF
    P ( X = k ) = ( n k ) p k ( 1 − p ) n − k , k = 0 , 1 , ... , n P(X = k) = \binom{n}{k} p^k (1 - p)^{n - k}, \quad k = 0,1,\dots,n P(X=k)=(kn)pk(1−p)n−k,k=0,1,...,n
  • 记作 X \\sim \\text{Binomial}(n, p)
  • 期望/方差
    E [ X ] = n p , Var ( X ) = n p ( 1 − p ) \mathbb{E}[X] = np, \quad \text{Var}(X) = np(1 - p) E[X]=np,Var(X)=np(1−p)

AI 核心应用

  • 分类任务性能建模:假设模型准确率为 p ,在 n 个测试样本中正确预测 k 个的概率
  • A/B 测试:比较两个模型的成功率

3. 其他重要分布

分布 场景 PMF 期望
几何分布 首次成功所需试验次数 P(X=k) = (1-p)\^{k-1}p 1/p
泊松分布 单位时间事件发生次数 P(X=k) = \\frac{\\lambda\^k e\^{-\\lambda}}{k!} \\lambda
多项分布 多类别分类(扩展二项) P(\\mathbf{X}=\\mathbf{k}) = \\frac{n!}{k_1!\\cdots k_m!} p_1\^{k_1}\\cdots p_m\^{k_m} np_i

💡 泊松近似:当 n 大、 p 小、 \\lambda = np 适中时, \\text{Binomial}(n,p) \\approx \\text{Poisson}(\\lambda)


四、期望与方差

1. 期望(Expectation)

E [ X ] = ∑ x x ⋅ p X ( x ) \mathbb{E}[X] = \sum_{x} x \cdot p_X(x) E[X]=x∑x⋅pX(x)

  • 线性性 \\mathbb{E}\[aX + bY\] = a\\mathbb{E}\[X\] + b\\mathbb{E}\[Y\] (无需独立)

2. 方差(Variance)

Var ( X ) = E [ ( X − E [ X ] ) 2 ] = E [ X 2 ] − ( E [ X ] ) 2 \text{Var}(X) = \mathbb{E}[(X - \mathbb{E}[X])^2] = \mathbb{E}[X^2] - (\mathbb{E}[X])^2 Var(X)=E[(X−E[X])2]=E[X2]−(E[X])2

  • 性质 \\text{Var}(aX + b) = a\^2 \\text{Var}(X)

五、AI 中的离散概率应用

1. 分类任务的统计建模

  • 假设测试集有 n = 1000 个样本
  • 模型真实准确率 p = 0.85
  • 则正确预测数 X \\sim \\text{Binomial}(1000, 0.85)
  • 可计算:
    • P(X \\geq 840) :模型表现不低于 84% 的概率
    • 置信区间: \\hat{p} \\pm z \\sqrt{\\frac{\\hat{p}(1-\\hat{p})}{n}}

2. 贝叶斯分类器

  • 使用贝叶斯定理计算后验概率:
    P ( y ∣ x ) = P ( x ∣ y ) P ( y ) P ( x ) P(y \mid \mathbf{x}) = \frac{P(\mathbf{x} \mid y) P(y)}{P(\mathbf{x})} P(y∣x)=P(x)P(x∣y)P(y)
  • 朴素贝叶斯假设特征条件独立 → 乘积形式

3. 强化学习中的动作选择

  • 策略 \\pi(a \\mid s) 是离散概率分布(如 softmax 输出)

六、Python 代码实现

1. 导入库

python 复制代码
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import bernoulli, binom, poisson
from scipy.special import comb

# 设置风格
sns.set(style="whitegrid")
plt.rcParams['font.sans-serif'] = ['SimHei']  # 支持中文

2. 伯努利与二项分布 PMF 可视化

python 复制代码
# 参数
p = 0.7
n = 10

# 伯努利分布
x_bern = [0, 1]
pmf_bern = [1 - p, p]

# 二项分布
x_binom = np.arange(0, n + 1)
pmf_binom = binom.pmf(x_binom, n, p)

# 绘图
fig, axes = plt.subplots(1, 2, figsize=(12, 4))

# 伯努利
axes[0].bar(x_bern, pmf_bern, color='skyblue', edgecolor='black')
axes[0].set_title('伯努利分布 (p=0.7)')
axes[0].set_xlabel('X'); axes[0].set_ylabel('P(X)')
axes[0].set_xticks([0, 1])

# 二项分布
axes[1].bar(x_binom, pmf_binom, color='lightcoral', edgecolor='black')
axes[1].set_title(f'二项分布 (n={n}, p={p})')
axes[1].set_xlabel('成功次数 k'); axes[1].set_ylabel('P(X=k)')

plt.tight_layout()
plt.show()

3. 二项分布模拟:分类任务性能分析

python 复制代码
# 模拟:1000 次实验,每次测试 100 个样本,真实准确率 0.8
np.random.seed(42)
n_trials = 1000
n_samples = 100
true_acc = 0.8

# 模拟正确预测数
correct_counts = np.random.binomial(n_samples, true_acc, size=n_trials)

# 理论分布
x_theory = np.arange(70, 91)
pmf_theory = binom.pmf(x_theory, n_samples, true_acc)

# 绘图:模拟 vs 理论
plt.figure(figsize=(10, 5))
plt.hist(correct_counts, bins=20, density=True, alpha=0.6, label='模拟结果', color='lightgreen')
plt.plot(x_theory, pmf_theory, 'ro-', label='理论 PMF')
plt.axvline(n_samples * true_acc, color='red', linestyle='--', label=f'期望值 = {n_samples * true_acc}')
plt.title('分类任务正确预测数分布(n=100, p=0.8)')
plt.xlabel('正确预测数'); plt.ylabel('概率密度')
plt.legend()
plt.show()

# 计算 95% 置信区间(经验)
lower = np.percentile(correct_counts, 2.5)
upper = np.percentile(correct_counts, 97.5)
print(f"95% 经验置信区间: [{lower:.1f}, {upper:.1 f}]")
print(f"理论标准差: {np.sqrt(n_samples * true_acc * (1 - true_acc)):.2f}")

4. 自定义二项 PMF 与累积分布(CDF)

python 复制代码
def binom_pmf(k, n, p):
    """手动计算二项 PMF"""
    if k < 0 or k > n:
        return 0.0
    return comb(n, k) * (p ** k) * ((1 - p) ** (n - k))

def binom_cdf(k, n, p):
    """手动计算二项 CDF"""
    return sum(binom_pmf(i, n, p) for i in range(0, k + 1))

# 测试
n, p = 5, 0.5
for k in range(n + 1):
    print(f"P(X ≤ {k}) = {binom_cdf(k, n, p):.4f}")

# 验证与 scipy 一致
assert abs(binom_cdf(3, 5, 0.5) - binom.cdf(3, 5, 0.5)) < 1e-10
print("✅ 手动实现与 scipy 一致")

5. AI 应用:分类误差的假设检验

问题:模型 A 在 1000 个样本上正确 850 个,模型 B 正确 830 个。差异是否显著?

python 复制代码
from statsmodels.stats.proportion import proportions_ztest

# 数据
count = np.array([850, 830])
nobs = np.array([1000, 1000])

# 双样本比例 z 检验
stat, pval = proportions_ztest(count, nobs)

print(f"Z 统计量: {stat:.4f}")
print(f"p 值: {pval:.4f}")

if pval < 0.05:
    print("✅ 差异显著(p < 0.05)")
else:
    print("❌ 差异不显著")

📌 原理:在零假设(两模型准确率相同)下,正确数服从二项分布,可用正态近似进行检验。


6. 泊松近似二项分布

python 复制代码
n_large = 1000
p_small = 0.01
lam = n_large * p_small  # λ = 10

x = np.arange(0, 20)
pmf_binom = binom.pmf(x, n_large, p_small)
pmf_poisson = poisson.pmf(x, lam)

plt.figure(figsize=(8, 5))
plt.plot(x, pmf_binom, 'bo-', label='Binomial(n=1000, p=0.01)')
plt.plot(x, pmf_poisson, 'r*--', label='Poisson(λ=10)')
plt.title('泊松近似二项分布(n大, p小)')
plt.xlabel('k'); plt.ylabel('P(X=k)')
plt.legend()
plt.show()

七、总结

概念 公式 AI 应用
伯努利分布 P(X=1)=p 单样本二分类预测
二项分布 \\binom{n}{k} p\^k (1-p)\^{n-k} 分类准确率建模、A/B 测试
泊松分布 \\frac{\\lambda\^k e\^{-\\lambda}}{k!} 稀有事件建模(如异常检测)
期望 \\mathbb{E}\[X\] = \\sum x p(x) 损失函数设计、策略梯度
方差 \\text{Var}(X) = \\mathbb{E}\[X\^2\] - (\\mathbb{E}\[X\])\^2 不确定性量化、置信区间

💡 关键洞见

  • 离散概率是理解分类模型性能不确定性的语言
  • 二项分布是评估准确率的标准工具
  • 贝叶斯思维贯穿整个 AI 决策过程
  • 避免"点估计陷阱":报告准确率时应附带置信区间(如 85% ± 1.2%)。

后续

python过渡项目部分代码已经上传至gitee,后续会逐步更新。

资料关注

公众号:咚咚王

gitee:https://gitee.com/wy18585051844/ai_learning

《Python编程:从入门到实践》

《利用Python进行数据分析》

《算法导论中文第三版》

《概率论与数理统计(第四版) (盛骤) 》

《程序员的数学》

《线性代数应该这样学第3版》

《微积分和数学分析引论》

《(西瓜书)周志华-机器学习》

《TensorFlow机器学习实战指南》

《Sklearn与TensorFlow机器学习实用指南》

《模式识别(第四版)》

《深度学习 deep learning》伊恩·古德费洛著 花书

《Python深度学习第二版(中文版)【纯文本】 (登封大数据 (Francois Choliet)) (Z-Library)》

《深入浅出神经网络与深度学习+(迈克尔·尼尔森(Michael+Nielsen)》

《自然语言处理综论 第2版》

《Natural-Language-Processing-with-PyTorch》

《计算机视觉-算法与应用(中文版)》

《Learning OpenCV 4》

《AIGC:智能创作时代》杜雨+&+张孜铭

《AIGC原理与实践:零基础学大语言模型、扩散模型和多模态模型》

《从零构建大语言模型(中文版)》

《实战AI大模型》

《AI 3.0》

相关推荐
零壹AI实验室3 分钟前
用AI 10分钟搭建一个监控系统:Prometheus + Grafana 实战
人工智能·grafana·prometheus
志栋智能5 分钟前
超自动化巡检:量化运维成效的标尺
运维·网络·人工智能·自动化
AI科技星6 分钟前
紫金山天文台与6G 超导太赫兹实验对比【乖乖数学】
人工智能·线性代数·机器学习·量子计算·agi
摩尔线程6 分钟前
摩尔线程携手紫光计算机发布《语音识别全栈国产化技术实践白皮书》
人工智能·语音识别·摩尔线程
字节跳动开源7 分钟前
局中局!给 Agent 装上 OpenViking,它们竟然学会了“记仇”和“伪装”?
人工智能·开源·llm
Exploring10 分钟前
通过 Vibe Coding,我开发的第一款鸿蒙 App 上架了,欢迎大家下载体验
人工智能
杀生丸学AI13 分钟前
【VALSE 2026】AI领域年度重要进展
人工智能
沪漂阿龙21 分钟前
面试题:文本表示方法详解——One-hot、Word2Vec、上下文表示、BERT词向量全解析(NLP基础高频考点)
人工智能·神经网络·自然语言处理·bert·word2vec
Luminbox紫创测控25 分钟前
氙灯太阳光模拟器加速老化测试
人工智能·测试工具·测试标准
沪漂阿龙26 分钟前
面试题详解:NLP基础概念与任务——一文吃透自然语言处理、Tokenization、文本分类、文本摘要、信息抽取与大模型应用
人工智能·自然语言处理·分类