正态分布(Normal distribution)
阅读 9
正态分布(Normal distribution),又称常态分布或高斯分布,通常记作X~N(μ, σ2)。其中,μ是均值,σ是标准差。
我们来看一组学生身高的数据,单位为cm:
height = [162, 161, 179, 176, 170, 171, 168]求其平均值:
mean = sum(height) / len(height)
print(f"平均身高: {mean:.1f} cm")得到学生的平均身高为169.6。
求其标准差:
# 计算标准差:sqrt( Σ(x - mean)² / n )
variance = sum((x - mean) ** 2 for x in height) / len(height)
std = variance**0.5 # 对方差开平方
print(f"标准差: {std:.1f} cm")得到其标准差为6.2。
所以,这组身高数据的均值是 169.6,标准差是 6.2,它是一个参数为 (μ=169.6, σ=6.2) 的高斯分布。
标准高斯分布
标准高斯分布是高中数学课程中的一个重要概念,属于概率论和统计学的范畴。它是高斯分布的一个特例,要求非常严苛:均值μ必须是 0,标准差σ必须是 1。
在数据处理(比如进入神经网络之前)中,我们经常需要对数据进行 Standardization(标准化)。公式为:z = (x-μ)/σ。用Python处理如下:
z = [(x - mean) / std for x in height]得到的新序列z,就可以说是从标准高斯分布中采样得到的了。
在pytorch中,可以使用randn方法来生成符合标准高斯分布的采样数据:
t = torch.randn(3, 2)会得到类似如下的3行2列的数据:
tensor([[-0.0393, 1.1493],
[ 2.2681, 0.9132],
[-0.0040, -0.5821]])这组数据的每个元素是从标准高斯分布中随机采样的。
现实世界的数据(如身高、股价、气温)通常是普通的高斯分布,需要通过对μ和σ进行标准化后,才能变成 randn 那样的标准状态。
最后编辑于: 2026-05-01