文章目录
- 总览
- 向量
- 矩阵
- 矩阵乘法
- 矩阵对称性
- 非负矩阵
- 单位矩阵 (Identity Matrix)
- 对角矩阵 (Diagonal Matrix)
- 矩阵加法
- 内积 (Inner Product)
- 正交向量 (Orthogonal Vectors)
- 方阵的迹(Trace)
- 方阵的行列式 (Determinant)
- 方阵的伴随矩阵 (Adjoint)
- 逆矩阵 (Inverse Matrix)
- 线性独立性 (Linear Independence) 和秩 (Rank)
- 正交矩阵 (Orthogonal Matrix)
- 矩阵的正定性 (Positive Definiteness)
- 特征值 (Eigenvalue) 和特征向量 (Eigenvector)
总览
假设我们要通过一些特征来描述一个人,比如: 身高,体重,颈部周长,手臂周长和年龄。每个人的这些特征可能都会不一样,让我们将他们用
x
1
,
x
2
,
x
3
,
x
4
,
x
5
x1, x2, x3, x4, x5
x1,x2,x3,x4,x5 来代表。此时,我们就可以用 向量(vector) 来代表拥有这些特征的个人,如
[
175
c
m
,
60
k
g
,
20
c
m
,
15
c
m
,
25
岁
]
[175cm, 60kg, 20cm, 15cm, 25岁]
[175cm,60kg,20cm,15cm,25岁]。
如果我们要用数据结构来表示一大群人,矩阵 (Matrix) 就可以被用来代表这些人。
为什么学习机器学习之前你要了解线性代数?
答:“线性代数提供了一个数学框架来推理和操作向量和矩阵。 这在机器学习中广泛用于建模和解决问题。”
向量
一个
d
d
d 维的列向量
x
x
x及其转置(一个行向量)
x
t
x^t
xt 可以用如下方式表示:
献上实例:
矩阵
一个
n
∗
d
n * d
n∗d 的矩阵
M
M
M以及其
d
∗
n
d * n
d∗n 的转置矩阵
M
t
M^{t}
Mt分别被写为:
献上实例 (
3
∗
5
3 * 5
3∗5 的矩阵 及其 转置):
我们可以将矩阵
M
M
M 的各个条目写为
m
i
j
m_{ij}
mij的形式,其中
i
i
i 和
j
j
j 分别指代 行值 和 列值。
矩阵乘法
基础
两个矩阵
A
A
A( 尺寸为
m
∗
n
m * n
m∗n)和矩阵
B
B
B(尺寸为
n
∗
d
n * d
n∗d)的乘积
C
C
C 表示为:
C
=
A
B
C = AB
C=AB
其中
C
C
C的每个条目
c
i
j
c_{ij}
cij分别为:
其中,
C
C
C的转置为:
C
t
=
(
A
B
)
t
=
B
t
A
t
C^t = (AB)^t = B^tA^t
Ct=(AB)t=BtAt
矩阵乘法实例:
m
11
=
4.6
×
3.5
+
5.7
×
1.5
+
6.1
×
4.1
+
5.5
×
7.5
=
90.91
m_{11} = 4.6 × 3.5 + 5.7 × 1.5 + 6.1 × 4.1 + 5.5 × 7.5 = 90.91
m11=4.6×3.5+5.7×1.5+6.1×4.1+5.5×7.5=90.91
m
32
=
3.5
×
6.2
+
5.3
×
3.7
+
9.5
×
8.7
+
8.5
×
4.1
=
158.81
m_{32} = 3.5 × 6.2 + 5.3 × 3.7 + 9.5 × 8.7 + 8.5 × 4.1 = 158.81
m32=3.5×6.2+5.3×3.7+9.5×8.7+8.5×4.1=158.81
矩阵和向量相乘
矩阵
M
M
M 可以和向量
x
x
x 相乘从而得到另一个向量
y
y
y: (
M
M
M 的列数必须和
x
x
x 的行数相同)
其中
y
y
y 的每个元素可以这么计算:
献上实例:
矩阵相乘不符合交换律
A
×
B
A × B
A×B 和
B
×
A
B × A
B×A并不总是相等。
矩阵对称性
一个方阵 (square matrix,即
d
×
d
d × d
d×d)
M
M
M, 若其条目符合
m
i
j
=
m
j
i
m_{ij} = m_{ji}
mij=mji,则其为对称矩阵(symmetric)。如下图。
若其条目符合
m
i
j
=
−
m
j
i
m_{ij} = -m_{ji}
mij=−mji,则其为 偏对称矩阵 (skew-symmetric) 或 反对称矩阵 (anti-symmetric)。如下图。
非负矩阵
当矩阵
M
M
M 的所有条目都不小于0,则该矩阵为非负的。
单位矩阵 (Identity Matrix)
当一个方阵
I
I
I 的对角线条目都等于 1 而其他条目都等于0,则其为单位矩阵。
下图为维度是4的单位矩阵
对角矩阵 (Diagonal Matrix)
对角矩阵是在所有非对角线项中都为 0 的矩阵,表示为
d
i
a
g
(
m
11
,
m
22
,
.
.
,
m
d
d
)
diag(m11, m22, . . , mdd )
diag(m11,m22,..,mdd)
实例如下图:
矩阵加法
向量和矩阵的相加是 一个项 加上 同样位置的另一个项。
如下图,两个兼容矩阵 (Compatible Matrices) 的累加
内积 (Inner Product)
具有相同维度
d
d
d 的两个向量
x
x
x 和
y
y
y 的内积(或被称为标量积 scalar product)将表示为
x
t
y
x^ty
xty 并且结果是标量。
标量(Scalar): 一个标量就是一个单独的数,即只有大小,没有方向的量。
向量
x
x
x 的欧几里得范数或长度 (Euclidean Norm or Length) 是:
若该范数等于1,则向量已经被归一化 (normalized)。
两个
d
d
d 维向量之间的角度
θ
\theta
θ 可以通过下式获得:
内积是衡量两个向量 共线性(colinearity) 的指标,这是一种在比例因子 (scale factor) 内相似性的指示。
下图是两个向量内积的例子:
x
t
y
=
1
×
5
+
3
×
1
+
4
×
0
+
6
×
2
+
8
×
7
=
76
x^ty = 1 × 5 + 3 × 1 + 4 × 0 + 6 × 2 + 8 × 7 = 76
xty=1×5+3×1+4×0+6×2+8×7=76
向量
x
x
x 的矢量 (magnitude) 等于:
∥
x
∥
=
1
×
1
+
3
×
3
+
4
×
4
+
6
×
6
+
8
×
8
=
126
=
11.23
\Vert x \Vert = \sqrt{1 × 1 + 3 × 3 + 4 × 4 + 6 × 6 + 8 × 8} = \sqrt{126} = 11.23
∥x∥=1×1+3×3+4×4+6×6+8×8=126=11.23
向量
y
y
y 的矢量 (magnitude) 等于:
∥
y
∥
=
5
×
5
+
1
×
1
+
0
+
2
×
2
+
7
×
7
=
79
=
8.89
\Vert y \Vert = \sqrt{5 × 5 + 1 × 1 + 0 + 2 × 2 + 7 × 7} = \sqrt{79} = 8.89
∥y∥=5×5+1×1+0+2×2+7×7=79=8.89
因此向量
x
x
x 和
y
y
y 之间的角度等于:
正交向量 (Orthogonal Vectors)
若
x
t
y
=
0
x^ty = 0
xty=0,则这两个向量是正交的。
若
x
t
y
=
∥
x
∥
∥
y
∥
x^ty = \Vert x \Vert\Vert y \Vert
xty=∥x∥∥y∥,则这两个向量是共线 (colinear) 的。
Cauchy-Schwartz 不等式直接来自上述的对 两个向量之间的角度 的定义:
x
t
y
≤
∥
x
∥
∥
y
∥
x^ty \le \Vert x \Vert\Vert y \Vert
xty≤∥x∥∥y∥
方阵的迹(Trace)
方阵
A
A
A的迹 (又被记作
T
r
{
A
}
Tr\{A\}
Tr{A})是其对角元素之和。
其中,
T
r
{
C
D
}
=
T
r
{
D
C
}
Tr\{CD\} = Tr\{DC\}
Tr{CD}=Tr{DC} 假设了
C
D
CD
CD 的乘积是方阵,因此不需要保证
C
C
C或
D
D
D为方阵。
下面是 迹 的实例
矩阵
D
D
D的迹是
4
+
6
+
2
+
1
=
13
4+6+2+1=13
4+6+2+1=13
方阵的行列式 (Determinant)
d
d
d 维方阵
M
M
M 的行列式被记为
∣
M
∣
|M|
∣M∣
其中,辅因子矩阵 (cofactor)
M
i
j
M_{ij}
Mij 是删除
M
M
M 的第
i
i
i 行和第
j
j
j 列形成的矩阵的行列式,并乘以
(
−
1
)
i
+
j
(-1)^{i+j}
(−1)i+j。
实例如下图:
其行列式等于:
2
×
(
2
×
9
−
3
×
4
)
−
4
×
(
−
1
×
9
−
1
×
3
)
+
6
×
(
−
1
×
4
−
2
×
1
)
=
24
2 × (2 × 9 − 3 × 4) − 4 × (−1 × 9 − 1 × 3) + 6 × (−1 × 4 − 2 × 1) = 24
2×(2×9−3×4)−4×(−1×9−1×3)+6×(−1×4−2×1)=24
方阵的伴随矩阵 (Adjoint)
由辅因子组成的矩阵的转置,
C
(
c
i
j
=
M
i
j
)
C(c_{ij} = M_{ij})
C(cij=Mij),被称为
M
M
M 的伴随矩阵,即
A
d
j
[
M
]
Adj[M]
Adj[M]
其伴随矩阵等于:
逆矩阵 (Inverse Matrix)
d
d
d 维矩阵
M
M
M 的逆矩阵
M
−
1
M^{-1}
M−1符合:
M
−
1
M
=
M
M
−
1
=
I
M^{-1}M = MM^{-1} = I
M−1M=MM−1=I
逆矩阵可以使用以下求法:
M
−
1
=
A
d
j
[
M
]
∣
M
∣
M^{-1} = \frac{Adj[M]}{|M|}
M−1=∣M∣Adj[M]
也就是
M
M
M 的伴随矩阵 除以
M
M
M 的行列式。
逆矩阵的实例如下:
在之前我们已经计算了
A
A
A 的行列式等于 24,其伴随矩阵如下
因此,
A
A
A的逆矩阵等于:
若 矩阵的逆 存在则我们可以说该矩阵非奇异 (nonsingular),
否则这个矩阵就不存在 逆,其是奇异 (singular) 的同时 矩阵的行列式
∣
M
∣
=
0
|M| = 0
∣M∣=0。
一些特性:
(
M
t
)
−
1
=
(
M
−
1
)
t
(M^t)^{-1} = (M^{-1})^t
(Mt)−1=(M−1)t,
(
A
B
)
−
1
=
B
−
1
A
−
1
(AB)^{-1} = B^{-1}A^{-1}
(AB)−1=B−1A−1
线性独立性 (Linear Independence) 和秩 (Rank)
若
k
k
k 个拥有相同维度的向量,存在一系列不全为0的标量
c
1
,
c
2
,
.
.
.
,
c
k
c_1, c_2, ..., c_k
c1,c2,...,ck,使得以下式子成立,则可以说这些向量是线性相关的:
c
1
x
1
+
⋅
⋅
⋅
+
c
k
x
k
=
0
c_1x_1 + · · · + c_kx_k = 0
c1x1+⋅⋅⋅+ckxk=0
若无法找到这些标量,则这些向量被称为线性独立。
一个矩阵的秩 也就是 矩阵中线性独立行的最大数量 (或者,线性独立列的最大数量)。
若一个
d
×
d
d × d
d×d 的矩阵的秩等于
d
d
d,则其是满秩的 (full rank)。同时,其行列式将会是非0且其会拥有逆矩阵。
对于一个非方阵的矩阵 M M M ( d × n d × n d×n), M M M 的秩满足: r a n k ( M ) ≤ m i n ( d , n ) rank(M) \le min(d, n) rank(M)≤min(d,n)
其中,我们还能得到 r a n k ( M ) = r a n k ( M t ) = r a n k ( M t M ) = r a n k ( M M t ) rank(M) = rank(M^t) = rank(M^tM) = rank(MM^t) rank(M)=rank(Mt)=rank(MtM)=rank(MMt)
正交矩阵 (Orthogonal Matrix)
当一个方阵
M
M
M 满足以下式子,其是正交的:
M
M
t
=
M
t
M
=
I
MM^t = M^tM = I
MMt=MtM=I (注意和逆矩阵的公式区别)
行和列都是正交的。对于任意不同的两列 x x x 和 y y y,满足 x t y = 0 x^ty = 0 xty=0, x t x = 1 x^tx = 1 xtx=1, y t y = 1 y^ty = 1 yty=1。
一个正交矩阵代表了 会保留距离和角度 的线性转换(linear transformation) 包括旋转和反转。
一个正交矩阵是非奇异的,同时其逆矩阵就是其转置, M − 1 = M t M^{-1} = M^t M−1=Mt
正交矩阵的行列式等于 ± 1 \pm1 ±1,其中 − 1 -1 −1 表示反转 而 + 1 +1 +1代表了纯旋转。
矩阵的正定性 (Positive Definiteness)
若一个方阵对于所有的非零向量
x
x
x,其二次型 (Quadratic Form) 满足
x
t
M
x
>
0
x^tMx \gt 0
xtMx>0, 则其具有正定性。一个正定矩阵是满秩的。
若一个方阵对于所有的非零向量
x
x
x,其二次型 (Quadratic Form) 满足
x
t
M
x
≥
0
x^tMx \ge 0
xtMx≥0, 则其具有半正定性 (Positive Semidefinite)。
特征值 (Eigenvalue) 和特征向量 (Eigenvector)
给定一个 d d d 维方阵 M M M,对于标量 λ \lambda λ,当存在一个非零向量 x x x 使得以下等式成立:
M x = λ x Mx = \lambda x Mx=λx 或者 ( M − λ I ) x = 0 (M - \lambda I)x = 0 (M−λI)x=0
则 标量
λ
\lambda
λ 被称为
M
M
M 的特征值 而
x
x
x 是和该特征值相关的
M
M
M 的特征向量。
因此不同的特征值会导致不同的特征向量。
下图是例子:
验证过程:
特征方程 (Characteristic Equation) 的解:
∣
M
−
λ
I
∣
=
0
|M - \lambda I| = 0
∣M−λI∣=0
给出
d
×
d
d × d
d×d 矩阵的特征值或特征根。
特征方程是 λ λ λ 的 d d d 阶多项式。 有 d d d 个解, λ 1 , λ 2 , . . . , λ d λ_1, λ_2, . . . , λ_d λ1,λ2,...,λd 。 它们不一定是不同的,可能是实数或复数。
对于每个特征值
λ
i
\lambda_i
λi,其会有关联的特征向量
u
i
u_i
ui, 并满足:
M
u
i
=
λ
i
u
i
Mu_i = \lambda_iu_i
Mui=λiui
若 λ \lambda λ 是 M M M 的 特征值,而 u i u_i ui是属于 λ \lambda λ 的特征向量,则任何对 u i u_i ui 的非零乘都是一个特征向量。
求 矩阵
A
A
A 特征值和特征向量的过程:
首先让
λ
\lambda
λ 乘以和
A
A
A 大小一致的单位矩阵
I
I
I,得到
λ
I
\lambda I
λI
接着让
A
A
A 减去
λ
I
\lambda I
λI
接着,计算上述结果的行列式,即
d
e
t
(
A
−
λ
I
)
det(A - \lambda I)
det(A−λI)
接着 求解
d
e
t
(
A
−
λ
I
)
=
0
det(A - \lambda I) = 0
det(A−λI)=0时,
λ
\lambda
λ的值就可以了。
上述 λ 2 − 6 λ − 14 = 0 \lambda^2 - 6 \lambda - 14 = 0 λ2−6λ−14=0 求解得到特征值 λ 1 = 8 , λ 2 = − 2 \lambda_1 = 8, \lambda_2 = -2 λ1=8,λ2=−2
接下来是特征向量。
首先代入
λ
\lambda
λ 得到
A
−
λ
I
A - \lambda I
A−λI 的值,以
λ
=
8
\lambda = 8
λ=8 为例
求解
B
x
=
0
Bx = 0
Bx=0 中向量
x
x
x 的可能取值, B 是上图的结果矩阵。
如下图是其中一种解:
最后根据定义检查结果,结果是对的:
属性
特征值和特征向量在 矩阵 M M M ( d × d d × d d×d) 中的属性:
- 特征值的累积 等于 矩阵 M M M 的行列式。对于一个矩阵,若其特征值都非零,则 M M M 的逆矩阵存在。
- 特征值的累加 等于 矩阵的迹。
- 若 矩阵 M M M 是一个对称矩阵,特征值和特征向量都均为实数。
- 若 矩阵 M M M 具有正定性,所有特征值均大于0。
- 若 矩阵 M M M 具有 m m m 秩的半正定性,其将会有 m m m 个 非零特征值以及 d − m d - m d−m 的零特征值。
- 每一个对称矩阵拥有一些正交特征向量。列是对称矩阵特征值的矩阵 U U U 是正交的。 U = { u 1 , . . . , u d } U = \{u_1, ..., u_d\} U={u1,...,ud}。同时有 U t U = U U t = I U^tU = UU^t = I UtU=UUt=I
- 矩阵
U
U
U 对角化
M
M
M,
U
t
M
U
=
Λ
U^tMU = Λ
UtMU=Λ,其中
Λ
=
d
i
a
g
(
λ
1
,
.
.
.
,
λ
d
)
Λ = diag(\lambda_1, ..., \lambda_d)
Λ=diag(λ1,...,λd),这是一个 项 是
M
M
M 特征值 的 对角矩阵。
- 若 M M M 是正定矩阵,则 M − 1 = U − 1 Λ U t M^{-1} = U^{-1}ΛU^t M−1=U−1ΛUt,并且, Λ − 1 = d i a g ( 1 / λ 1 , . . . , 1 / λ d ) Λ^{-1} = diag(1/ \lambda_1, ..., 1/ \lambda_d) Λ−1=diag(1/λ1,...,1/λd)