花书学习笔记01- [P1_C2]线性代数
1. 标量、向量、矩阵和张量
- 标量scalar: 一个标量就是一个单独的数,它不同于线性代数中研究的其他大部分对象(通常是多个数的数组)。我们用斜体表示标量。标量通常被赋予小写的变量名称。
- 向量vector: 一个向量是一列数。这些数是有序排列的。通过次序中的索引,我们可以确定每个单独的数。通常我们赋予向量粗体的小写变量名称,比如 x x x。
- 矩阵matrix: 矩阵是一个二维数组,其中的每一个元素被两个索引(而非一个)所确定。我们通常会赋予矩阵粗体的大写变量名称,比如 A A A。如果一个实数矩阵高度为 m,宽度为 n,那么我们说 A ∈ R m × n A ∈ R^{m×n} A∈Rm×n。
- 张量tensor: 在某些情况下,我们会讨论坐标超过两维的数组。一般地,一个数组中的元素分布在若干维坐标的规则网格中,我们称之为张量。
- **转置(transpose)**是矩阵的重要操作之一。矩阵的转置是以对角线为轴的镜像,这条从左上角到右下角的对角线被称为 主对角线(main diagonal)
2. 矩阵和向量相乘
如果矩阵 A A A的形状是 m × n m × n m×n,矩阵 B B B 的形状是 n × p n × p n×p,那么矩阵 C C C的形状是 m × p m × p m×p。我们可以通过将两个或多个矩阵并列放置以书写矩阵乘法,例如
C
=
A
B
C = AB
C=AB
具体地,该乘法操作定义为
C
i
,
j
=
∑
k
A
i
,
k
B
k
,
j
C_{i, j}=\sum_{k} A_{i, k} B_{k, j}
Ci,j=k∑Ai,kBk,j
需要注意的是,两个矩阵的标准乘积不是指两个矩阵中对应元素的乘积。不过,那样的矩阵操作确实是存在的,被称为 元素对应乘积(element-wise product)或者 Hadamard 乘积(Hadamard product),记为
A
⊙
B
A ⊙ B
A⊙B。
3. 范数
有时我们需要衡量一个向量的大小。在机器学习中,我们经常使用被称为 范数(norm) 的函数衡量向量大小。形式上, L p L^p Lp 范数定义如下
∥
x
∥
p
=
(
∑
i
∣
x
i
∣
p
)
1
p
\| x \| _ { p } = ( \sum _ { i } | x _ { i } | ^ { p } ) ^ { \frac { 1 } { p } }
∥x∥p=(i∑∣xi∣p)p1
其中
p
∈
R
,
p
≥
1
p ∈ R,p ≥ 1
p∈R,p≥1。
范数(包括 ∗ L p *L^p ∗Lp* 范数)是将向量映射到非负值的函数。直观上来说,向量 x x x的范数衡量从原点到点 x x x 的距离。更严格地说,范数是满足下列性质的任意函数:
- f ( x ) = 0 ⇒ x = 0 {f ( x )} = 0 \Rightarrow x = 0 f(x)=0⇒x=0
- f ( x + y ) ≤ f ( x ) + f ( y ) {f ( x + y )} \leq {f ( x )} + {f ( y )} f(x+y)≤f(x)+f(y) (三角不等式(triangle inequality))
- ∀ α ∈ R , f ( α x ) = ∣ α ∣ f ( x ) \forall \alpha \in R , {f ( \alpha x )} = | \alpha | {f ( x )} ∀α∈R,f(αx)=∣α∣f(x)
当 p = 2 p = 2 p=2 时, L 2 L^2 L2 范数被称为 欧几里得范数(Euclidean norm)。它表示从原点出发到向量 x 确定的点的欧几里得距离。 L 2 L^2 L2 范数在机器学习中出现地十分频繁,经常简化为 ∣ ∣ x ∣ ∣ ||x|| ∣∣x∣∣,略去了下标2。平方 L 2 L^2 L2范数也经常用来衡量向量的大小,可以简单地通过点积 x ⊤ x x^⊤x x⊤x 计算。
另外一个经常在机器学习中出现的范数是 L ∞ L^∞ L∞ 范数,也被称为 最大范数(maxnorm)。这个范数表示向量中具有最大幅值的元素的绝对值:
∥
x
∥
∞
=
max
i
∣
x
i
∣
\| x \| _ { \infty } = \operatorname { max } _ { i } | x _ { i } |
∥x∥∞=maxi∣xi∣
有时候我们可能也希望衡量矩阵的大小。在深度学习中,最常见的做法是使用 Frobenius 范数(Frobenius norm),
∥
A
∥
F
=
∑
i
,
j
A
i
,
j
2
\| A \| _ { F } = \sqrt { \sum _ { i , j } A _ { i , j } ^ { 2 } }
∥A∥F=i,j∑Ai,j2
其类似于向量的
L
2
L^2
L2 范数。
两个向量的 点积(dot product)可以用范数来表示。具体地.
x
T
y
=
∥
x
∥
2
∥
y
∥
2
cos
θ
x ^ { T } y = \| x \| _ { 2 } \| y \| _ { 2 } \operatorname { cos } \theta
xTy=∥x∥2∥y∥2cosθ
其中
θ
θ
θ 表示
x
x
x 和
y
y
y 之间的夹角。