首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

深度学习中数学(二)——线性代数

c = np.arange(12).reshape((2,3,2)) print(c.T) print(np.transpose(c)) 代码实现矩阵乘(內)、叉乘(矩阵乘法): import...对角线上元素可以为0或其他值。单位矩阵:它是个方阵,从左上角到右下角对角线(称为主对角线)上元素均为1。除此以外全都为0。矩阵矩阵即所有元素皆为0矩阵。...] [0. 0. 0.]] """ 二、內与投影 2.1 內与投影 代数定义: 几何定义: 2.2 余弦相似度 正相关、负相关、不相关 余弦相似度与欧式距离关系: 当向量做了二范数归一化后向量...本质:改变坐标系这个空间,使移动。 上图:一个向量x变换到Ax上去,就给它乘以一个矩阵,做线性变换。 一个例子理解矩阵乘法:一个向量A与一个矩阵B做向量乘法,这就是一个线性变换过程。...print(v) # 3x2 分解为 3x3 3x2 2x2 三个矩阵 SVD分解应用:降维(用前个非奇异值对应奇异向量表示矩阵主要特征)、 压缩(表示原来矩阵,我们只需要存三个较小矩阵即可

71130

【他山之石】Pytorch学习笔记

numpy数组创建函数 生成3*3矩阵;3*3全是1矩阵;3阶单位矩阵;3阶对角矩阵 暂时保存生成数据 1.1.4 利用arange、linspace生成数组 arange(start,stop...;[1:3,: ]取第1, 2行;[ : ,1: 3]取第1, 2列 1.3 NumPy算术运算 1.3.1 相乘 A*B 或 multiply(A, B) 1.3.2 1.4 数组变形...1.4.1 更改数组形状 NumPy中改变形状函数 reshape改变向量行列,向量本身不变 resize改变向量行列及其本身 .T 求转置 ravel( &amp...squeeze 去掉矩阵中含1维度 transpose 改变矩阵维度顺序 1.4.2 合并数组 NumPy数组合并方法 append 合并一维数组 append( axis=0 )按行合并...常用矩阵函数 dot 向量;mm 矩阵乘法;bmm 三维矩阵乘法 2.4.10 Pytorch与Numpy比较 pytorch与numpy函数对照表 2.5 Tensor与Autograd

1.5K30
您找到你想要的搜索结果了吗?
是的
没有找到

教程 | 基础入门:深度学习矩阵运算概念和代码实现

向量乘法 向量乘法有两种类型:一种是,另一种是 Hadamard 两个向量结果是一个标量。向量矩阵矩阵乘法)积在深度学习中是最重要运算之一。...对于图表中每一个,我们将坐标轴变换为 2x 或 x^2,然后将起始点画一个箭头到新坐标点,这样就制成了上图。向量场对机器学习算法(如梯度下降算法)可视化十分重。...步骤 矩阵乘法步骤和向量过程是相似的,它们都是由对应位置元素进行乘积并相加而得出。...A 矩阵向量 a1 与 B 矩阵向量 b1 ,即下图所示: ? 下面是另一个矩阵乘积: ? 矩阵乘法是不可交换(即AB ≠ BA)。...下面矩阵乘法是多少? ? 使用 Numpy 进行矩阵乘法运算 在 Numpy 中,np.dot(a,b) 函数可以进行向量矩阵

2.3K130

机器学习中线性代数:关于常用操作新手指南

大数据文摘作品,转载要求见文末 编译 | 沈爱群,徐凌霄,Aileen 在学习深度学习课程时,数学知识十分重,而如果挑选其中最相关部分,“线性代数”首当其冲。...向量乘法 向量乘法有两种:(Dot product) 和 Hadamard乘积(Hadamard product)。 两个向量是一个标量。...向量矩阵乘法是深度学习中最重要操作之一。...步骤 矩阵乘法依赖于与各个行列元素组合。 以下图为例(取自 Khan学院线性代数课程),矩阵 C中每个元素都是矩阵 A 中行与矩阵B中。...参考 操作 a1 · b1 意味着我们对矩阵A第一行(1, 7) 和矩阵B 第一列 (3, 5) 做运算.

1.4K31

【干货】用于机器学习线性代数速查表

NumPy,Python数值计算库,它提供了许多线性代数函数。对机器学习从业人员用处很大。 在这篇文章中,你将看到对于机器学习从业者非常有用处理矢量和矩阵关键函数。...数组 from numpyimport array A= array([[1,2,3],[1,2,3],[1,2,3]]) (用填充数组) from numpyimport zeros A= zeros...矢量加法 c= a+ b 矢量减法 c= a- b 矢量乘法 c= a* b 矢量除法 c= a/ b 矩阵 c= a.dot(b) 矩阵乘以标量 c= a* 2.2 向量范数 from numpy.linalgimport...矩阵加法 C= A+ B 矩阵减法 C= A- B 矩阵乘法(哈达马) C= A* B 矩阵除法 C= A/ B 矩阵乘以矩阵) C= A.dot(B) 矩阵乘以向量) C= A.dot(...from numpy.linalgimport det B= det(A) 矩阵秩 from numpy.linalgimport matrix_rank r= matrix_rank(A) 6.矩阵分解

86290

Numpy 使用教程--Numpy 数学函数及代数运算

numpy.gradient(f):返回 N 维数组梯度。  numpy.cross(a, b, axisa, axisb, axisc, axis):返回两个(数组)向量。 ...np.remainder(a1, a2)  array([0, 7, 2, 0, 0])     2.7 矩阵向量  求解向量矩阵、张量等同样是 numpy 非常强大地方。 ...numpy.dot(a,b):求解两个数组。  numpy.vdot(a,b):求解两个向量。  numpy.inner(a,b):求解两个数组内积。 ...numpy.outer(a,b):求解两个向量外积。  numpy.matmul(a,b):求解两个数组矩阵乘积。  numpy.tensordot(a,b):求解张量。 ...这些方法让复杂计算过程表达更为简单。除此之外,numpy 中还包含一些代数运算方法,尤其是涉及到矩阵计算方法,求解特征值、特征向量、逆矩阵等,非常方便。

1.6K20

Numpy中常用10个矩阵操作示例

numpy通过向量化避免许多for循环来更有效地执行矩阵操作。 我将包括本文中讨论每个矩阵操作含义、背景描述和代码示例。本文末尾“关键要点”一节将提供一些更具体矩阵操作简要总结。...我将按照以下顺序讨论每个矩阵操作。 内积 转置 迹 秩 行列式 逆 伪逆 扁平化 特征值和特征向量 内积 Inner product 内积接收两个大小相等向量,并返回一个数字(标量)。... Dot product 是为矩阵定义。它是两个矩阵中相应元素乘积和。为了得到点,第一个矩阵列数应该等于第二个矩阵行数。 有两种方法可以在numpy中创建矩阵。...ndarray和matrix对象都可以使用np.dot()得到。...特征值和特征向量 设A是一个nxn矩阵。如果有一个非向量x满足下列方程,λ标量称为A特征值。 ? 向量x称为与λ相对应A特征向量

2K20

能「看到」张量运算:​因子图可视化

爱因斯坦求和符号 爱因斯坦符号存在多种形式,尤其是在物理学领域,但我们介绍那种非常简单,没有任何物理学背景也能轻松掌握。 在矩阵乘法定义中, ? 求和符号实际上是多余。...为什么这么做?好吧,我们来看一个有一般张量案例(将其看作是超过 2 维 numpy 数组即可): ? 然后假设张量形状如下: ? 其中交织着复杂「和」与「」,而不断写求和符号是非常烦人。...有一需要注意,因子分解所需内存实际上比整个联合少得多(存储一个 10×10×10 张量对比存储三个 10 维张量)。 可视化 numpy 运算 为什么这种表示方式有用?...因为这能让我们将复杂因子分解转换成更可视化表示,从而更加轻松地处理。numpy数值张量运算可以很好地适用于这个框架。下面给出了几个无需过多解释示例: 矩阵-向量乘法 ?...因此,加法总数量就是所有轴大小。我们也能从可视化表示中看出这一: ? 求积 求积运算本质上就是两个张量外积泛化为一般张量。

1.2K40

深度学习中基础线代知识-初学者指南

它提供了像向量矩阵(电子表格)这样数据结构用来保存数字和规则,以便进行加,减,乘,除运算。 线性代数为什么有用? 线性代数可以将复杂问题简单化,让我们能够对问题进行高效数学运算。...向量乘法 向量乘法有两种类型:和 Hadamard乘积 。 两个向量是一个标量。 向量矩阵矩阵乘法)是深度学习中最重要操作之一。...  M × N 矩阵和 N × K 矩阵乘积是 M × K 矩阵。 新矩阵取第一个矩阵行和第二个矩阵列。 步骤 矩阵乘法依赖于与行列元素各种组合。...以下图为例(取自 Khan 学院线性代数课程),矩阵 C 中每个元素都是矩阵 A 中行与矩阵 B 中列。...操作 a1 · b1 表示我们取矩阵 A 中 第一 行 ( 1,7 ) 和矩阵 B 中 第 1 列 ( 3,5 ) 。 这里是另一种方法: 为什么矩阵乘法以这种方式工作?

1.4K60

Python进阶之NumPy快速入门(四)

排序 排序在数组中是一个十分重功能,我们介绍两个关键排序函数: numpy.sort() 函数返回输入数组从小到大排序值。...numpy.sort()常见格式如下: numpy.sort(a, axis) 参数说明: a: 排序数组 axis: 沿着它排序数组轴,如果没有数组会被展开,沿着最后轴排序。...提供了线性代数函数库,该库包含了线性代数所需所有功能,可以看看下面的说明: dot 两个数组,即元素对应相乘。...vdot 两个向量 inner 两个数组内积 matmul 两个数组矩阵 determinant 数组行列式 solve 求解线性矩阵方程 inv 计算矩阵乘法逆矩阵 我们把这些函数大致分为两类...(a,b)) print (np.vdot(a,b)) print (np.matmul(a,b)) 讲解:我们尝试三种矩阵求积函数,其中第一个函数dot负责矩阵相乘;第二个函数vdot求,运算公式是

82430

【Python】Numpy使用指南

((3,4)) print(np.nonzero(arr_zeros)) #输出矩阵元素位置,返回多个行向量,第i个行向量表示第i个维度 print(np.nonzero(arr1)) print...(3, 4)) # 12,0-D矩阵相乘(也就是标量相乘) print(np.dot([2j, 3j], [2j, 3j])) # (-13+0j),1-D矩阵相乘(实际上是向量) a=[[1...处理时并不是按照矩阵乘法规则计算 而是向量 也就是np.dot([1, 0],[1, 2])和np.dot([1, 2],[2,2]) ''' # 再做个实验来区别向量乘法和矩阵乘法 b=np.array...# print(np.dot(b,c1)) # 报错,不符合矩阵乘法规则 print(np.dot(b,c2)) # [ 7 16 25],运算 print(np.dot(c1,b)) # [...[15 18 21]],矩阵乘法运算规则 print(np.dot(c2,b)) # [15 18 21],运算 # 还要补充一下,如果是用python自带*运算符计算则是广播机制 print(

89120

学习笔记DL005:线性相关、生成子空间,范数,特殊类型矩阵向量

不存在一个m维向量集合有多于m个彼此线性不相关列向量,一个有多于m个列向量矩阵有可能有不止一个大小为m线性无关向量集。 矩阵可逆,保证Ax=b 对每个b值至多有一个解。...确保矩阵至多有m个列向量矩阵必须是一个方阵(square),m=n,且所有列向量线性无关。一个列向量线性相关方阵为奇异(singular)。...表示从原点出发到向量x确定点欧几里得距离。简化||x||,略去下标2。平方L⁽2⁾ 范数衡量向量大小,通过x⫟x计算。平方L⁽2⁾范数在数学、计算上比L⁽2⁾范数更方便。...两个向量用范数表示,x⫟y=||x||2||y||2cosθ,θ表示x、y间夹角。 特殊类型矩阵向量。 对角矩阵(diagonal matrix),只在主对角线上有非元素,其他位置都是。...长方形对角矩阵D,乘法Dx涉及x每个元素缩放。D是瘦长型矩阵,缩放后末尾添加。D是胖宽型矩阵,缩放后去掉最后元素。 对称(symmetric)矩阵,转置和自己相等矩阵。A=A⫟。

1.4K10

8段代码演示Numpy数据运算神操作

np.power(2,3) # 求23次方,结果为:8 np.dot([1,2],[3,4]) # 将向量[1,2]与[3,4]求,结果为:11 np.sqrt(4) # 将4开平方,结果为:2.0...与vector_b相乘,结果为20 np.dot(vector_a,vector_b.T) ''' 将一个行向量与一个列向量叉乘结果相当于将两个行向量,在这里我们测试了dot()方法。...其中array类型T()方法表示转置。 测试结果表明: dot()方法对于两个向量默认求其。对于符合叉乘格式矩阵,自动进行叉乘。...仔细读者可能会注意到,为什么这里使用SVD算法生成矩阵U与VT是相同。大家可能会注意到在上面的代码片段中,为何多了一个生成矩阵another_matrix过程。...1) PCA算法中得到样本协方差矩阵是经过均值化处理,将其去掉常数部分,则也可表示为: C = XTX 其中,X是经过中心化处理后样本矩阵X.

1.4K20

线性代数学习笔记(几何版)

线性代数学习请移步https://www.bilibili.com/video/av6731067 不得不说,这位up主讲的是真心好,尤其是那一部分,直接刷新世界观QWQ。...线性相关 一组向量中至少有一个是多余,没有对张成空间做出任何贡献 你有多个向量, 并且可以移除其中一个而不减小张成空间 这种情况发生时,我们称他们是“线性相关” ?...空间 空间:变换后落在原点向量集合 定义: 代数:对于两个维度相同矩阵,其积为将相应坐标配对,求出每一对坐标的乘积再相加 ?...几何:两个向量积为一个向量在另一个向量上正交投影长度乘以另一个向量长度(好绕。。) ? 若两向量反向,则乘积为负 ? 两者关系: 这一部分听傻了,感觉都是神仙推导。太强了orz ?...叉 定义 视频中并没有明确给出叉定义 大概就是算出两个向量行列式来构成第三个向量 正负 对于$i \times j$,若$i$在$j$右侧,则叉积为正,否则叉积为负 ? 计算 ?

1.1K30

「笔记」PyTorch预备知识与基础操作

** 哈达玛 两个矩阵按元素乘法称为 哈达玛(Hadamard product)(数学符号 ? ) ? 给定两个向量 ? ,它们 (dot product) ? (或 ?...)是相同位置按元素乘积和: ? 。 矩阵-向量 现在我们知道如何计算,我们可以开始理解 矩阵-向量(matrix-vector products)。回顾矩阵 ? 和向量 ? 。...让我们从可视化矩阵 ? 开始,用它向量表示 ? 其中每个 ? 都是行向量,表示矩阵 ? 行。[矩阵向量 ? 是一个长度为 ? 向量,其 ? 元素是 ? ]: ?...我们将在后续章节中讲到,我们也可以使用矩阵向量乘积来描述在给定前一层值时计算神经网络每一层所需要计算。在代码中使用张量表示矩阵向量,我们使用与相同 dot 函数。...用行向量 ? 表示矩阵 ? ? 行,并让列向量 ? 作为矩阵 ? ? 列。生成矩阵 ? ,最简单方法是考虑 ? 向量和 ? 向量: ? 当我们简单地将每个元素 ?

1.1K20

挑战NumPy100关,全部搞定你就NumPy大师了 | 附答案

创建一个3x3矩阵,其值范围为0到8 (★☆☆) 从[1,2,0,0,4,0]中查找出所有非元素 (★☆☆) 创建一个 3 * 3单位矩阵 (★☆☆) 使用随机值创建一个 $333$ 数组(★☆...如何获得两个向量? (★★★) 就是两个向量对应位置一一相乘后求和操作,最后结果是一个标量,是一个实数值。...两个向量a = [a1, a2,…, an]和b = [b1, b2,…, bn]定义为: a·b = a1b1 + a2b2 + …… + anbn。...使用矩阵乘法并把(纵列)向量当作n×1 矩阵还可以写为: a·b=a^T*b ,这里a^T指示矩阵a转置 70....设有考虑向量A [1,2,3,4,5],构建一个新向量, 在A每个值之间插入3个连续? (★★★) 71. 设有一个维度(5,5,3)数组, 如何与维度(5,5)数组相乘?

4.6K30

Python-Numpy多维数组 -- 矩阵库、线性代数、绘图库Matplotlib

序号函数及描述1.dot 两个数组2.vdot 两个向量3.inner 两个数组内积4.matmul 两个数组矩阵5.determinant 数组行列式6.solve 求解线性矩阵方程...7.inv 寻找矩阵乘法逆矩阵 1.numpy.dot()返回两个数组。...对于二维向量,其等效于矩阵乘法。 对于一维数组,它是向量内积。 对于 N 维数组,它是a最后一个轴上和与b倒数第二个轴乘积。 ...()函数返回两个向量。...字符颜色'b'蓝色'g'绿色'r'红色'c'青色'm'品红色'y'黄色'k'黑色'w'白色 显示圆来代表,而不是上面示例中线,请使用ob作为plot()函数中格式字符串。

1.4K30

深度学习笔记 基础数学知识

numpy 是 Python 一个扩展程序库,能够很好地支持数组、向量矩阵运算。...'> 向量之间乘法操作:乘(内积)、叉乘(外积)和对应项相乘 向量乘,也叫向量内积、数量,对两个向量执行乘运算,就是对这两个向量对应位一一相乘之后求和操作,结果是一个标量。...向量叉乘,也叫向量外积、向量。叉乘运算结果是一个向量而不是一个标量。 对应项相乘,顾名思义,就是两个向量对应位置相乘,得到结果还是原来形状。...但 L1 范数是 L0 范数最优凸近似,它比 L0 范数有着更好优化求解特性,所以被更广泛地使用。 为什么实现权值稀疏呢?...这里有两个需要注意地方,第一个是 Δx 一定要趋近于 0,第二个是极限 a 存在。F(x)=2x 作图如下: ? 一个函数在某一导数描述了这个函数在这一附近变化率,导数一般记为: ?

73710
领券