人工智能数学之高斯分布

0.参考

从高斯分布的导出讲起——为什么概率密度函数长成这个样子? 作者:蓦风星吟

1.高斯分布的概率密度函数

f ( x ) = 1 2 π σ 2 e − ( x − μ ) 2 2 σ 2 f(x)=\frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{(x-\mu)^2}{2\sigma^2}} f(x)=2πσ2 1e2σ2(xμ)2
N ( μ , σ 2 ) N(\mu,\sigma^2) N(μ,σ2) μ \mu μ反应的是位置, σ \sigma σ反应的是形状。

2.几个概念

2.1 似然(Likelihood)

第一点 什么是似然

简单通俗的来讲就是,一系列的概率密度函数的乘积,说白了也就是还是一种特别的复合的“概率”。比如对于正态分布,如果有独立同分布的观察值 x 1 , x 2 , ⋯   , x n x_1,x_2,\cdots,x_n x1,x2,,xn,则其似然为: L ( x 1 , x 2 , ⋯   , x n ) = ∏ i = 1 n 1 2 π σ 2 e − ( x i − μ ) 2 2 σ 2 L(x_1,x_2,\cdots,x_n)=\prod_{i=1}^n\frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{(x_i-\mu)^2}{2\sigma^2}} L(x1,x2,,xn)=i=1n2πσ2 1e2σ2(xiμ)2

我们也可以看到对于正态分布,这里还依赖于两个参数,就是 μ \mu μ σ \sigma σ的二元函数。当然在给其中一个参数的情况下,我们也可以将其看成关于另一个的函数。

第二点 最大似然(Maximum Likelihood)

对于正态这个似然,在给其中一个参数的情况下,我们也可以将其看成关于另一个的函数。因此,在给定一个标准的情况下,那么是不是可以基于观测值对其中的未知参数进行估计呢?这是个非常朴素想法,就好比方程的思想,原本一个函数,给定自变量,那么对应的函数值自然可以计算。反过来,若是给定一定函数值,理论上我们也希望试图找到对应的自变量。这个想法再进一步就是,给定一个标准,比如最大,最小,我们基于这个标准,也试图去寻找对应达到标准 (比如最大,最小函数值)所对应的自变量,这就是参数估计的思想。
回到最大似然发的核心,在这里这个标准就是使得似然函数(关于某一或某一些参数的)最大,然后去估计对应的参数(基于观测值)的值。
至于为什么选择似然函数呢,其实主要也是因为似然函数朴素简单的表达出一种概率,一个基于n次观测的整体的概率,这样的情况下,我们自然朴素的认为或者是希望,似然中包含的合理的参数应该使得我们整体的概率最大的一个或者是一组,因此才被我们观测到。

3.如何基于一些假设导出正态分布

实际的测量中,若 μ \mu μ是分布均值的真实值,当然真实值我们永远不知道,只能希望根据观测值 x 1 , x 2 , ⋯   , x n x_1,x_2,\cdots,x_n x1,x2,,xn尽可能的去估计它。首先我们记观察误差 x i − μ x_i-\mu xiμ的分布密度函数为 p ( x i − μ ) p(x_i-\mu) p(xiμ),然后给出以下假设:

1. p ( x ) p(x) p(x)关于 x = 0 x=0 x=0对称,且对于一切 x x x成立 p ( x ) > 0 p(x)>0 p(x)>0
2. p ( x ) p(x) p(x)具有连续的导函数

下面来考察这两个假设的合理性

1.首先 p ( x ) p(x) p(x)关于 x = 0 x=0 x=0对称,这个假设非常合理,因为我们的似然误差分布密度函数为 p ( x i − μ ) p(x_i-\mu) p(xiμ),也就是观测值与真实均值的差,这个自然在左右的可能性一样,不然这个观测试验也就有偏颇了,当然另一个理由就是经验,再说非负性要求,这个也是必须的,概率没有负的。
2.连续的导函数,这个是为了求导方便。

由于我们的观察误差 x i − μ x_i-\mu xiμ的分布密度函数为 p ( x i − μ ) p(x_i-\mu) p(xiμ),那么此时的似然函数就是: L ( μ ) = ∏ i = 1 n p ( x i − μ ) L(\mu)=\prod_{i=1}^np(x_i-\mu) L(μ)=i=1np(xiμ)
实际上,这个似然函数刻画了这组观测值落在真实均值 μ \mu μ
附近的可能性大小。当然此处高斯还给出了一个重要的假设:

观察值的平均值 x ˉ = 1 n ∑ i = 1 n x i \bar x=\frac{1}{n}\sum_{i=1}^{n}x_i xˉ=n1i=1nxi作为未知参数 μ \mu μ的估计值时,使得似然 L ( μ ) L(\mu) L(μ)最大。

事实上,下面的推导主要还是依赖于这个假设。回头看看这个假设,其实也是符合逻辑和直观感受的,这表明观测的均值作为一个理论均值可以让似然函数最大。

4.高斯分布的导出的具体过程

x ˉ \bar x xˉ使得似然函数 L ( μ ) L(\mu) L(μ)最大,则必要条件就是 d L ( μ ) d μ ∣ μ = x ˉ = 0 \frac{dL(\mu)}{d\mu}|_{\mu=\bar x}=0 dμdL(μ)μ=xˉ=0,再加上对数即: d ln ⁡ L ( μ ) d μ ∣ μ = x ˉ = 0 \frac{d\ln L(\mu)}{d\mu}|_{\mu=\bar x}=0 dμdlnL(μ)μ=xˉ=0,记 d ln ⁡ p ( x ) d x = g ( x ) \frac{d\ln p(x)}{dx}=g(x) dxdlnp(x)=g(x),进一步就是 p ′ ( x ) p ( x ) = g ( x ) \frac{p^{'}(x)}{p(x)}=g(x) p(x)p(x)=g(x),代入到上式得: d ln ⁡ L ( μ ) d μ ∣ μ = x ˉ = d ln ⁡ ∏ i = 1 n p ( x i − μ ) d μ ∣ μ = x ˉ = d ∑ i = 1 n ln ⁡ p ( x i − μ ) d μ ∣ μ = x ˉ = ∑ i = 1 n d ln ⁡ p ( x i − μ ) d μ ∣ μ = x ˉ = − ∑ i = 1 n g ( x i − μ ) ∣ μ = x ˉ = − ∑ i = 1 n g ( x i − x ˉ ) = 0 \begin{aligned}\frac{d\ln L(\mu)}{d\mu}|_{\mu=\bar x}&=\frac{d\ln \prod_{i=1}^np(x_i-\mu)}{d\mu}|_{\mu=\bar x}\\&=\frac{d\sum_{i=1}^n\ln p(x_i-\mu)}{d\mu}|_{\mu=\bar x}\\&=\sum_{i=1}^n\frac{d\ln p(x_i-\mu)}{d\mu}|_{\mu=\bar x}\\&=-\sum_{i=1}^ng(x_i-\mu)|_{\mu=\bar x}\\&=-\sum_{i=1}^ng(x_i-\bar x)\\&=0\end{aligned} dμdlnL(μ)μ=xˉ=dμdlni=1np(xiμ)μ=xˉ=dμdi=1nlnp(xiμ)μ=xˉ=i=1n

### 关于T分布在人工智能数学基础中的作用 #### T分布的概念 T分布是一种连续型概率分布,主要用于样本量较小的情况下估计总体均值。当数据集的规模较小时,正态分布可能无法很好地描述数据特性,而T分布则能更好地适应这种情况。由于其在小样本统计推断中的重要性,在机器学习和深度学习领域中也经常被用来评估模型性能或验证假设[^2]。 #### T分布的应用场景 1. **置信区间计算** 在训练神经网络或其他复杂模型时,通常会遇到有限的数据集。此时可以利用T分布来估算某些指标(如损失函数、精度等)的真实范围。这有助于研究人员了解模型表现是否存在显著差异。 2. **假设检验** 假设检验是AI开发过程中常用的技术之一,特别是在比较不同超参数设置下的效果或者测试新特征是否有效时。例如,可以通过单样本t检验判断某个特定条件下得到的结果是否明显优于其他条件下的结果。 3. **贝叶斯推理中的先验与后验分布建模** 虽然严格意义上讲,标准形式下使用的更多是高斯分布作为共轭先验;但在某些特殊情况下(比如方差未知),也可能采用学生氏t分布来进行近似表示。这种做法尤其适用于那些具有较强鲁棒性的系统设计当中[^3]。 #### Python实现示例 下面给出一段基于SciPy库完成简单t检验操作的例子: ```python from scipy import stats import numpy as np # 创建两个随机数组模拟实验组A和对照组B的成绩分数 np.random.seed(0) # 设置种子以便重复试验 group_a_scores = np.random.normal(loc=78, scale=10, size=30) group_b_scores = np.random.normal(loc=85, scale=9 ,size=30) # 执行独立双样本t-test t_statistic, p_value = stats.ttest_ind(group_a_scores, group_b_scores) print(f"T-statistic: {t_statistic}") print(f"P-value : {p_value}") if p_value < 0.05: print("拒绝原假设:两组成绩存在显著差别") else: print("接受原假设:无证据表明两组成绩有显著区别") ``` 此脚本展示了如何通过`scipy.stats.ttest_ind()`函数执行独立双样本t检验,并根据所得P值决定是否支持所提出的零假设——即认为两组之间不存在任何有意义的区别。 --- #### 总结 综上所述,尽管传统意义上的线性代数、微积分以及优化理论构成了大部分现代AI框架的核心组成部分,但像T分布这样的高级统计学概念同样扮演着不可替代的角色。它们共同支撑起了整个学科体系的发展壮大之路[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值