✨ 复制成功!

以文会友,打造好学人设!

📋 已复制到剪贴板:

《PyTorch入门精华》


1 前言
    1.1  PyTorch安装

    1.2  显卡驱动的困惑

    1.3  CUDA安装注意事项

    1.4  cuDNN的介绍

    1.5  Pytorch Lightning介绍

    1.6  PyTorch学习之道

    1.7  PyTorch快速入门

    1.8  PyTorch调参之道

    1.9  PyTorch调参套件

    1.10  手动创建虚拟环境

2 深度学习之数学基础
    2.1  希腊字母解读

    2.2  梯度的物理意义

    2.3  图解梯度下降法

    2.4  图解梯度上升法

    2.5  自然梯度

    2.6  泰勒公式的介绍

    2.7  信息与信息熵

    2.8  重要性采样

    2.10  欧几里得范数

    2.11  特征值和特征向量

    2.12  似然函数的理解

    2.13  矩阵秩的深刻理解

3 PyTorch入门疑难点
4 PyTorch全局设置
    4.1  全局设置当前设备

    4.2  全局设置浮点精度

5 PyTorch GPU分布式训练
    5.1  PyTorch GPU基础操作

    5.2  DataParallel用法详解

    5.3  GPU分布式训练模型

    5.4  CUDA_VISIBLE_DEVICES

    5.5  device详细说明

    5.6  to(device)和.cuda()

    5.7  CUDA设备索引

    5.8  GPU设备索引

6 向量的基础与核心
    6.1  Tensor的组成与存储

    6.2  Tensor的grad属性

    6.4  Tensor的叠加

    6.5  禁用梯度计算

    6.6  向量的保存和加载

    6.7  参数向量

    6.8  叶子节点

    6.9  detach原理

    6.10  requires_grad属性

    6.11  Tensor与Numpy互换

    6.12  张量cat操作

    6.13  零维张量

    6.15  squeeze/unsqu...函数

    6.16  argmax和max的区别

    6.17  torch.as_tensor的应用

7 神经网络基础
    7.2  PyTorch计算图

    7.3  查看网络权重参数

    7.4  保存模型

    7.5  Adam相关面试题

    7.6  Train模式和Eval模式

    7.7  线性网络

    7.8  双线性网络

    7.9  惰性线性层

    7.10  PyTorch中的自动微分

    7.12  Dropout机制

    7.13  半精度训练

    7.14  Xavier初始化

    7.15  注意力机制

    7.16  Dataset数据处理

    7.17  StepLR学习率调度器

    7.18  词嵌入的理解

    7.19  TensorDataset的使用

    7.20  模型的保存与加载

    7.21  ModuleList和Sequential

    7.22  Batch Normalization介绍

8 计算机视觉基础知识
    8.1  通道的深刻理解

    8.2  1x1卷积的作用

    8.3  特征提取和可视化

    8.4  反卷积的推导

    8.5  理解卷积

    8.7  空洞卷积

    8.8  池化层的作用

    8.9  感受野与特征图

    8.10  NMS算法

    8.11  特征图尺寸计算

9 循环神经网络基础
    9.2  RNN的介绍

10 注意力机制
    10.1  位置编码的作用

    10.2  位置编码的种类

    10.4  Embedding本质理解

    10.6  Transformer VS CNN/RNN

    10.7  ELMo介绍

11 PyTorch归一化
    11.2  层归一化技术详解

12 激活函数相关内容
    12.1  激活函数简介

    12.2  万能逼近定理

    12.3  指数函数的学习

    12.4  Sigmoid函数的介绍

    12.5  Tanh函数的介绍

    12.6  Softmax函数的实现

    12.7  ReLU函数的介绍

    12.8  Leaky Relu函数的介绍

    12.9  ReLu与非线性的理解

    12.10  Parametric ReLU函数

    12.11  ELU函数介绍

    12.12  神经元死亡的问题

13 思考题的答案
    13.1  思考题的答案解密

高斯分布的数学公式是怎么推导出来的?

创建时间:2025-03-14 更新时间:2026-01-04 阅读次数:1650 次

大数学家高斯一生有无数的数学发现,但是被人称为其一生最大的发现则是高斯分布。高斯分布(也称为正态分布)是概率论和统计学中最重要的分布之一。它的公式看起来很复杂,这个公式到底是怎么来的呢? \[ f(x) = \frac{1}{\sqrt{2\pi}\sigma} e^{-\frac{(x-\mu)^2}{2\sigma^2}} \]

其中,\(\mu\) 是均值,\(\sigma\) 是标准差。

1、棣莫弗的发现

实际上,正态分布的最早发现者是棣莫弗。棣莫弗是法国数学家,尽管他在学术研究方面颇有成就,但却贫困潦倒,终生未婚。每次想起棣莫弗的人生经历,我总是嘘唏不已。为了生活,棣莫弗一直做数学方面的家庭教师。另外,他不时撰写文章,还参与研究确定保险年金的实际问题,但获得的收入却极其微薄,只能勉强糊口。他经常抱怨说,周而复始从一家到另一家给孩子们讲课,单调乏味地奔波于雇主之间,纯粹是浪费时间。为此,他曾做了许多努力,试图改变自己的处境,但无济于事。

棣莫弗对概率方面的问题十分感兴趣,很早就发现了正态分布的公式,牛顿对棣莫弗十分欣赏。据说,后来遇到学生向牛顿请教概率方面的问题时,他就说:“这样的问题应该去找棣莫弗,他对这些问题的研究比我深入得多”。

下面我从棣莫弗的发现给大家说一下正态分布的发现过程。棣莫弗发现正态分布雏形的过程,是数学史上一次智慧的飞跃,但他当时并没有完全认识到这个发现的全部意义。他的工作是在解决一个非常实际的问题中产生的。

8世纪初,赌博游戏中的概率问题推动了许多数学发展。棣莫弗研究的是一个经典的二项分布问题:抛一枚公平的硬币 n 次,恰好出现 k 次正面的概率是多少?

棣莫弗首先成功地推导出了当 $p = \frac {1} {2}$ 时,二项概率的一个精确(但依然复杂)的表达式:

$$P(X=k) = \binom{n}{k} \left(\frac {1} {2} \right)^2 $$

但是当 n 非常大时,计算二项系数 $\binom{n}{k}$(即组合数)是极其繁琐的,在没有计算机的时代,这简直是一场噩梦。棣莫弗迫切需要一个大数 n 情况下的近似公式。棣莫弗首先推导出了阶乘 n! 的一个近似公式,这后来被他的朋友詹姆斯·斯特林完善为著名的斯特林公式:

$$n! = \sqrt{2πn} \binom{n}{k} \left(\frac {n} {e} \right)^n $$ 这是整个推导过程中最关键的一步,因为它把难以处理的阶乘转化成了指数和根式的形式。利用这个阶乘近似,他代入二项概率公式,并进行了一系列非常复杂的代数运算和化简。经过艰难的推导,大约在1733年,棣莫弗得到了一个惊人的结果:当 n 很大时,二项分布的概率分布可以近似地用以下函数描述:

\[ \frac{1}{\sqrt{2\pi n/4}} e^{-\frac{2}{n}(k-n/2)^2} \]

如果我们用现代符号解读:

  • 令 $x = k$

  • 令 $\sigma = \sqrt{n}/2$ 为标准差

  • 令 $\mu = n/2$ 为均值

那么,棣莫弗的公式本质上是:这正是均值为 $n/2$,方差为 $n/4$ 的正态分布概率密度函数!

2、棣莫弗发现的局限性

尽管棣莫弗首次推导出了正态分布的数学形式,但他的发现存在几个历史局限性:

  • 仅限于 $p = 1/2$: 他只研究了公平硬币(概率为$1/2$)的情况,没有推广到任意概率$p$。

  • 视为近似工具,而非独立分布: 棣莫弗只是把这个公式当作一个计算二项分布的近似工具。他并没有把它视为一个独立的、具有普遍意义的概率分布。

  • 未认识其普适性: 他没有意识到这个分布本身在误差分析、自然现象等领域拥有广泛的应用前景。他解决的是一个具体的数学问题,而非在探索一个普适定律。

几十年后,皮埃尔-西蒙·拉普拉斯读到了棣莫弗的工作,并将其推广到了 任意概率 $p$ 的情况,这就是著名的棣莫弗-拉普拉斯中心极限定理,它正式揭示了二项分布与正态分布之间的深刻联系。后来,高斯在研究误差理论时,独立地再次发现了这个分布,并系统地阐述了它的性质,使其广为人知,故而得名“高斯分布”。

3、高斯的发现过程

天文学和大地测量学中,对同一个量(比如行星的位置、一座山的高度)进行多次测量,得到的结果总会略有差异。这些差异就是“误差”。如何从这些充满误差的测量值中,找出最可信的“真值”?高斯提出了几个合理的假设:

  • 误差是随机的,小误差比大误差更可能出现。

  • 测量值围绕真值对称分布。

  • 真值应该是让所有观测值出现的概率最大的那个值。

基于这些假设,高斯进行数学推导,发现误差的概率分布函数必须符合我们上面看到的那个公式。他成功地将问题“反解”了——不是先有分布再找真值,而是基于“最可信真值”的原则,反推出了误差必须遵循的分布形式。因此,这个分布也常被称为高斯分布。

4、高斯的数学推理过程

4.1、基本假设

高斯分布的推导基于以下几个假设:

  • 分布是对称的,且峰值在均值 \(\mu\) 处。

  • 数据点离均值越远,出现的概率越小。

  • 分布的形状由均值和标准差决定。

4.2、概率密度函数的形式

我们希望找到一个函数 \(f(x)\),使得:

  • \(f(x)\) 在 \(x = \mu\) 处取得最大值。

  • \(f(x)\) 随着 \(|x - \mu|\) 的增大而减小。

  • 整个函数在实数轴上的积分为1(即总概率为1)。

4.3、指数函数的引入

为了满足上述条件,我们可以考虑使用指数函数。假设 \(f(x)\) 的形式为:

\[ f(x) = A e^{-k(x-\mu)^2} \]

其中,\(A\) 和 \(k\) 是待定常数。指数函数 \(e^{-k(x-\mu)^2}\) 在 \(x = \mu\) 处取得最大值1,并且随着 \(|x - \mu|\) 的增大而减小。

4.4、确定常数 \(k\)

为了确定 \(k\),我们需要考虑方差 \(\sigma^2\)。方差是数据点与均值之间距离的平方的期望值。通过计算,我们可以得到:

\[ k = \frac{1}{2\sigma^2} \]

4.5、确定常数 \(A\)

为了使 \(f(x)\) 在整个实数轴上的积分为1,我们需要对 \(f(x)\) 进行归一化。通过积分计算,可以得到:

\[ A = \frac{1}{\sqrt{2\pi}\sigma} \]

4.6、最终形式

将 \(A\) 和 \(k\) 代入 \(f(x)\) 的表达式,我们得到高斯分布的概率密度函数:

\[ f(x) = \frac{1}{\sqrt{2\pi}\sigma} e^{-\frac{(x-\mu)^2}{2\sigma^2}} \]

4.7、总结

高斯分布的推导基于对称性、峰值在均值处、以及随着距离均值的增大而减小的概率密度。通过引入指数函数并确定常数 \(A\) 和 \(k\),我们得到了高斯分布的数学公式。这个公式在统计学和概率论中有着广泛的应用。

本教程共117节,当前为第19节!
本教程最新修订时间为:2026-08-07 09:17:18

📌 面试天下网:一款服务于大一新生的口袋书,让大家在无聊的公共课上可以学习大模型技术!
📌 网站公告:程序出海:中国程序员当下最大的机遇>>>>>>