『Python学习笔记』np.random.rand()函数和np.random.randn()函数

本文详细解析了np.random.rand和np.random.randn两个函数的语法与应用,前者生成0到1之间的随机数,后者生成标准正态分布的随机数,适用于深度学习中的Dropout正则化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 

一. np.random.rand()函数

二. np.random.randn()函数


一. 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
  • 例如:

二. 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)。
  • 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.random`、`np.random.rand` `np.random.randn`。它们用于生成不同分布的随机数组,常用于模拟数据、机器学习初始化、统计抽样等场景。 --- ### 详解 #### 1. `np.random.random(size=None)` - **作用**:生成一个 `[0.0, 1.0)` 区间内服从均匀分布的随机样本。 - **参数说明**: - `size`:输出形状。若为整数,返回一维数组;若为元组,返回对应形状的多维数组。 - **示例**: ```python np.random.random(3) # 生成3个随机数,如:array([0.234, 0.678, 0.123]) np.random.random((2, 3)) # 生成2行3列的随机数组 ``` #### 2. `np.random.rand(d0, d1, ..., dn)` - **作用**:与 `random` 类似,但接受维度作为单独参数,生成 `[0.0, 1.0)` 均匀分布的随机数组。 - **参数说明**: - 每个参数代表一个维度。 - **示例**: ```python np.random.rand(2, 3) # 生成2行3列的随机数组 ``` #### 3. `np.random.randn(d0, d1, ..., dn)` - **作用**:生成服从标准正态分布(均值为 0,方差为 1)的随机样本。 - **参数说明**: - 每个参数代表一个维度。 - **示例**: ```python np.random.randn(2, 3) # 生成2行3列的标准正态分布随机数组 ``` --- ### 知识点 1. **NumPy 随机数生成** NumPy 提供多种函数生成不同分布的随机数,适用于模拟统计建模。 2. **均匀分布 vs 正态分布** - `random` `rand` 生成的是均匀分布; - `randn` 生成的是标准正态分布。 3. **数组形状控制** 使用 `size` 或维度参数控制输出数组的维度,便于数据初始化模拟。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI大模型前沿研究

感谢您的打赏,我会继续努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值