更新时间:作者:小小条
第一章 基础概念

概率论与统计是数据科学、机器学*、金融工程等领域的数学基石。本文系统介绍随机变量、常见概率分布(高斯/伯努利/多项式)、期望、方差、协方差等核心概念,并提供完整的 Python(NumPy / SciPy / Matplotlib)代码实现。
✅ 随机变量不是“变量”,而是一个函数;其“随机性”来自输入(试验结果)的不确定性。
描述随机变量取各个值的可能性。
$ P(X = x) = \begin{cases} p & x = 1 \\ 1 - p & x = 0 \end{cases} $
记作:$ X \sim \text{Bernoulli}(p) $$ P(X = k) = \binom{n}{k} p^k (1-p)^{n-k},\quad k=0,1,\dots,n $
$ P(X1 = x1, \dots, Xk = xk) = \frac{n!}{x1! \cdots xk!} p1^{x1} \cdots pk^{xk} $
其中 $ \sum x_i = n $
$
$
伯努利是二项分布 \(n=1\) 的特例;二项是多项分布 \(k=2\) 的特例。
$ f(x) = \frac{1}{\sqrt{2\pi}\sigma} \exp\left( -\frac{(x - \mu)^2}{2\sigma^2} \right) $
记作:$ X \sim \mathcal{N}(\mu, \sigma^2)$标准正态:$ \mu=0, \sigma=1 $$ \mathbb{E}[X] = \sum_x x \cdot P(X = x) $
连续型:$ \mathbb{E}[X] = \int_{-\infty}^{\infty} x f(x) dx $
$ \text{Var}(X) = \mathbb{E}[(X - \mathbb{E}[X])^2] = \mathbb{E}[X^2] - (\mathbb{E}[X])^2 $
标准差:$ \sigma = \sqrt{\text{Var}(X)} $$ \text{Cov}(X, Y) = \mathbb{E}[(X - \mathbb{E}[X])(Y - \mathbb{E}[Y])] $
性质:$\text{Cov}(X, X) = \text{Var}(X) $若 $X, Y$ 独立,则 $ \text{Cov}(X, Y) = 0 $(逆命题不成立!)$ \rho{X,Y} = \frac{\text{Cov}(X, Y)}{\sigmaX \sigma_Y} \in [-1, 1] $
import numpy as npimport matplotlib.pyplot as pltfrom scipy.stats import bernoulli, binom, multinomial, normimport seaborn as snssns.set(style="whitegrid")
p = 0.7rv = bernoulli(p)# PMFx = [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}")
n, p = 10, 0.4rv = 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}")
n = 10p = [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)
mu, sigma = 0, 1rv = 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}")
# 生成高斯随机样本np.random.seed(0)X = np.random.normal(2, 3, size=10000) # μ=2, σ=3 → Var=9Y = 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()
# 二维高斯分布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 pi (1 - pi) $ |
高斯 | $\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)}{\sigmaX \sigmaY} $ | 无量纲,∈[-1,1] |
掌握这些基础概念,有助于理解更高级统计模型(如贝叶斯推断、最大似然估计、线性回归)的钥匙。概率是不确定性的语言,统计是从数据中学*这门语言的方法。
建议: ✅ 多用代码模拟随机过程,建立直觉 ✅ 区分“理论值”与“样本估计值” ✅ 理解协方差 ≠ 因果关系!
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》
版权声明:本文转载于今日头条,版权归作者所有,如果侵权,请联系本站编辑删除