python中rand和randn_Numpy中np.random.rand()和np.random.randn() 用法和区别详解
numpy.random.rand(d0, d1, …, dn)的随机样本位于[0, 1)中:本函数可以返回一个或一组服从**“0~1”均匀分布**的随机样本值。
numpy.random.randn(d0, d1, …, dn)是从标准正态分布中返回一个或多个样本值。
1. np.random.rand()
语法:
np.random.rand(d0,d1,d2……dn)
注:使用方法与np.random.randn()函数相同
作用:
通过本函数可以返回一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1。
应用:在深度学习的dropout正则化方法中,可以用于生成dropout随机向量(dl),
例如(keep_prob表示保留神经元的比例):
dl = np.random.rand(al.shape[0],al.shape[1]) < keep_prob
举例:
注:
均匀分布:
也叫矩形分布,它是对称概率分布,在相同长度间隔的分布概率是等可能的。
均匀分布由两个参数a和b定义,它们是数轴上的最小值和最大值,通常缩写为u(a,b)。
均匀分布的概率密度函数为:
2. np.random.randn() 语法:
np.random.randn(d0,d1,d2……dn)
1)当函数括号内没有参数时,则返回一个浮点数;
2)当函数括号内有一个参数时,则返回秩为1的数组,不能表示向量和矩阵;
3)当函数括号内有两个及以上参数时,则返回对应维度的数组,能表示向量或矩阵;
4)np.random.standard_normal()函数与np.random.randn()类似,但是np.random.standard_normal()的输入参数为元组(tuple)。
# 举例:
np.random.standard_normal((5))
# [-0.53268495 0.30171848 1.85232368 -0.58746393 0.19683992]
np.random.standard_normal((5,2))
'''
[[-2.44520524 2.29767001]
[-1.19770033 -1.09569325]
[-0.75414833 0.49509984]
[-1.42537268 0.41788237]
[ 1.85465491 -1.44383249]]
'''
np.random.standard_normal((5,2,3))
'''
[[[ 0.54013502 -0.25347615 1.73395647]
[ 1.03386947 -0.54856199 2.10004584]]
[[-0.57632903 -0.05856844 1.72805595]
[ 1.3507174 0.61459539 0.63380028]]
[[-2.24857933 -1.29276097 0.42585061]
[ 0.75974263 -0.83670586 -1.56930898]]
[[-0.32212 1.2884624 1.53744081]
[ 1.5444555 -1.82408734 -0.55952688]]
[[-1.21191144 -1.40454518 -0.3369976 ]
[-0.89314143 0.28291988 1.58394166]]]
'''
np.random.standard_normal((5,2,3,1))
'''
[[[[ 0.19019221]
[ 0.64618425]
[ 0.99815722]]
[[-0.0570328 ]
[ 0.83271045]
[-0.30469335]]]
[[[-1.14788388]
[ 0.09563431]
[ 2.05611213]]
[[-0.14251287]
[ 1.00922816]
[-0.55403104]]]
[[[ 1.75657437]
[ 1.46381575]
[ 1.10527197]]
[[ 0.22667296]
[ 0.18305552]
[ 0.5778761 ]]]
[[[ 0.26501242]
[-0.4863313 ]
[ 1.01096974]]
[[-2.46562874]
[ 0.19516242]
[-1.92500848]]]
[[[ 0.97904566]
[ 0.80444414]
[ 0.99981326]]
[[-0.74329878]
[-0.9265738 ]
[ 0.0288684 ]]]]
'''
5)np.random.randn()的输入通常为整数,但是如果为浮点数,则会自动直接截断转换为整数。
作用:通过本函数可以返回一个或一组服从标准正态分布的随机样本值。
特点: 标准正态分布是以0为均数、以1为标准差的正态分布,记为n(0,1)。对应的正态分布曲线如下所示,即:
注:
标准正态分布曲线下面积分布规律是:
在-1.96~+1.96范围内曲线下的面积等于0.9500(即取值在这个范围的概率为95%),在-2.58~+2.58范围内曲线下面积为0.9900(即取值在这个范围的概率为99%).
因此,由 np.random.randn()函数所产生的随机样本基本上取值主要在-1.96~+1.96之间,当然也不排除存在较大值的情形,只是概率较小而已。
参考:
到此这篇关于numpy中np.random.rand()和np.random.randn() 用法和区别详解的文章就介绍到这了,更多相关numpy np.random.rand()和np.random.randn()内容请搜索萬仟网以前的文章或继续浏览下面的相关文章希望大家以后多多支持萬仟网!
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
python中rand和randn_Numpy中np.random.rand()和np.random.randn() 用法和区别详解相关推荐
- CSS 中px、em、rem、%、vw、vh单位之间的区别详解【全网最全】
一.px(像素) [绝对单位,页面按精确像素展示] px就是pixel(像素)的缩写,相对长度单位,相对于屏幕分辨率. px表示像素 (计算机屏幕上的一个点:1px = 1/96in),是绝对单位,不 ...
- python中花括号什么作用_Python3中小括号()、中括号[]、花括号{}的区别详解
介绍 在Python语言中最常见的括号有三种,分别是:小括号().中括号[].花括号{}:其作用也不相同,分别用来代表不同的Python基本内置数据类型. 小括号() Python中的小括号(): 代 ...
- python小括号表示什么数据类型_Python3中小括号()、中括号[]、花括号{}的区别详解...
介绍 在Python语言中最常见的括号有三种,分别是:小括号().中括号[].花括号{}:其作用也不相同,分别用来代表不同的Python基本内置数据类型. 小括号() Python中的小括号(): 代 ...
- python中rand和randn_基于numpy.random.randn()与rand()的区别详解
下面为大家分享一篇基于numpy.random.randn()与rand()的区别详解,具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 numpy中有一些常用的用来产生随机数的函数,randn ...
- python random randint_python中random.randint和random.randrange的区别详解
在python中,通过导入random库,就能使用randint 和 randrange 这两个方法来产生随机整数.那这两个方法的区别在于什么地方呢?让我们一起来看看! 区别: randint 产生的 ...
- python中randint是什么意思_python中random.randint和random.randrange的区别详解
在python中,通过导入random库,就能使用randint 和 randrange 这两个方法来产生随机整数.那这两个方法的区别在于什么地方呢?让我们一起来看看! 区别: randint 产生的 ...
- python中average什么意思_在Python3 numpy中mean和average的区别详解
mean和average都是计算均值的函数,在不指定权重的时候average和mean是一样的.指定权重后,average可以计算一维的加权平均值. 具体如下: import numpy as np ...
- python定义数组并赋值_python中的数组赋值与拷贝的区别详解
具体的注解我已经写在了程序里面:通俗的解释了python里面的浅拷贝与深拷贝的不同,请看程序. # -*- coding: utf-8 -*- import numpy as np import co ...
- Python之pandas:pandas中to_csv()、read_csv()函数的index、index_col(不将索引列写入)参数详解之详细攻略
Python之pandas:pandas中to_csv().read_csv()函数的index.index_col(不将索引列写入)参数详解之详细攻略 目录 pandas中to_csv().read ...
- python中怎么计数_浅谈python中统计计数的几种方法和Counter详解
1) 使用字典dict() 循环遍历出一个可迭代对象中的元素,如果字典没有该元素,那么就让该元素作为字典的键,并将该键赋值为1,如果存在就将该元素对应的值加1. lists = ['a','a','b ...
最新文章
- Spark中常用的算法
- Linux安装无法运行install,linux 无法 安装swoole
- 聊聊并发(四)——深入分析ConcurrentHashMap
- 74cms骑士人才招聘网系统网站源码 SE版
- Windows 的开发好痛苦
- linux运行 打开计算器,Linux 里头命令行打开计算机 怎么输入
- Oracle 去掉重复字符串
- 学了python能干啥举例-Python爬虫学了可以做什么工作?
- confluence 编辑器这次没有加载_喵的Unity游戏开发之路 - 多场景:场景加载
- MySQL复制以及调优
- Egg.js使用jwt
- Vue框架Element UI教程
- 短文阅读1:Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate
- Apache Tomcat 文件包含漏洞(CNVD-2020-10487,对应 CVE-2020-1938)
- ups监控软件测试表格,ups检测报告单完整版.docx
- IT女神说自然语言处理(1)----LDA
- 解决vue项目出现Navigating to current location (XXX) is not allowed 报错
- 判断司机是否酒后驾车
- Linux服务器连接校园网
- windows通过注册表修改快捷键
热门文章
- Dx11--用dx11绘制棱台,并用键盘和鼠标进行旋转缩放操作
- Auto property synthesis will not synthesizeproterty;it will be implemented by its superclass, use@dy
- 程序化广告实战分享系列 - 程序化广告的前世今生及趋势(入门)
- 英语科技论文写作语法积累
- 异步传输模式 (ATM)
- Control.DataBinding数据绑定细解
- 车规电阻AEC-Q200测试项目及元器件检测设备
- 【dev Cpp新手请进】dev导入ege图形库
- 计算机系统时钟中断,什么是时钟中断时钟中断的举例
- L1-5 不变初心数 (15 分)(C/C++)