numpy使用中的疑惑
numpy中有一些常用的用来产生随机数的函数,randn就是其中一个,randn函数位于numpy.random中,函数原型如下:
numpy.random.randn(d0, d1, ..., dn)
这个函数的作用就是从标准正态分布中返回一个或多个样本值。什么是标准正态分布,大哥,你别吓我,上过高中吗?标准正态分布俗称高斯分布,正态分布是大自然中最常见的分布,标准正态分布就是期望为0,方差为1的正态分布。
如果没有参数,则返回一个值,如果有参数,则返回(d0, d1, …, dn)个值,这些值都是从标准正态分布中随机取样得到的。
d0, d1, …, dn都应该是整数,是浮点数也没关系,系统会自动把浮点数的整数部分截取出来。
参数
d0, d1, …, dn:应该为正整数,表示维度。
返回值
Z:ndarray或者float。
如果想要从非标准正态分布中产生随机样本,咋办?比如下面这个正态分布:
N(\mu,\sigma^2)
其实很简单,就是简单的加减乘除,如下所示:
\sigma * np.random.randn(...) + \mu
看几个例子吧:
np.random.randn()
返回:
-0.8405297****8702
再比如:
2.5 * np.random.randn(2, 4) + 3
返回:
array([[ 4.128****53,  1.764****44 ,  2.732****92,  2.90839231],
       [ 0.174****86,  4.92026887,  1.574****66, -0.4305991 ]])
这个函数与numpy.random.standard_normal函数非常相似,我都不知道为啥要设置两个功能重叠的函数,但是调用方式不一样:
numpy.random.standard_normal(size=None)
size参数就是一个整数或者一个整数的元组,表示维度,看看下面的例子:
np.random.standard_normal(8000)
或者:
np.random.standard_normal(size=(3, 4, 2))
想用哪个自己选吧,不过建议还是使用randn,毕竟常用一些。
numpy使用中的疑惑的更多相关文章
- svg 使用中的疑惑点
		
svg,g ,defs,symbol 都是容器元素,使用起来给人许多疑惑 svg-spirite-loader在页面生成的svg标签有什么特点? svg标签里面的symbol有什么用? 这些标签能够随 ...
 - Caffe和py-faster-rcnn日常使用备忘录
		
罗列日常使用中遇到的问题和解决办法.包括: { caffe使用中的疑惑和解释: 无法正常执行 train/inference 的情况: Caffe基础工具的微小调整,比如绘loss曲线图: 调试pyt ...
 - react-router(v4)
		
概要 开发单页应用, 首先绕不开的内容就是路由, react router v4 版本是最新的版本. 和之前的版本相比, 成熟了很多, 也简单了很多, 使用起来更加方便. 核心 component r ...
 - Numpy_key_point
		
Numpy使用中的一些注意点: ------------------------------------------------------------------------------------ ...
 - [Python学习] python 科学计算库NumPy—矩阵运算
		
NumPy库的核心是矩阵及其运算. 使用array()函数可以将python的array_like数据转变成数组形式,使用matrix()函数转变成矩阵形式. 基于习惯,在实际使用中较常用array而 ...
 - Windows程序设计笔记(二) 关于编写简单窗口程序中的几点疑惑
		
在编写窗口程序时主要是5个步骤,创建窗口类.注册窗口类.创建窗口.显示窗口.消息环的编写.对于这5个步骤为何要这样写,当初我不是太理解,学习到现在有些问题我基本上已经找到了答案,同时对于Windows ...
 - numpy中的广播
		
目录 广播的引出 广播的原则 数组维度不同,后缘维度的轴长相符 数组维度相同,其中有个轴为1 参考: 广播的引出 numpy两个数组的相加.相减以及相乘都是对应元素之间的操作. import num ...
 - 『Numpy』内存分析_高级切片和内存数据解析
		
在计算机中,没有任何数据类型是固定的,完全取决于如何看待这片数据的内存区域. 在numpy.ndarray.view中,提供对内存区域不同的切割方式,来完成数据类型的转换,而无须要对数据进行额外的co ...
 - numpy 数组迭代Iterating over arrays
		
在numpy 1.6中引入的迭代器对象nditer提供了许多灵活的方式来以系统的方式访问一个或多个数组的所有元素. 1 单数组迭代 该部分位于numpy-ref-1.14.5第1.15 部分Singl ...
 
随机推荐
- 第二十一篇:spring怎么做缓存
			
项目背景:你可能遇情景:1.一个做统计的页面,每次刷新需要调接口做查询 ,是联表查询,查出来的数据还需要做一些计算或者加工,不算页面上的图表插件,刷新一次,延迟个几秒钟才出的来2. 一个统计接口如此 ...
 - 初识OpenCV-Python - 009: 图像梯度
			
本节学习找到图像的梯度和边界.只要用到的函数为: cv2.Sobel(), cv2.Scharr(), cv2.Laplacian() 1. Laplacian 和 Sobel的对比 import c ...
 - 《代码整洁之道》ch1~ch4读书笔记 PB16110698 (~3.8 第一周)
			
<代码整洁之道>ch1~ch4读书笔记 <clean code>正如其书名所言,是一本关于整洁代码规范的“教科书”.作者在书中通过实例阐述了整洁代码带来的种种利处以及混乱代码 ...
 - StringUtils工具
			
ppublic class StringUtils { private StringUtils() { } /** * 文本左边补零 * * @param maxLength 文本长度 * @para ...
 - jdk11.0.2安装
			
1.去官网下载合适的jdk 网址:https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.ht ...
 - 廖雪峰Java15JDBC编程-3JDBC接口-2JDBC查询
			
我们可以使用JDBC查询来执行select语句. 1. Statement try(Connection conn = DriverManager.getConnection(JDBC_URL, JD ...
 - 【Uva 1220】Party at Hali-Bula
			
[Link]:https://cn.vjudge.net/contest/170078#problem/M [Description] 求一个树的最大独立子集; (即树的一个点集,这个点集中任意两个点 ...
 - svn使用方法以及使用教程
			
一.什么是svnSVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS. 二.svn的下载安装下载地址:https: ...
 - SQLServer中使用索引视图
			
在SQL Server中,视图是一个保存的T-SQL查询.视图定义由SQL Server保存,以便它能够用作一个虚拟表来简化查询,并给基表增加另一层安全.但是,它并不占用数据库的任何空间.实际上,在你 ...
 - 转:Eclipse中设置编码的方式
			
来源:http://blog.csdn.net/jianw2007/article/details/3930915 如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文输出,则最好使 Ja ...