机器学习 深度学习用到的数学基础知识 标量、向量、矩阵和张量
来源:互联网 发布:nginx requires gd 编辑:程序博客网 时间:2024/06/07 03:00
学习线性代数,会涉及以下几类数学概念:• 标量(scalar):一个标量就是一个单独的数,它不同于线性代数中研究的其他大部分对象(通常是多个数的数组)。我们用斜体表示标量。标量通常被赋予小写的变量名称。当我们介绍标量时,会明确它们是哪种类型的数。比如,在定义实数标量时,我们可能会说 ‘‘令 s ∈ R 表示一条线的斜率’’;在定义自然数标量时,我们可能会说 ‘‘令 n ∈ N 表示元素的数目’’。• 向量(vector):一个向量是一列数。这些数是有序排列的。通过次序中的索引,我们可以确定每个单独的数。通常我们赋予向量粗体的小写变量名称,比如 x。向量中的元素可以通过带脚标的斜体表示。向量 x 的第一个元素是 x 1 ,第二个元素是 x 2 ,等等。我们也会注明存储在向量中的元素是什么类型的。如果每个元素都属于 R,并且该向量有 n 个元素,那么该向量属于实数集 R 的n 次笛卡尔乘积构成的集合,记为 R n 。当我们需要明确表示向量中的元素时,我们会将元素排列成一个方括号包围的纵列:
我们可以把向量看作空间中的点,每个元素是不同坐标轴上的坐标。
有时我们需要索引向量中的一些元素。在这种情况下,我们定义一个包含这些
元素索引的集合,然后将该集合写在脚标处。比如,指定 x 1 ,x 3 和 x 6 ,我们定
义集合 S = {1,3,6},然后写作 x S 。我们用符号-表示集合的补集中的索引。
比如 x −1 表示 x 中除 x 1 外的所有元素,x −S 表示 x 中除 x 1 ,x 3 ,x 6 外所有元
素构成的向量。
• 矩阵(matrix):矩阵是一个二维数组,其中的每一个元素被两个索引而非一个
所确定。我们通常会赋予矩阵粗体的大写变量名称,比如 A。如果一个实数矩
阵高度为 m,宽度为 n,那么我们说 A ∈ R m×n 。我们在表示矩阵中的元素时,
通常以不加粗的斜体形式使用其名称,索引用逗号间隔。比如,A 1,1 表示 A 左
上的元素,A m,n 表示 A 右下的元素。我们通过用 “:’’ 表示水平坐标,以表示
垂直坐标 i 中的所有元素。比如,A i,: 表示 A 中垂直坐标 i 上的一横排元素。
这也被称为 A 的第 i 行(row)。同样地,A :,i 表示 A 的第 i 列(column)。
当我们需要明确表示矩阵中的元素时,我们将它们写在用方括号包围起来的数
组中:
[A 1,1 A 1,2
A 2,1 A 2,2]
有时我们需要矩阵值表达式的索引,而不是单个元素。在这种情况下,我们在
表达式后面接下标,但不必将矩阵的变量名称小写化。比如,f(A) i,j 表示函数
f 作用在 A 上输出的矩阵的第 i 行第 j 列元素。
• 张量(tensor):在某些情况下,我们会讨论坐标超过两维的数组。一般地,一
个数组中的元素分布在若干维坐标的规则网格中,我们将其称之为张量。我们
使用字体 A 来表示张量 “A’’。张量 A 中坐标为 (i,j,k) 的元素记作 A i,j,k 。
转置(transpose)是矩阵的重要操作之一。矩阵的转置是以对角线为轴的镜像,
这条从左上角到右下角的对角线被称为主对角线(main diagonal)。图2.1显示了这
个操作。我们将矩阵 A 的转置表示为 A ⊤ ,定义如下
(A ⊤ ) i,j = A j,i . (2.3)
向量可以看作是只有一列的矩阵。对应地,向量的转置可以看作是只有一行的
矩阵。有时,我们通过将向量元素作为行矩阵写在文本行中,然后使用转置操作将
其变为标准的列向量,来定义一个向量,比如 x = [x 1 ,x 2 ,x 3 ] ⊤ .
标量可以看作是只有一个元素的矩阵。因此,标量的转置等于它本身,a = a ⊤ 。
A =
2
4
A 1,1 A 1,2
A 2,1 A 2,2
A 3,1 A 3,2
3
5 ) A > =
A 1,1 A 2,1 A 3,1
A 1,2 A 2,2 A 3,2
?
图 2.1: 矩阵的转置可以看成是以主对角线为轴的一个镜像。
只要矩阵的形状一样,我们可以把两个矩阵相加。两个矩阵相加是指对应位置
的元素相加,比如 C = A + B,其中 C i,j = A i,j + B i,j 。
标量和矩阵相乘,或是和矩阵相加时,我们只需将其与矩阵的每个元素相乘或
相加,比如 D = a · B + c,其中 D i,j = a · B i,j + c。
在深度学习中,我们也使用一些不那么常规的符号。我们允许矩阵和向量相
加,产生另一个矩阵:C = A + b,其中 C i,j = A i,j + b j 。换言之,向量 b 和矩阵
A 的每一行相加。这个简写方法使我们无需在加法操作前定义一个将向量 b 复制
到每一行而生成的矩阵。这种隐式地复制向量 b 到很多位置的方式,被称为广播
(broadcasting)
有时我们需要索引向量中的一些元素。在这种情况下,我们定义一个包含这些
元素索引的集合,然后将该集合写在脚标处。比如,指定 x 1 ,x 3 和 x 6 ,我们定
义集合 S = {1,3,6},然后写作 x S 。我们用符号-表示集合的补集中的索引。
比如 x −1 表示 x 中除 x 1 外的所有元素,x −S 表示 x 中除 x 1 ,x 3 ,x 6 外所有元
素构成的向量。
• 矩阵(matrix):矩阵是一个二维数组,其中的每一个元素被两个索引而非一个
所确定。我们通常会赋予矩阵粗体的大写变量名称,比如 A。如果一个实数矩
阵高度为 m,宽度为 n,那么我们说 A ∈ R m×n 。我们在表示矩阵中的元素时,
通常以不加粗的斜体形式使用其名称,索引用逗号间隔。比如,A 1,1 表示 A 左
上的元素,A m,n 表示 A 右下的元素。我们通过用 “:’’ 表示水平坐标,以表示
垂直坐标 i 中的所有元素。比如,A i,: 表示 A 中垂直坐标 i 上的一横排元素。
这也被称为 A 的第 i 行(row)。同样地,A :,i 表示 A 的第 i 列(column)。
当我们需要明确表示矩阵中的元素时,我们将它们写在用方括号包围起来的数
组中:
[A 1,1 A 1,2
A 2,1 A 2,2]
有时我们需要矩阵值表达式的索引,而不是单个元素。在这种情况下,我们在
表达式后面接下标,但不必将矩阵的变量名称小写化。比如,f(A) i,j 表示函数
f 作用在 A 上输出的矩阵的第 i 行第 j 列元素。
• 张量(tensor):在某些情况下,我们会讨论坐标超过两维的数组。一般地,一
个数组中的元素分布在若干维坐标的规则网格中,我们将其称之为张量。我们
转置(transpose)是矩阵的重要操作之一。矩阵的转置是以对角线为轴的镜像,
这条从左上角到右下角的对角线被称为主对角线(main diagonal)。图2.1显示了这
个操作。我们将矩阵 A 的转置表示为 A ⊤ ,定义如下
(A ⊤ ) i,j = A j,i . (2.3)
向量可以看作是只有一列的矩阵。对应地,向量的转置可以看作是只有一行的
矩阵。有时,我们通过将向量元素作为行矩阵写在文本行中,然后使用转置操作将
其变为标准的列向量,来定义一个向量,比如 x = [x 1 ,x 2 ,x 3 ] ⊤ .
标量可以看作是只有一个元素的矩阵。因此,标量的转置等于它本身,a = a ⊤ 。
A =
2
4
A 1,1 A 1,2
A 2,1 A 2,2
A 3,1 A 3,2
3
5 ) A > =
A 1,1 A 2,1 A 3,1
A 1,2 A 2,2 A 3,2
?
图 2.1: 矩阵的转置可以看成是以主对角线为轴的一个镜像。
只要矩阵的形状一样,我们可以把两个矩阵相加。两个矩阵相加是指对应位置
的元素相加,比如 C = A + B,其中 C i,j = A i,j + B i,j 。
标量和矩阵相乘,或是和矩阵相加时,我们只需将其与矩阵的每个元素相乘或
相加,比如 D = a · B + c,其中 D i,j = a · B i,j + c。
在深度学习中,我们也使用一些不那么常规的符号。我们允许矩阵和向量相
加,产生另一个矩阵:C = A + b,其中 C i,j = A i,j + b j 。换言之,向量 b 和矩阵
A 的每一行相加。这个简写方法使我们无需在加法操作前定义一个将向量 b 复制
到每一行而生成的矩阵。这种隐式地复制向量 b 到很多位置的方式,被称为广播
(broadcasting)
阅读全文
0 0
- 机器学习 深度学习用到的数学基础知识 标量、向量、矩阵和张量
- 线性代数学习1 标量、向量、矩阵和张量
- 8.1 标量、向量、矩阵和张量
- 学习笔记DL004:标量、向量、矩阵、张量,矩阵、向量相乘,单位矩阵、逆矩阵
- 机器学习中会用到的矩阵、向量求导公式
- 机器学习所需要的数学基础知识---矩阵(1)
- 机器学习的数学基础:向量篇
- 机器学习的数学基础:向量篇
- 机器学习-矩阵向量求导
- 稀疏表达:向量、矩阵和张量
- 机器学习人工智能,数学基础知识
- AI-深度学习框架-应用数学和机器学习基础
- 机器学习12-支持向量机的数学上定义
- 向量,矩阵,张量----基本概念
- 向量,矩阵,张量求导
- 机器/深度学习矩阵和线性代数学习笔记
- 从零单排入门机器学习:Octave/matlab的常用知识之矩阵和向量
- 机器学习入门(8)--向量&矩阵
- Guava使用之Immutable collection
- centos7 ubuntu crontab定时任务
- 洛谷 P1471 方差
- 【palindrome-partitioning】
- 通过浏览器访问百度的详细过程?
- 机器学习 深度学习用到的数学基础知识 标量、向量、矩阵和张量
- SQLserver关键字大全
- BFS、模拟:UVa1589/POJ4001/hdu4121-Xiangqi
- JAVA语言基础知识
- #13. Roman to Integer
- 视图控制器
- 加油站问题(贪心法)
- Angular4.0 安装 环境搭建及安装失败解决办法
- java基础之IO流--RandomAccessFile(也很特殊,直接继承自Object类)