正态分布(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

评论(0条)

(必填)
复制成功