人工智能之数学基础 概率论与统计
第一章 基础概念
文章目录
- [人工智能之数学基础 概率论与统计](#人工智能之数学基础 概率论与统计)
- 前言
- 一、基本概念
- [1. 随机试验与样本空间](#1. 随机试验与样本空间)
- [2. 随机变量(Random Variable, RV)](#2. 随机变量(Random Variable, RV))
- [二、概率分布(Probability Distribution)](#二、概率分布(Probability Distribution))
- [1. 离散分布](#1. 离散分布)
- [(1) 伯努利分布(Bernoulli Distribution)](#(1) 伯努利分布(Bernoulli Distribution))
- [(2) 二项分布(Binomial Distribution)](#(2) 二项分布(Binomial Distribution))
- [(3) 多项分布(Multinomial Distribution)](#(3) 多项分布(Multinomial Distribution))
- [2. 连续分布](#2. 连续分布)
- [高斯分布(正态分布,Gaussian / Normal Distribution)](#高斯分布(正态分布,Gaussian / Normal Distribution))
- 三、数字特征:期望、方差、协方差
- [1. 期望(Expectation / Mean)](#1. 期望(Expectation / Mean))
- [2. 方差(Variance)](#2. 方差(Variance))
- [3. 协方差(Covariance)](#3. 协方差(Covariance))
- [4. 相关系数(Pearson Correlation)](#4. 相关系数(Pearson Correlation))
- [四、Python 代码实现](#四、Python 代码实现)
- [1. 导入库](#1. 导入库)
- [2. 伯努利分布](#2. 伯努利分布)
- [3. 二项分布](#3. 二项分布)
- [4. 多项分布](#4. 多项分布)
- [5. 高斯(正态)分布](#5. 高斯(正态)分布)
- [6. 期望、方差、协方差的数值验证](#6. 期望、方差、协方差的数值验证)
- [7. 协方差矩阵(多维高斯)](#7. 协方差矩阵(多维高斯))
- 五、重要性质总结表
- 后续
- 资料关注
前言
概率论与统计是数据科学、机器学习、金融工程等领域的数学基石。本文系统介绍随机变量、常见概率分布(高斯/伯努利/多项式)、期望、方差、协方差 等核心概念,并提供完整的 Python(NumPy / SciPy / Matplotlib)代码实现。
一、基本概念
1. 随机试验与样本空间
- 随机试验:结果不确定但所有可能结果已知的过程(如掷骰子)
- 样本空间(Ω):所有可能结果的集合,如 Ω = {1,2,3,4,5,6}
2. 随机变量(Random Variable, RV)
- 定义:将样本空间中的每个结果映射到一个实数的函数。
- 类型 :
- 离散型:取值有限或可数无限(如掷骰子点数)
- 连续型:取值充满某个区间(如身高、温度)
✅ 随机变量不是"变量",而是一个函数;其"随机性"来自输入(试验结果)的不确定性。
二、概率分布(Probability Distribution)
描述随机变量取各个值的可能性。
1. 离散分布
(1) 伯努利分布(Bernoulli Distribution)
- 场景:单次二元试验(成功/失败)
- 参数: p \\in \[0,1\] (成功概率)
- PMF (概率质量函数):
P ( X = x ) = { p x = 1 1 − p x = 0 P(X = x) = \begin{cases} p & x = 1 \\ 1 - p & x = 0 \end{cases} P(X=x)={p1−px=1x=0 - 记作: X \\sim \\text{Bernoulli}§
(2) 二项分布(Binomial Distribution)
- 场景:n 次独立伯努利试验的成功次数
- 参数 : n (试验次数), (试验次数), (试验次数),p (单次成功概率)
- 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
(3) 多项分布(Multinomial Distribution)
-
场景 :n 次独立试验,每次有 k k k种可能结果
-
参数: n ,概率向量 \\mathbf{p} = (p_1, \\dots, p_k) ,满足 \\sum p_i = 1
-
PMF:
P ( X 1 = x 1 , ... , X k = x k ) = n ! x 1 ! ⋯ x k ! p 1 x 1 ⋯ p k x k P(X_1 = x_1, \dots, X_k = x_k) = \frac{n!}{x_1! \cdots x_k!} p_1^{x_1} \cdots p_k^{x_k} P(X1=x1,...,Xk=xk)=x1!⋯xk!n!p1x1⋯pkxk
其中 \\sum x_i = n
📌 伯努利是二项分布 (n=1) 的特例;二项是多项分布 (k=2) 的特例。
2. 连续分布
高斯分布(正态分布,Gaussian / Normal Distribution)
- 场景:自然界大量现象(身高、测量误差等)
- 参数:均值 \\mu ,标准差 \\sigma \> 0
- PDF (概率密度函数):
f ( x ) = 1 2 π σ exp ( − ( x − μ ) 2 2 σ 2 ) f(x) = \frac{1}{\sqrt{2\pi}\sigma} \exp\left( -\frac{(x - \mu)^2}{2\sigma^2} \right) f(x)=2π σ1exp(−2σ2(x−μ)2) - 记作: X \\sim \\mathcal{N}(\\mu, \\sigma\^2)
- 标准正态: \\mu=0, \\sigma=1
三、数字特征:期望、方差、协方差
1. 期望(Expectation / Mean)
- 意义:随机变量的"平均值"或"中心位置"
- 离散型 :
E [ X ] = ∑ x x ⋅ P ( X = x ) \mathbb{E}[X] = \sum_x x \cdot P(X = x) E[X]=x∑x⋅P(X=x) - 连续型 :
E [ X ] = ∫ − ∞ ∞ x f ( x ) d x \mathbb{E}[X] = \int_{-\infty}^{\infty} x f(x) dx E[X]=∫−∞∞xf(x)dx
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 - 标准差: \\sigma = \\sqrt{\\text{Var}(X)}
3. 协方差(Covariance)
- 意义:衡量两个随机变量的线性相关程度
- 定义 :
Cov ( X , Y ) = E [ ( X − E [ X ] ) ( Y − E [ Y ] ) ] \text{Cov}(X, Y) = \mathbb{E}[(X - \mathbb{E}[X])(Y - \mathbb{E}[Y])] Cov(X,Y)=E[(X−E[X])(Y−E[Y])] - 性质 :
- \\text{Cov}(X, X) = \\text{Var}(X)
- 若 X , Y X, Y X,Y 独立,则 \\text{Cov}(X, Y) = 0 (逆命题不成立!)
4. 相关系数(Pearson Correlation)
- 标准化协方差 :
ρ X , Y = Cov ( X , Y ) σ X σ Y ∈ [ − 1 , 1 ] \rho_{X,Y} = \frac{\text{Cov}(X, Y)}{\sigma_X \sigma_Y} \in [-1, 1] ρX,Y=σXσYCov(X,Y)∈[−1,1]
四、Python 代码实现
1. 导入库
python
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import bernoulli, binom, multinomial, norm
import seaborn as sns
sns.set(style="whitegrid")
2. 伯努利分布
python
p = 0.7
rv = bernoulli(p)
# PMF
x = [0, 1]
pmf = rv.pmf(x)
plt.bar(x, pmf, tick_label=x, color=['skyblue', 'salmon'])
plt.title(f'伯努利分布 (p={p})')
plt.xlabel('x'); plt.ylabel('P(X=x)')
plt.show()
print(f"理论期望: {rv.mean():.2f}, 方差: {rv.var():.2f}")
3. 二项分布
python
n, p = 10, 0.4
rv = binom(n, p)
x = np.arange(0, n+1)
pmf = rv.pmf(x)
plt.plot(x, pmf, 'bo-', label=f'Binomial(n={n}, p={p})')
plt.title('二项分布')
plt.xlabel('成功次数 k'); plt.ylabel('P(X=k)')
plt.legend()
plt.show()
print(f"期望: {rv.mean():.2f}, 方差: {rv.var():.2f}")
4. 多项分布
python
n = 10
p = [0.2, 0.5, 0.3] # 三种结果的概率
rv = multinomial(n, p)
# 生成一个样本
sample = rv.rvs(size=1)[0]
print("一次多项试验结果(各类出现次数):", sample)
# 生成多个样本,计算经验均值
samples = rv.rvs(size=10000)
empirical_mean = samples.mean(axis=0)
theoretical_mean = rv.mean()
print("经验均值:", empirical_mean)
print("理论均值:", theoretical_mean)
5. 高斯(正态)分布
python
mu, sigma = 0, 1
rv = norm(mu, sigma)
x = np.linspace(-4, 4, 1000)
pdf = rv.pdf(x)
cdf = rv.cdf(x)
plt.figure(figsize=(10, 4))
plt.subplot(1, 2, 1)
plt.plot(x, pdf, 'b-', lw=2)
plt.title(f'高斯分布 PDF\nμ={mu}, σ={sigma}')
plt.xlabel('x'); plt.ylabel('f(x)')
plt.subplot(1, 2, 2)
plt.plot(x, cdf, 'r-', lw=2)
plt.title('CDF')
plt.xlabel('x'); plt.ylabel('F(x)')
plt.tight_layout()
plt.show()
print(f"期望: {rv.mean():.2f}, 方差: {rv.var():.2f}")
6. 期望、方差、协方差的数值验证
python
# 生成高斯随机样本
np.random.seed(0)
X = np.random.normal(2, 3, size=10000) # μ=2, σ=3 → Var=9
Y = 2 * X + np.random.normal(0, 1, size=10000) # Y 与 X 相关
# 样本统计量
mean_X = np.mean(X)
var_X = np.var(X, ddof=0) # 总体方差(ddof=0)
cov_XY = np.cov(X, Y, ddof=0)[0, 1] # 协方差矩阵
corr_XY = np.corrcoef(X, Y)[0, 1]
print(f"X 样本均值: {mean_X:.2f} (理论: 2)")
print(f"X 样本方差: {var_X:.2f} (理论: 9)")
print(f"Cov(X,Y): {cov_XY:.2f}")
print(f"Corr(X,Y): {corr_XY:.2f}")
# 可视化
plt.scatter(X[:500], Y[:500], alpha=0.5)
plt.xlabel('X'); plt.ylabel('Y')
plt.title('X 与 Y 的散点图(正相关)')
plt.show()
7. 协方差矩阵(多维高斯)
python
# 二维高斯分布
mean = [0, 0]
cov = [[1, 0.8],
[0.8, 2]] # 协方差矩阵必须对称正定
# 生成样本
data = np.random.multivariate_normal(mean, cov, size=1000)
X2, Y2 = data[:, 0], data[:, 1]
# 绘制
plt.figure(figsize=(6, 5))
plt.scatter(X2, Y2, alpha=0.6)
plt.xlabel('X'); plt.ylabel('Y')
plt.title('二维高斯分布(协方差=0.8)')
plt.axis('equal')
plt.show()
# 验证协方差
sample_cov = np.cov(data.T)
print("理论协方差矩阵:\n", np.array(cov))
print("样本协方差矩阵:\n", sample_cov)
五、重要性质总结表
| 分布 | 参数 | 期望 | 方差 |
|---|---|---|---|
| 伯努利 | p | p | p(1-p) |
| 二项 | n, p | np | np(1-p) |
| 多项 | n, \\mathbf{p} | n p_i | n p_i (1 - p_i) |
| 高斯 | \\mu, \\sigma\^2 | \\mu | \\sigma\^2 |
| 概念 | 公式 | 说明 |
|---|---|---|
| 期望 | \\mathbb{E}\[X\] | 分布的"重心" |
| 方差 | \\text{Var}(X) = \\mathbb{E}\[X\^2\] - (\\mathbb{E}\[X\])\^2 | 离散程度 |
| 协方差 | \\text{Cov}(X,Y) = \\mathbb{E}\[XY\] - \\mathbb{E}\[X\]\\mathbb{E}\[Y\] | 线性相关性 |
| 相关系数 | \\rho = \\frac{\\text{Cov}(X,Y)}{\\sigma_X \\sigma_Y} | 无量纲,∈[-1,1] |
六、应用场景
- 伯努利/二项:点击率预测、A/B 测试
- 多项:文本分类(词频)、用户行为建模
- 高斯:异常检测、回归模型假设、卡尔曼滤波
- 协方差矩阵:PCA、高斯过程、投资组合优化
七、结语
掌握这些基础概念,有助于理解更高级统计模型(如贝叶斯推断、最大似然估计、线性回归)的钥匙。概率是不确定性的语言,统计是从数据中学习这门语言的方法。
建议:
✅ 多用代码模拟随机过程,建立直觉
✅ 区分"理论值"与"样本估计值"
✅ 理解协方差 ≠ 因果关系!
后续
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》