文章目录
3 线性代数(Linear Algebra)
3-1 矩阵(Matrix)和向量(Vector)
矩阵
矩阵:Rectangular array of numbers,可看作二维数组
矩阵的维度(dimension):行数(row)×列数(column)
R r × c \R^{r\times c} Rr×c:维度为 r × c r×c r×c 的矩阵的集合
表示矩阵的元素(element/entry):若矩阵为 A A A,则 A i j A_{ij} Aij 表示第 i i i 行第 j j j 列的矩阵元素
向量
向量:n×1(只有一列)的矩阵
向量的维度:行数
R n \R^n Rn:维度为n的向量的集合
表示向量的元素:若向量为 y y y,则 y i y_i yi 表示向量的第 i i i 个元素
- i(下标/index)可以从0(0-indexed,机器学习应用常用)开始,也可以从1(1-indexed,数学常用)开始
- 默认使用1-indexed
*常用大写字母表示矩阵,使用小写字母表示数字、标量、向量
3-2 矩阵加法与标量乘法(Addition and Scalar Multiplication)
A = ( A i j ) A=(A_{ij}) A=(Aij), B = ( B i j ) B=(B_{ij}) B=(Bij), C = ( C i j ) C=(C_{ij}) C=(Cij)
矩阵加法: A + B = C A+B=C A+B=C, where C i j = A i j + B i j C_{ij}=A_{ij}+B_{ij} Cij=Aij+Bij
- 维度:同维度矩阵才能相加,相加后维度不变
矩阵-标量乘法: λ × A = A × λ = C \lambda\times A=A\times\lambda=C λ×A=A×λ=C, where C i j = A i j × a C_{ij}=A_{ij}\times a Cij=Aij×a
- 维度:标量乘法为一实数与矩阵相乘,相乘后维度不变
*减法和标量除法同理
3-3&3-4 矩阵-向量/矩阵-矩阵乘法(Matrix-Vector / Matrix-Matrix Multiplication)
A = ( A i j ) A=(A_{ij}) A=(Aij), B = ( B i j ) B=(B_{ij}) B=(Bij), C = ( C i j ) C=(C_{ij}) C=(Cij), x = ( x i ) x=(x_i) x=(xi), y = ( y i ) y=(y_i) y=(yi)
矩阵-矩阵乘法:
A
×
B
=
C
A\times B=C
A×B=C, where
C
i
j
=
A
i
1
×
B
1
j
+
A
i
2
×
B
2
j
+
⋯
+
A
i
s
×
B
s
j
=
∑
k
=
1
s
(
A
i
k
B
k
j
)
C_{ij}=A_{i1}\times B_{1j}+A_{i2}\times B_{2j}+\dots+A_{is}\times B_{sj}=\displaystyle\sum_{k=1}^s(A_{ik}B_{kj})
Cij=Ai1×B1j+Ai2×B2j+⋯+Ais×Bsj=k=1∑s(AikBkj)
(
i
=
1
,
2
,
…
,
m
;
j
=
1
,
2
,
…
,
n
)
(i=1, 2, \dots, m; j=1, 2, \dots, n)
(i=1,2,…,m;j=1,2,…,n)
- 即: A A A 的第 i i i 行与 B B B 的第 j j j 列对应元素依次相乘并求和,得到 C C C 的第 i i i 行第 j j j 列元素
- 维度:上式中, A A A 的维度为 m × s m\times s m×s, B B B 的维度为 s × n s\times n s×n,其乘积 C C C 的维度为 m × n m\times n m×n
矩阵-向量乘法:
A
×
x
=
y
A\times x=y
A×x=y, where
y
i
=
A
i
1
×
x
1
+
A
i
2
×
x
2
+
⋯
+
A
i
n
×
x
n
=
∑
k
=
1
s
(
A
i
j
x
j
)
y_i=A_{i1}\times x_1+A_{i2}\times x_2+\dots+A_{in}\times x_n=\displaystyle\sum_{k=1}^s(A_{ij}x_{j})
yi=Ai1×x1+Ai2×x2+⋯+Ain×xn=k=1∑s(Aijxj)
(
i
=
1
,
2
,
…
,
m
;
j
=
1
,
2
,
…
,
n
)
(i=1, 2, \dots, m; j=1, 2, \dots, n)
(i=1,2,…,m;j=1,2,…,n)
- 即:矩阵 A A A 的第 i i i 行与向量 x x x 对应元素相乘并求和,得到向量 y y y 的第 i i i 个元素
- 维度:上式中,矩阵 A A A 的维度为 m × n m\times n m×n,向量 x x x 的维度为 n n n(对应 n × 1 n\times 1 n×1 的矩阵),其乘积 y y y 的维度为 m m m
*可以将向量看作一维矩阵,也可以反过来将矩阵看作多个向量拼接而成(每一列对应一个向量),因此矩阵-矩阵乘法可以看作是多个矩阵-向量乘法的结果写在了一起(每一列对应矩阵与一个向量的积)
在
h
θ
(
x
)
=
θ
0
+
θ
1
x
h_θ(x)=θ_0+θ_1x
hθ(x)=θ0+θ1x 中,给定
x
x
x 的
n
n
n 个取值,计算
h
θ
(
x
)
h_\theta(x)
hθ(x) 的便捷方法:
【便于编程实现,否则需要for循环逐一计算,既增加了代码量,又增加了计算复杂度(矩阵运算的复杂度经过算法优化)】
- 将 x x x 的 n n n 个取值构造成 n × 2 n\times 2 n×2 的矩阵,其中第1列的元素全为 1: [ 1 x ( 1 ) 1 x ( 2 ) ⋮ ⋮ 1 x ( n ) ] \begin{bmatrix} 1 & x^{(1)} \\ 1 & x^{(2)} \\ \vdots & \vdots \\ 1 & x^{(n)} \end{bmatrix} ⎣⎢⎢⎢⎡11⋮1x(1)x(2)⋮x(n)⎦⎥⎥⎥⎤
- 将 h θ ( x ) h_\theta(x) hθ(x) 的参数用2维向量表示: ( θ 0 θ 1 ) \begin{pmatrix} θ_0 \\ θ_1 \end{pmatrix} (θ0θ1)
- 将上述矩阵和向量相乘: [ 1 x ( 1 ) 1 x ( 2 ) ⋮ ⋮ 1 x ( n ) ] × ( θ 0 θ 1 ) = ( h θ ( x ( 1 ) ) h θ ( x ( 2 ) ) ⋮ h θ ( x ( n ) ) ) \begin{bmatrix} 1 & x^{(1)} \\ 1 & x^{(2)} \\ \vdots & \vdots \\ 1 & x^{(n)} \end{bmatrix}\times\begin{pmatrix} θ_0 \\ θ_1 \end{pmatrix}=\begin{pmatrix} h_θ(x^{(1)}) \\ h_θ(x^{(2)}) \\ \vdots \\ h_θ(x^{(n)}) \end{pmatrix} ⎣⎢⎢⎢⎡11⋮1x(1)x(2)⋮x(n)⎦⎥⎥⎥⎤×(θ0θ1)=⎝⎜⎜⎜⎛hθ(x(1))hθ(x(2))⋮hθ(x(n))⎠⎟⎟⎟⎞
若
h
θ
(
x
)
h_θ(x)
hθ(x) 具有
m
m
m 种形式,即
θ
0
\theta_0
θ0 和
θ
1
\theta_1
θ1 有
m
m
m 种不同的取值,可以将上式中的向量写成矩阵,其中每一列代表了一种
θ
0
\theta_0
θ0 和
θ
1
\theta_1
θ1 的取值,则有:
[
1
x
(
1
)
1
x
(
2
)
⋮
⋮
1
x
(
n
)
]
×
[
θ
0
(
1
)
θ
0
(
2
)
…
θ
0
(
m
)
θ
1
(
1
)
θ
1
(
2
)
…
θ
1
(
m
)
]
=
[
h
θ
(
1
)
(
x
(
1
)
)
h
θ
(
2
)
(
x
(
1
)
)
…
h
θ
(
m
)
(
x
(
1
)
)
h
θ
(
1
)
(
x
(
2
)
)
h
θ
(
2
)
(
x
(
2
)
)
…
h
θ
(
m
)
(
x
(
2
)
)
⋮
⋮
⋮
h
θ
(
1
)
(
x
(
n
)
)
h
θ
(
2
)
(
x
(
n
)
)
…
h
θ
(
m
)
(
x
(
n
)
)
]
\begin{bmatrix} 1 & x^{(1)} \\ 1 & x^{(2)} \\ \vdots & \vdots \\ 1 & x^{(n)} \end{bmatrix}\times\begin{bmatrix} θ_0^{(1)} & θ_0^{(2)} & \dots & θ_0^{(m)} \\ θ_1^{(1)} & θ_1^{(2)} & \dots & θ_1^{(m)} \end{bmatrix}=\begin{bmatrix} h_θ^{(1)}(x^{(1)}) & h_θ^{(2)}(x^{(1)}) & \dots & h_θ^{(m)}(x^{(1)}) \\ h_θ^{(1)}(x^{(2)}) & h_θ^{(2)}(x^{(2)}) & \dots & h_θ^{(m)}(x^{(2)}) \\ \vdots & \vdots & & \vdots \\ h_θ^{(1)}(x^{(n)}) & h_θ^{(2)}(x^{(n)}) & \dots & h_θ^{(m)}(x^{(n)}) \end{bmatrix}
⎣⎢⎢⎢⎡11⋮1x(1)x(2)⋮x(n)⎦⎥⎥⎥⎤×[θ0(1)θ1(1)θ0(2)θ1(2)……θ0(m)θ1(m)]=⎣⎢⎢⎢⎢⎡hθ(1)(x(1))hθ(1)(x(2))⋮hθ(1)(x(n))hθ(2)(x(1))hθ(2)(x(2))⋮hθ(2)(x(n))………hθ(m)(x(1))hθ(m)(x(2))⋮hθ(m)(x(n))⎦⎥⎥⎥⎥⎤
3-5 矩阵乘法属性(Matrix Multiplication Properties)
矩阵-标量(实数)乘法:
- 交换律(commutative): λ × A = A × λ \lambda\times A=A\times\lambda λ×A=A×λ
- 结合律(associative)
- 分配律
矩阵-矩阵乘法:
- (一般)不满足交换律: A × B ≠ B × A A\times B≠B\times A A×B=B×A
- 结合律: ( A × B ) × C = A × ( B × C ) (A\times B)\times C=A\times(B\times C) (A×B)×C=A×(B×C)
- 分配律
单位矩阵(identity matrix):对角线元素均为1
I
I
I (or
I
n
×
n
I_{n\times n}
In×n)
=
[
1
0
…
0
0
1
…
0
⋮
⋮
⋮
0
…
…
1
]
=\begin{bmatrix} 1 & 0 & \dots & 0 \\ 0 & 1 & \dots & 0 \\ \vdots & \vdots & & \vdots \\ 0 & \dots & \dots & 1 \end{bmatrix}
=⎣⎢⎢⎢⎡10⋮001⋮…………00⋮1⎦⎥⎥⎥⎤
单位矩阵的特性:对于任意矩阵 A A A 和单位矩阵 I I I,有: A ⋅ I = I ⋅ A = A A\cdot I=I\cdot A=A A⋅I=I⋅A=A
- 注意维度的对应关系,上式中两个 I I I 的维度可能不同
3-6 逆与转置(Inverse and Transpose)
方阵(square matrix):行列数相等的矩阵
零矩阵:所有元素均为0的矩阵
矩阵的逆(matrix inverse):若
A
A
A 为
m
×
m
m\times m
m×m 矩阵(方阵),且其有逆矩阵(记作
A
(
−
1
)
A^{(-1)}
A(−1)),则有:
A
A
(
−
1
)
=
A
(
−
1
)
A
=
I
AA^{(-1)}=A^{(-1)}A=I
AA(−1)=A(−1)A=I
- 方阵才有逆矩阵
- 奇异矩阵(singular matrix)/退化矩阵(degenerate matrix)没有逆矩阵
- 零矩阵是奇异矩阵的一种
矩阵的转置(matrix transpose):对于矩阵 A = ( A i j ) A=(A_{ij}) A=(Aij),其转置矩阵为 A T = ( A i j T ) A^T=(A^T_{ij}) AT=(AijT),其中 A i j T = A j i A^T_{ij}=A_{ji} AijT=Aji
- 即:矩阵 A A A 的行是其转置矩阵 A T A^T AT 的列(同序数)
- 求转置可以看作是沿矩阵的45°对角线作镜像操作,或沿对角线进行翻转
- 维度:若 A A A 的维度为 m × n m\times n m×n,则 A T A^T AT 的维度为 n × m n\times m n×m