线性代数
线性代数:基础定义
-
标量(scalar) :一个实数,只有大小,没有方向
s ∈ R s\in \mathbb{R} s∈R -
向量(vector): 一维数组,可以把向量看做空间中的点
- 将特征数值化,向量化
x = [ x 1 x 2 ⋮ x n ] \boldsymbol{x}=\left[ \begin{array}{c} x_1\\ x_2\\ \vdots\\ x_n\\ \end{array} \right] x=⎣⎢⎢⎢⎡x1x2⋮xn⎦⎥⎥⎥⎤
- 将特征数值化,向量化
-
矩阵(matrix):二维数组
如果A的维度是 m × n : A ∈ R m × n A = [ x 11 x 12 x 13 x 21 x 22 x 23 ] \text{如果A的维度是} m \times n: A\in \mathbb{R}^{m\times n} \\ A=\left[ \begin{matrix} x_{11}& x_{12}& x_{13}\\ x_{21}& x_{22}& x_{23}\\ \end{matrix} \right] \,\, 如果A的维度是m×n:A∈Rm×nA=[x11x21x12x22x13x23] -
张量(tensor) :多维数组
A ∈ R m × n × l 张量坐标为 ( i , j , k ) 的元素为 A i j k A\in \mathbb{R}^{m\times n\times l} \\ \text{张量坐标为}\left( i,j,k \right) \text{的元素为}A_{ijk} A∈Rm×n×l张量坐标为(i,j,k)的元素为Aijk -
矩阵中的列向量与行向量:
A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a m n ] A=\left[ \begin{matrix} a_{11}& a_{12}& \cdots& a_{1n}\\ a_{21}& a_{22}& \cdots& a_{2n}\\ \vdots& \vdots& \ddots& \vdots\\ a_{m1}& a_{m2}& \cdots& a_{mn}\\ \end{matrix} \right] A=⎣⎢⎢⎢⎡a11a21⋮am1a12a22⋮am2⋯⋯⋱⋯a1na2n⋮amn⎦⎥⎥⎥⎤ -
矩阵中的第j列为 a j a_j aj
A = [ ∣ ∣ ⋯ ∣ a 1 a 2 ⋯ a n ∣ ∣ ⋯ ∣ ] A=\left[ \begin{matrix} |& |& \cdots& |\\ a_1& a_2& \cdots& a_n\\ |& |& \cdots& |\\ \end{matrix} \right] A=⎣⎡∣a1∣∣a2∣⋯⋯⋯∣an∣⎦⎤ -
矩阵中的第i行为 a i T a_i^T aiT
A = [ — a 1 T — — a 2 T — ⋯ ⋯ ⋯ — a m T — ] A=\left[ \begin{matrix} —& a_{1}^{T}& —\\ —& a_{2}^{T}& —\\ \cdots& \cdots& \cdots\\ —& a_{m}^{T}& —\\ \end{matrix} \right] A=⎣⎢⎢⎡——⋯—a1Ta2T⋯amT——⋯—⎦⎥⎥⎤
python里的一些矩阵操作,先引入一些包
import numpy as np
import scipy as sp
import pandas as pd
# 访问矩阵:
a= np.array([[1, 2, 3], [4, 5, 6]])
print(a[0][1]) # output:2
print(a[0,:]) # output:[1, 2, 3]
# 标量 向量 矩阵 张量
scalar = 1
vector = np.array([1, 2, 3, 4])
matrix = np.random.randint(low=0, high=10, size=(2, 3))
tensor = np.random.randint(low=0, high=10, size=(2, 3, 4))
线性代数: 矩阵乘积和转置
-
矩阵的乘积:
A ∈ R m × n , B ∈ R n × p ⇒ C = A B ∈ R m × p C i j = ∑ k = 1 n A i k B k j \begin{aligned} & A\in \mathbb{R}^{m\times n},\,B\in \mathbb{R}^{n\times p}\Rightarrow C= AB\in \mathbb{R}^{m\times p} \\ & C_{ij}= \sum_{k=1}^n{A_{ik}B_{kj}} \end{aligned} A∈Rm×n,B∈Rn×p⇒C=AB∈Rm×pCij=k=1∑nAikBkj
矩阵 A m n A_{mn} Amn的列数 n n n需要等于矩阵 B n p B_{np} Bnp的行数 n n n -
向量的内积(inner product or dot product):
x T y ∈ R = [ x 1 x 2 ⋯ x n ] [ y 1 y 2 ⋮ y n ] = ∑ i = 1 n x i y i x^Ty\,\,\in \,\,\mathbb{R}=\left[ x_1\,\,x_2\,\,\cdots \,\,x_n \right] \left[ \begin{array}{c} y_1\\ y_2\\ \vdots\\ y_n\\ \end{array} \right] =\sum_{i=1}^n{x_iy_i} xTy∈R=[x1x2⋯xn]⎣⎢⎢⎢⎡y1y2⋮yn⎦⎥⎥⎥⎤=i=1∑nxiyi -
向量的外积(outer product):
x y T ∈ R = [ x 1 x 2 ⋮ x m ] [ y 1 y 2 ⋯ y n ] = = [ x 1 y 1 x 2 y 2 ⋯ x 1 y n x 1 y 1 x 2 y 2 ⋯ x 2 y n ⋮ ⋮ ⋱ ⋮ x m y 1 x m y 2 ⋯ x m y n ] xy^T\in \,\,\mathbb{R}=\left[ \begin{array}{c} x_1\\ x_2\\ \vdots\\ x_m\\ \end{array} \right] \left[ y_1\,\,y_2\,\,\cdots \,\,y_n \right] ==\left[ \begin{matrix} x_1y_1& x_2y_2& \cdots& x_1y_n\\ x_1y_1& x_2y_2& \cdots& x_2y_n\\ \vdots& \vdots& \ddots& \vdots\\ x_my_1& x_my_2& \cdots& x_my_n\\ \end{matrix} \right] xyT∈R=⎣⎢⎢⎢⎡x1x2⋮xm⎦⎥⎥⎥⎤[y1y2⋯yn]==⎣⎢⎢⎢⎡x1y1x1y1⋮xmy1x2y2x2y2⋮xmy2⋯⋯⋱⋯x1ynx2yn⋮xmyn⎦⎥⎥⎥⎤ -
矩阵乘积分配律和结合律,但没有交换律!
A ( B + C ) = A B + A C A ( B C ) = ( A B ) C A B ≠ B A \begin{aligned} & A\left( B+C \right) =AB+AC \\ & A\left( BC \right) =\left( AB \right) C \\ & AB\ne BA \end{aligned} A(B+C)=AB+ACA(BC)=(AB)CAB=BA
当 A B AB AB可以做乘积,但 B A BA BA不一定能做乘积,如 A m n A_{mn} Amn· B n p B_{np} Bnp,当 p ≠ m p \ne m p=m时,不可 B n p B_{np} Bnp· A m n A_{mn} Amn
-
矩阵的转置:
( A T ) i , j = A j i A = [ x 11 x 12 x 21 x 22 x 31 x 32 ] ⇒ A T = [ x 11 x 21 x 31 x 12 x 22 x 32 ] ( A + B ) T = A T + B T ( A B ) T = B T A T \begin{aligned} & \left( A^T \right) _{i,j}=A_{ji} \\ & A=\left[ \begin{matrix} x_{11}& x_{12}\\ x_{21}& x_{22}\\ x_{31}& x_{32}\\ \end{matrix} \right] \Rightarrow A^T=\left[ \begin{matrix} x_{11}& x_{21}& x_{31}\\ x_{12}& x_{22}& x_{32}\\ \end{matrix} \right] \\ & \left( A+B \right) ^T=A^T+B^T \\ & \left( AB \right) ^T=B^TA^T \end{aligned} (AT)i,j=AjiA=⎣⎡x11x21x31x12x22x32⎦⎤⇒AT=[x11x12x21x22x31x32](A+B)T=AT+BT(AB)T=BTAT
A m n A_{mn} Amn
B n p B_{np} Bnp
A m n A_{mn} Amn B n p B_{np} Bnp= C m p C_{mp} Cmp
( A m n ) T (A_{mn})^T (Amn)T= A n m T A_{nm}^T AnmT
( B n p ) T (B_{np})^T (Bnp)T= B p n T B_{pn}^T BpnT
( A m n B n p ) T (A_{mn}B_{np})^T (AmnB