python - 构建简单神经网络时的 Python 代码
问题描述
2*np.random.random.((3,1))-1
在上面的语法中,为什么我们2*
在开始和-1
最后使用......
请通过提供正确的相关答案来帮助我
解决方案
从文档
结果来自规定区间内的“连续均匀”分布。采样 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 之间。
推荐阅读
- javascript - 解析文件并创建符合特定条件的键值对
- java - 从命令行启动时,Spring Batch 不产生日志输出
- android - 为什么Android Studio arm64系统镜像很慢?
- node.js - 如何修复节点中注释长度无效的无效 zip 文件(供 yauzl 等严格库使用)
- php - Laravel 5.6 auth 指令不适用于某些视图
- r - 如何检查列表是否包含`NA`?
- ajax - 在枚举值中使用特殊字符
- java - 启动时在 Centos/Red Hat 中设置 Java 环境
- go - 变异参数作为对象
- postgresql - Sequelize - 使用嵌套实体的条件搜索查询