np.random.uniform() 采样得到的是一个高维立方体,而不是球体,为什么?

在代码中,采样是通过以下方式完成的:

samples = self.center + np.random.uniform(-self.radius, self.radius, (num_samples, len(self.center)))

这里,np.random.uniform函数在每个维度独立地生成了一个介于-self.radiusself.radius之间的随机数。这意味着每个维度都是独立采样的,每个维度的采样范围都是一个长度为2 * self.radius的线段。当你结合所有维度的采样结果时,形成的是一个边长为2 * self.radius的超立方体(在三维空间中就是一个立方体)。

为什么?

如果你在一维空间中不断进行均匀采样,你得到的是一个线段。
在二维空间中,你得到的是一个正方形区域的采样。
在三维空间中,你得到的是一个立方体内的采样。
以此类推,在更高维空间中,采样形成的是一个超立方体。

猜你喜欢

转载自blog.csdn.net/weixin_43135178/article/details/134721805
今日推荐