IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> np.random.normal()与 np.matmul()与numpy.random.choice() -> 正文阅读

[人工智能]np.random.normal()与 np.matmul()与numpy.random.choice()

np.random.normal()

np.random.normal()的意思是一个正态分布,normal这里是正态的意思。我在看孪生网络的时候看到这样的一个例子:

numpy.random.normal(loc=0,scale=1e-2,size=shape) ,意义如下:
**参数loc(float):**正态分布的均值,对应着这个分布的中心。loc=0说明这一个以Y轴为对称轴的正态分布,
**参数scale(float):**正态分布的标准差,对应分布的宽度,scale越大,正态分布的曲线越矮胖,scale越小,曲线越高瘦。
**参数size(int 或者整数元组):**输出的值赋在shape里,默认为None。


# shape[0]与shape[1]含义释疑
import numpy as np
k = np.matrix([1, 2, 3, 4], )
print(np.shape(k))       # 输出(3,4)表示矩阵为3行4列
print(k.shape[0])        # shape[0]输出3,为矩阵的行数
print(k.shape[1])        # 同理shape[1]输出列数


# 举例,分别输出的是数组和数字
sigma = 0.1
X = np.matrix([1, 2, 3, 4],)
scalingFactor1 = np.random.normal(loc=1.0, scale=sigma, size=(1, X.shape[1]))
scalingFactor2 = np.random.normal(loc=1.0, scale=sigma, size=(1))
print(scalingFactor1)
print(scalingFactor2)

矩阵的乘法运算

np.matmul()和@

matmul是matrix multiply的缩写,所以即是专门用于矩阵乘法的函数。
另外,@运算方法和matmul()则是一样的作用,相当于简便写法。

A = np.array([[1,2,3],
              [4,5,6]])

B = np.array([[1,2],
              [3,4],
              [5,6]])

print(np.matmul(A, B))
print(A @ B)

numpy中的ones()函数

ones()返回一个全1的n维数组,有三个参数:
shape(用来指定返回数组的大小)、
dtype(数组元素的类型)、
order(是否以内存中的C或Fortran连续(行或列)顺序存储多维数据)。
后两个参数都是可选的,一般只需设定第一个参数。和zeros一样

k = np.matrix([[1, 2, 3, 4],
             [1, 2, 3, 4]])
a = np.ones(k.shape[0])
b = np.ones((k.shape[0],1))
print(a)
print(b)

汇总举例,与源码中的scaling对应

sigma = 0.1
k = np.matrix([[1, 2, 3, 4],
             [5, 6, 7, 8],
             [9, 10, 11, 12]])
scalingFactor = np.random.normal(loc=1.0, scale=sigma, size=(3, k.shape[1]))
chengzi = np.ones((k.shape[0], 3))
myNoise = np.matmul(chengzi, scalingFactor)
print(scalingFactor)
print(chengzi)
print(myNoise)

numpy.random.choice(a, size=None, replace=True, p=None)

从a(只要是ndarray都可以,但必须是一维的)中随机抽取数字,并组成指定大小(size)的数组
**参数replace,**用来设置是否可以取相同元素,True表示可以取相同数字;False表示不可以取相同数字。默认是True
**参数p,**p实际是个数组,大小(size)应该与指定的a相同,用来规定选取a中每个元素的概率,默认为概率相同

interval = 20
sig = np.matrix([[2.97,2.99,2.90,2.96],
            [2.97,2.99,2.90,2.96],
           [2.97,2.99,2.90,2.96]])
for col in range(sig.shape[1]):
    offset = np.random.choice(range(-interval, interval))
    print(col,offset/1000 )
    sig[:, col] += offset / 1000 
print(sig)
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:19:11  更:2022-05-05 11:21:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:27:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码