为什么 randn 的均值并不总是为 0,方差为 1?

Rea*_*lar 2 python random pytorch tensor

对于PyTorch.randn()方法,文档说:

返回一个张量,该张量填充有来自具有均值0和方差的正态分布1(也称为标准正态分布)的随机数。

这是一个张量示例:

x = torch.randn(4,3)
tensor([[-0.6569, -0.7337, -0.0028],
        [-0.3938,  0.3223,  0.0497],
        [ 0.0129, -2.7546, -2.2488],
        [ 1.6754, -0.1497,  1.8202]])
Run Code Online (Sandbox Code Playgroud)

当我打印平均值时:

x.mean()
tensor(-0.2550)
Run Code Online (Sandbox Code Playgroud)

当我打印标准差时:

x.std()
tensor(1.3225)
Run Code Online (Sandbox Code Playgroud)

那么为什么均值不为 0,标准差不为 1呢?

额外问题:如何生成均值为 0 的随机张量?

kut*_*kem 5

如果分布的有限样本具有完全相同的均值和完全相同的标准差,这将是一个很大的巧合。预计生成的数字越多,样本的均值和偏差就越接近分布的“真实”均值和偏差。