首页 > 解决方案 > 构建简单神经网络时的 Python 代码

问题描述

2*np.random.random.((3,1))-1 

在上面的语法中,为什么我们2*在开始和-1最后使用......

请通过提供正确的相关答案来帮助我

标签: python

解决方案


文档

结果来自规定区间内的“连续均匀”分布。采样 Unif[a, b), b > a 将 random_sample 的输出乘以 (ba) 并添加 a:

(b - a) * random_sample() + a

换句话说,不是在 0(包含)和 1(排除)之间进行采样,而是从 -1(包含)到 1(排除)进行采样。这只是一个 numpy 数组的算术运算。

更详细地说,您的代码行中的第一个操作是numpy.random.random((3, 1)). 这会调用 numpy.random 库中的 random() 函数。此函数接受一个输入,即您要生成的对象的大小。在这里,您生成一个具有 3 行和 1 列的 numpy 数组。这个数组填充了 0 到 1 之间的随机值。然后,第二个操作是2 *。这样,数组的每个值都乘以 2,因此所有值都在 0 和 2 之间。最后,-1。在这里,数组的所有值都减去 1,因此您的最终值介于 -1 和 1 之间。


推荐阅读