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使用中的疑惑的更多相关文章

  1. svg 使用中的疑惑点

    svg,g ,defs,symbol 都是容器元素,使用起来给人许多疑惑 svg-spirite-loader在页面生成的svg标签有什么特点? svg标签里面的symbol有什么用? 这些标签能够随 ...

  2. Caffe和py-faster-rcnn日常使用备忘录

    罗列日常使用中遇到的问题和解决办法.包括: { caffe使用中的疑惑和解释: 无法正常执行 train/inference 的情况: Caffe基础工具的微小调整,比如绘loss曲线图: 调试pyt ...

  3. react-router(v4)

    概要 开发单页应用, 首先绕不开的内容就是路由, react router v4 版本是最新的版本. 和之前的版本相比, 成熟了很多, 也简单了很多, 使用起来更加方便. 核心 component r ...

  4. Numpy_key_point

    Numpy使用中的一些注意点: ------------------------------------------------------------------------------------ ...

  5. [Python学习] python 科学计算库NumPy—矩阵运算

    NumPy库的核心是矩阵及其运算. 使用array()函数可以将python的array_like数据转变成数组形式,使用matrix()函数转变成矩阵形式. 基于习惯,在实际使用中较常用array而 ...

  6. Windows程序设计笔记(二) 关于编写简单窗口程序中的几点疑惑

    在编写窗口程序时主要是5个步骤,创建窗口类.注册窗口类.创建窗口.显示窗口.消息环的编写.对于这5个步骤为何要这样写,当初我不是太理解,学习到现在有些问题我基本上已经找到了答案,同时对于Windows ...

  7. numpy中的广播

    目录 广播的引出 广播的原则 数组维度不同,后缘维度的轴长相符 数组维度相同,其中有个轴为1 参考: 广播的引出  numpy两个数组的相加.相减以及相乘都是对应元素之间的操作. import num ...

  8. 『Numpy』内存分析_高级切片和内存数据解析

    在计算机中,没有任何数据类型是固定的,完全取决于如何看待这片数据的内存区域. 在numpy.ndarray.view中,提供对内存区域不同的切割方式,来完成数据类型的转换,而无须要对数据进行额外的co ...

  9. numpy 数组迭代Iterating over arrays

    在numpy 1.6中引入的迭代器对象nditer提供了许多灵活的方式来以系统的方式访问一个或多个数组的所有元素. 1 单数组迭代 该部分位于numpy-ref-1.14.5第1.15 部分Singl ...

随机推荐

  1. 6_2.springboot2.x整合Druid和配置数据源监控

    简介 Druid首先是一个数据库连接池.Druid是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.JBoss Data ...

  2. java_过滤器

    /** 过滤器: * File类中有两个和listFiles方法重载的方法,方法的参数就是过滤器 * listFiles(FileFilter filter) * java.io.FileFilter ...

  3. 内核下枚举进程 (二)ZwQuerySystemInformation

    说明: SYSTEM_INFORMATION_CLASS 的5号功能枚举进程信息.其是这个函数对应着ring3下的 NtQuerySystemInformation,但msdn上说win8以后ZwQu ...

  4. artTemplate不仅可以在浏览器中使用,还可以在node中使用

    artTemplate不仅可以在浏览器中使用,还可以在node中使用 浏览器中引入lib/template-web.js node中  var  template = require(‘art-tem ...

  5. 44道JS难题

    国外某网站给出了44道JS难题,试着做了下,只做对了17道.这些题涉及面非常广,涵盖JS原型.函数细节.强制转换.闭包等知识,而且都是非常细节的东西,透过这些小细节可以折射出很多高级的JS知识点. 你 ...

  6. 【9.14NOIP模拟pj】wtaxi 题解

    [9.14NOIP模拟pj]wtaxi 搜索

  7. 廖雪峰Java13网络编程-1Socket编程-3TCP多线程编程

    TCP多线程编程 一个ServerSocket可以和多个客户端同时建立连接,所以一个Server可以同时与多个客户端建立好的Socket进行双向通信. 因此服务器端,当我们打开一个Socket以后,通 ...

  8. Mac OS下使用ll等命令

    1. 进入用户bash_profile文件 vi ~/.bash_profile 2. 添加如下命令 alias ll='ls -l' alias la='ls -A' alias l='ls -CF ...

  9. 101 删除排序数组中的重复数字 II

    原题网址:http://www.lintcode.com/zh-cn/problem/remove-duplicates-from-sorted-array-ii/# 跟进“删除重复数字”: 如果可以 ...

  10. 我能不能理解成 ssh中service就相当于与jsp+servlet+dao中的servlet???

    转文 首先解释面上意思,service是业务层,dao是数据访问层.(Data Access Objects) 数据访问对象 1.Dao其实一般没有这个类,这一般是指java中MVC架构中的model ...