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

【干货】​深度学习中的线性代数

标量(Scalar) 标量只是一个单一的数字。 例如24。 向量(Vector) 向量是一个有序的数字数组,可以在一行或一列中。 向量只有一个索引,可以指向矢量中的特定值。...例如,V2代表向量中的第二个值,在上面的黄色图片中为“-8”。 ? ▌矩阵(Matrix) ---- 矩阵是一个有序的二维数组,它有两个索引。 第一个指向行,第二个指向列。...这意味着当我们乘以标量时,7 * 3与3 * 7相同。但是当我们矩阵彼此相乘时,A * B与B * A不一样。 2.结合律(Associative) 标量和矩阵乘法都有结合律。...如果你矩阵乘以它的逆,结果将是它的单位矩阵。 下面的例子展示了标量的逆: ? 但不是每个矩阵都有逆矩阵。 如果矩阵是“方阵”并且它可以具有逆矩阵,则可以计算矩阵的逆矩阵。...没有矩阵除法的概念,但我们可以通过逆矩阵乘以矩阵,产生相同的结果。 下图显示了一个矩阵,它乘以自己的逆矩阵,得到一个2乘2的单位矩阵。 ? 您可以使用Numpy轻松计算矩阵的逆(如果可以的话)。

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

入门 | 这是一份文科生都能看懂的线性代数简介

标量 标量就是一个简单的数,比如 24。 向量 ? 向量是一个有序数组,能够写成一行或者一列的形式。向量只包含一个索引,用来表示向量中的某个特定元素。...矩阵 矩阵是一个有序的二维数组,有两个索引。第一个索引表示行,第二个索引表示列。例如,M_23 表示的是第二行、第三列的元素,在上面淡黄色的图中是 8。...数字 1 是一个「单位」,因为任何数乘以 1 都等于它自身。因此,任何矩阵乘以一个单位矩阵都应该等于它自己。例如,矩阵 A 乘以单位矩阵还等于矩阵 A。...一个数乘以它的逆(倒数)等于 1。注意,任何非零的数都有倒数。如果矩阵和它的逆矩阵相乘,结果就应该是单位矩阵。下面的例子展示了标量的逆(倒数): ? 不过,并不是每个矩阵都有逆矩阵。...可以利用 NumPy 轻松计算出一个矩阵的逆矩阵(如果它可逆的话)。 2.转置 最后,我们讨论矩阵转置的性质。这基本上就是一个矩阵沿着 45 度轴线镜像翻转。

1.4K90

这是一份文科生都能看懂的线性代数简介

数学对象 标量 标量就是一个简单的数,比如 24。 向量 向量是一个有序数组,能够写成一行或者一列的形式。向量只包含一个索引,用来表示向量中的某个特定元素。...矩阵 矩阵是一个有序的二维数组,有两个索引。第一个索引表示行,第二个索引表示列。例如,M_23 表示的是第二行、第三列的元素,在上面淡黄色的图中是 8。...数字 1 是一个「单位」,因为任何数乘以 1 都等于它自身。因此,任何矩阵乘以一个单位矩阵都应该等于它自己。例如,矩阵 A 乘以单位矩阵还等于矩阵 A。...一个数乘以它的逆(倒数)等于 1。注意,任何非零的数都有倒数。如果矩阵和它的逆矩阵相乘,结果就应该是单位矩阵。下面的例子展示了标量的逆(倒数): 不过,并不是每个矩阵都有逆矩阵。...可以利用 NumPy 轻松计算出一个矩阵的逆矩阵(如果它可逆的话)。 2.转置 最后,我们讨论矩阵转置的性质。这基本上就是一个矩阵沿着 45 度轴线镜像翻转。

1.4K100

干掉公式 —— numpy 就该这么学

>>> 在下面实践中,默认 numpy 引用为 np: import numpy as np ......向量 一般数据被分为标量和向量,标量比较容易理解,即数轴上的一个数值 向量直观的认识是一组数值,可以理解为一维数组,但是为啥常见定义表示:具有方向的数值,方向指的是啥?这个问题困扰了我很多年(苦笑)。...可能这里比较绕或冗余,先解释到这里,后面的文章中会进一步解释向量和矩阵的实际意义 初始化 numpy 中,提供了多种产生向量和矩阵的方法,例如用 array 可以 python 数组初始化为 numpy...,即给向量中的每个数值乘以乘数,之间写代码的话,可以遍历向量,为每个值乘以乘数。...用 numpy 就简单很多:x * 2,就像做标量运算一样,感觉向量同一个数值一样。

1.7K10

Matlab入门(一)

例如,uint8函数数值数据转换为无符号8位整数,int8函数数值数据转换为带符号8位整数。...调用格式为: D=sub2ind(S,I,J)% S行数和列数组成的向量 I转换矩阵元素的行下标 J转换矩阵元素的列下标 ind2ind函数:矩阵元素的序号转换成对应的下标,调用格式为: [I,...(点运算与算数运算的区别) .* 点乘 :每个元素乘以一个数。 ./ (左点除) :每个元素除以一个数或者矩阵。如A ./ B A,B对应元素相除。...设参与逻辑运算的是两个标量a和b,那么运算规则为:a&b a、b全为非零时,运算结果为1,否则为0。alb a、b中只要有一个为非零时,运算结果为1。...~a当a为零时,运算结果为1;当a为非零时,运算结果为0。 在算术运算、关系运算和逻辑运算中,算术运算的优先级最高,逻辑运算优先级最低,但逻辑非运算是单目运算,它的优先级比双目运算要高。

17310

Python之numpy数组学习(五)——广播

前言 前面我们学习了numpy库的很多知识,今天来学习下数组的广播。 Numpy数组的广播 当操作对象的形状不一样时,numpy会尽力进行处理。...假设一个数组要跟一个标量相乘,这时标量需要根据数组的形状进行扩展,然后才可以执行乘法运算。这个扩展的过程叫做广播(broadcasting)。...实际上,就是数组的值乘以一个常数,从而得到一个新数组,因为这个新数组的元素值肯定是变小了。这就是广播技术的用武之地。最后,我们要确保新数组和原数组的类型一致,即WAV格式。...数组保存到一个新的WAV文件中,代码如下: scipy.io.wavfile.write("quiet.wav", sample_rate,newdata) ⑤ 绘制出新的WAV数据...小结 今天学习一下Python中numpy数组的广播。希望通过上面的操作能帮助大家。如果你有什么好的意见,建议,或者有不同的看法,我都希望你留言和我们进行交流、讨论。

1.9K100

放弃深度学习?我承认是因为线性代数

NumPy 这个 python 库中,有 24 种新的基本数据类型来描述不同类型的标量。...在 Python 中定义标量和一些操作: 下面的代码片段解释了对标量的几个算术运算。 ? ? 以下代码片段检查给定变量是否是标量。 ? ? 向量 向量是一维有序数组,是一阶张量的例子。...所有矩阵的元素缩写为以下形式通常很有用。 ? 在 Python 语言中,我们使用 numpy 库来帮助我们创建 n 维数组。这些数组基本上都是矩阵,我们使用矩阵方法通过列表,来定义一个矩阵。...矩阵-标量相加 将给定的标量加到给定矩阵的所有元素。 ? 矩阵-标量相乘 用给定的标量乘以给定矩阵的所有元素。 ? 矩阵乘法 矩阵 A 与矩阵 B 相乘得到矩阵 C。 ? ?...矩阵转置 通过矩阵转置,你可以行向量转换为列向量,反之亦然。 A=[aij]mxn AT=[aji]n×m ? ? 张量 张量的更一般的实体封装了标量、向量和矩阵。

1.8K20

最全的NumPy教程

从ndarray对象提取的任何元素(通过切片)由一个数组标量类型的 Python 对象表示。下图显示了ndarray,数据类型对象(dtype)和数组标量类型之间的关系。 ?...NumPy - 数据类型 NumPy 支持比 Python 更多种类的数值类型。下表显示了 NumPy 中定义的不同标量数据类型。...8] [10 11]] 布尔索引 当结果对象是布尔运算(例如比较运算符)的结果时,将使用此类型的高级索引。...numpy.average() 加权平均值是由每个分量乘以反映其重要性的因子得到的平均值。 numpy.average()函数根据在另一个数组中给出的各自的权重计算数组中元素的加权平均值。...numpy.histogram() numpy.histogram()函数输入数组和bin作为两个参数。 bin数组中的连续元素用作每个bin的边界。

4.1K10

人工智能测试-NLP入门(1)

数学基础 标量 Scalar 一个标量就是一个单独的数 向量 Vector 一个向量是一列数 可以把向量看做空间中的点,每个元素是不同坐标轴上的坐标 向量中有几个数就叫几维向量 如4维向量:[1, 2,...向量夹角余弦值: cosΘ = A * B / |A| * |B| 向量的模 |A| = \sqrt{x_{1}^{2} + x_{2}^{2} +...+ x_{n}^{2}} 矩阵 Matrix 是一个二维数组...,矩阵中每一个值是一个标量,可以通过行号和列号进行索引 \begin{pmatrix} 1 & 4 \\ 2 & 5 \\ 3 & 6 \\ \end{pmatrix} 是一个 3×2的矩阵 矩阵加法...= B*A 左矩阵行乘以右矩阵列,对位相乘再求和 矩阵转置(transpose),即行列互换 张量 tensor 3个2×2矩阵排列在一起,就称为3×2×2的张量 张量是神经网络的训练中最为常见的数据形式...在Python中,向量一般使用numpy库,而张量一般使用torch库 pip install numpy pip install torch 安装成功后,即可调用相关代码 import numpy

9610

在 Python 中集成一个 Hermite 系列

第一个参数 c 是 埃尔米特级数系数数组。如果 c 是多维的,则不同的轴对应于 不同的变量,每个轴中的度数由相应的索引给出。 第二个参数 m 是积分阶数,必须为正数。(默认值:1)。...如果 m == 1,则可以给出单个标量而不是列表。 第 4 个参数 lbnd 是积分的下限。(默认值:0)。第 5 个参数 scl 是一个 标量。每次积分后,结果乘以 scl 后积分常数为 添加。...步骤 首先,导入所需的库 - import numpy as np from numpy.polynomial import hermite as H 创建系数数组 − c = np.array([1,2,3...]) 显示数组 − print("Our Array......\n",H.hermint(c)) 例 import numpy as np from numpy.polynomial import hermite as H # Create an array of

33960

盘一盘 Python 特别篇 23 - 爱因斯坦求和 einsum

具体来说,einsum 函数的功能是 对单数组按不同轴上的元素求和。 对多数组按相同轴上的元素相乘再求和。 2.1 标量 0 维单数组 首先创建标量 arr0。...einsum("", arr0) 3 上例的操作是对数组求和,本例的操作是返回该数组,只不过当数组标量时,两者看起来是一样的 (对于非标量数组就不是这样子了,后面读者会看到)。...字符串 "ijk->" 对三维数组所有元素求和,得到标量 48。...字符串 "ijk,jil->kl" A 切片轴 0-1 得到一个形状为 (3, 4) 的二维矩阵,比如 a; B 切片轴 0-1 得到一个形状为 (4, 3) 的二维矩阵,比如 b;然后用 a 乘以...然后用 a 乘以 b 的转置并对所有元素求和。

1.9K20

NumPy之:理解广播

本文将会以具体的例子详细讲解NumPy中广播的使用。 基础广播 正常情况下,两个数组需要进行运算,那么每个数组的对象都需要有一个相对应的值进行计算才可以。...比如,我们可以讲一个数组乘以常量: a = np.array([1.0, 2.0, 3.0]) >>> b = 2.0 >>> a * b array([ 2., 4., 6.])...下面的例子和上面的例子是等价的,Numpy会自动b进行扩展。 NumPy足够聪明,可以使用原始标量值而无需实际制作副本,从而使广播操作尽可能地节省内存并提高计算效率。...第二个示例中的代码比第一个示例中的代码更有效,因为广播在乘法过程中移动的内存更少(b是标量而不是数组)。...其中a[:, np.newaxis] 1维的数组转换成为4维的数组: In [230]: a[:, np.newaxis] Out[230]: array([[ 0.], [10.],

82020

NumPy之:理解广播

本文将会以具体的例子详细讲解NumPy中广播的使用。 基础广播 正常情况下,两个数组需要进行运算,那么每个数组的对象都需要有一个相对应的值进行计算才可以。...比如,我们可以讲一个数组乘以常量: a = np.array([1.0, 2.0, 3.0]) >>> b = 2.0 >>> a * b array([ 2., 4., 6.])...下面的例子和上面的例子是等价的,Numpy会自动b进行扩展。 NumPy足够聪明,可以使用原始标量值而无需实际制作副本,从而使广播操作尽可能地节省内存并提高计算效率。...第二个示例中的代码比第一个示例中的代码更有效,因为广播在乘法过程中移动的内存更少(b是标量而不是数组)。...其中a[:, np.newaxis] 1维的数组转换成为4维的数组: In [230]: a[:, np.newaxis] Out[230]: array([[ 0.], [10.],

1K40

NumPy之:理解广播

本文将会以具体的例子详细讲解NumPy中广播的使用。 基础广播 正常情况下,两个数组需要进行运算,那么每个数组的对象都需要有一个相对应的值进行计算才可以。...比如,我们可以讲一个数组乘以常量: a = np.array([1.0, 2.0, 3.0]) >>> b = 2.0 >>> a * b array([ 2., 4., 6.])...下面的例子和上面的例子是等价的,Numpy会自动b进行扩展。 NumPy足够聪明,可以使用原始标量值而无需实际制作副本,从而使广播操作尽可能地节省内存并提高计算效率。...第二个示例中的代码比第一个示例中的代码更有效,因为广播在乘法过程中移动的内存更少(b是标量而不是数组)。...其中a[:, np.newaxis] 1维的数组转换成为4维的数组: In [230]: a[:, np.newaxis] Out[230]: array([[ 0.], [10.],

85450
领券