数据科学、数据分析、人工智能必备知识汇总-----线性代数-----持续更新

数据科学、数据分析、人工智能必备知识汇总-----主目录-----持续更新(进不去说明我没写完):https://blog.youkuaiyun.com/grd_java/article/details/140174015

1. 向量

向量是线性代数里面最基本的概念,写代码时的一维数组就是一个向量,由N个数构成


X = ( X 1 , X 2 , . . . , X n ) X=(X_1,X_2,...,X_n) X=(X1,X2,...,Xn)


向量的几何意义就是空间中的点,物理意义就是速度或者力这样的矢量
在这里插入图片描述


向量的分量我们称之为维度, n n n维向量集合的全体就构成了 n n n维欧式空间, R n R^n Rn

2. 行向量和列向量

行向量是按行把向量排开


X = X= X= [ X 1 X 2 ⋯ X n ] \begin{bmatrix} X_1 & X_2 & \cdots & X_n \end{bmatrix} [X1X2Xn]


列向量是按列把向量排开


X = [ X 1 X 2 ⋮ X n ] X=\begin{bmatrix} X_1 \\\\ X_2 \\\\ \vdots \\\\ X_n \end{bmatrix} X= X1X2Xn


在数学中我们更多的把数据写成列向量,在编程语言中更多的把数据存成行向量

3. 向量的运算 加法,数乘,减法,内积,转置

向量X与向量Y相加。等于它们的分量分别相加,显然两个向量的长度得是相等的,减法同理,不做演示


[ 1 2 3 ] + [ 4 5 6 ] = [ 5 7 9 ] \begin{bmatrix}1 \\\\ 2 \\\\ 3 \end{bmatrix}+\begin{bmatrix}4 \\\\ 5 \\\\ 6 \end{bmatrix}=\begin{bmatrix}5 \\\\ 7 \\\\ 9 \end{bmatrix} 123 + 456 = 579


数乘运算。是一个数和这个向量每个分量相乘


2 × [ 1 2 3 ] = [ 2 4 6 ] 2 × \begin{bmatrix}1 \\\\ 2 \\\\ 3 \end{bmatrix}=\begin{bmatrix}2 \\\\ 4 \\\\ 6 \end{bmatrix} 2× 123 = 246


转置。把列向量变成行向量,把行向量变成列向量


[ 1 2 3 ] T \begin{bmatrix}1 \\\\ 2 \\\\ 3 \end{bmatrix}^{T} 123 T= [ 1 2 3 ] \begin{bmatrix}1 & 2 & 3 \end{bmatrix} [123] [ 1 2 3 ] T \begin{bmatrix}1 & 2 & 3 \end{bmatrix}^T [123]T= [ 1 2 3 ] \begin{bmatrix}1 \\\\ 2 \\\\ 3 \end{bmatrix} 123


运算法则


结合律: A + B + C = A + ( B + C ) A+B+C = A+(B+C) A+B+C=A+(B+C)


分配律: K × ( X + Y ) = K X + K Y K×(X+Y)=KX+KY K×(X+Y)=KX+KY


向量的内积。两个列向量X和Y,内积为 X T Y X^TY XTY,也就是变为一行 × × ×一列,等于对应位置相乘再相加。两个向量的内积的本质是变成一个标量


[ 1 2 3 ] ⋅ [ 1 2 3 ] = 1 ∗ 1 + 2 ∗ 1 + 3 ∗ 2 = 9 \begin{bmatrix}1 & 2 & 3 \end{bmatrix}\cdot\begin{bmatrix}1 \\\\ 2 \\\\ 3 \end{bmatrix}=1*1+2*1+3*2=9 [123] 123 =11+21+32=9

  1. 对于两个向量 a ⇀ = ( a 1 , a 2 , … , a n ) 和 b ⇀ = ( b 1 , b 2 , … , b n ) \overrightharpoon{a}=(a_1,a_2,\dots,a_n)和\overrightharpoon{b}=(b_1,b_2,\dots,b_n) a =(a1,a2,,an)b =(b1,b2,,bn)(可见这两个都是行向量),它们的内积 a ⇀ ⋅ b ⇀ = a ⇀ T ⋅ b ⇀ = ∑ i = 1 n a i b i \overrightharpoon{a}\cdot\overrightharpoon{b}=\overrightharpoon{a}^T\cdot\overrightharpoon{b}=\sum_{i=1}^na_ib_i a b =a Tb =i=1naibi
  2. ( X w − Y ) (Xw-Y) (XwY)是一个行向量,则 ( X w − Y ) 2 = ∥ ( X w − Y ) ∥ 2 = ( X w − Y ) T ( X w − Y ) (Xw-Y)^2=\begin{Vmatrix*}[r] (Xw-Y) \end{Vmatrix*}^2=(Xw-Y)^T(Xw-Y) (XwY)2= (XwY) 2=(XwY)T(XwY)

4. 向量的范数

范数的公式是向量每个分量 绝对值 P次方 再用幂函数计算P分之一,P肯定是整数1,2,3…到正无穷都是可以的


向量的范数就是把,向量变成一个标量,范数的表示就是两个竖线来表示,然后右下角写上P


∥ x ∥ p \|x\|_p xp= ( ∑ i = 1 n ∣ x i ∣ p ) 1 p \Big({\displaystyle\sum_{i=1}^n|x_i|^p}\Big)^{\dfrac{1}{p}} (i=1nxip)p1


在这里插入图片描述

1 范数是绝对值加和,1 范数写成 L1


∥ x ∥ 1 = ∑ i = 1 n ∣ x i ∣ \|x\|_1=\displaystyle\sum_{i=1}^n|x_i| x1=i=1nxi


2 范数是平方加和开根号,其实代表的是向量的长度,高中时候学的向量的模,2 范数写成L2


∥ x ∥ 2 = ∑ i = 1 n ( x i ) 2 \|x\|_2=\sqrt{\displaystyle\sum_{i=1}^n(x_i)^2} x2=i=1n(xi)2


范数在后面是非常有用的,在后面讲正则项的时候会用到

5. 特殊的向量

0 向量,就是分量全为 0的向量


X = [ 0 0 ⋯ 0 ] X=\begin{bmatrix}0 & 0 & \cdots & 0 \end{bmatrix} X=[000]


单位向量,就是 L2 范数÷模÷长度为 1 的向量

6. 矩阵与其运算

矩阵就是二维数组,下面是一个 m m m n n n的矩阵,它有 m m m行, n n n列,每行每列上面都有一个元素,每个元素都有行标 i i i和列标 j j j x i j x_{ij} xij


X = [ x 11 x 12 … x 1 n x 21 x 22 … x 2 n ⋮ ⋮ ⋱ ⋮ x m 1 x m 2 … x m n ] X=\begin{bmatrix} x_{11} & x_{12} &\dots &x_{1n} \\ x_{21} & x_{22} &\dots &x_{2n} \\ \vdots & \vdots &\ddots &\vdots \\ x_{m1} & x_{m2} &\dots &x_{mn} \\ \end{bmatrix} X= x11x21xm1x12x22xm2x1nx2nxmn

7. 方阵,对称矩阵,单位矩阵,对角线

如果 m等于n,那就称为方阵


[ x 11 x 12 x 13 x 21 x 22 x 23 x 31 x 32 x 33 ] 3 行 × 3 列 \begin{bmatrix} x_{11} & x_{12} &x_{13} \\ x_{21} & x_{22} &x_{23} \\ x_{31} & x_{32} &x_{33} \\ \end{bmatrix}_{3行×3列} x11x21x31x12x22x32x13x23x33 3×3


对称矩阵。 a i j a_{ij} aij等于 a j i a_{ji} aji那么就是对称矩阵,肯定是个方阵


[ 1 1 2 1 2 3 2 3 3 ] 3 × 3 \begin{bmatrix} 1 & 1 &2 \\ 1 & 2 &3 \\ 2 & 3 &3 \\ \end{bmatrix}_{3×3} 112123233 3×3


单位矩阵。主对角线都是1,其它位置是0,这称之为单位阵,单位矩阵写为 I I I E E E,一定是方阵,等同于数字里面的 1


[ 1 ⋯ 0 0 0 ⋯ 1 ⋯ 0 0 0 ⋯ ⋯ ⋯ 0 0 0 ⋯ ⋯ ⋯ 0 0 0 ⋯ 1 ] \begin{bmatrix} 1 & \cdots &0 &0 &0 \\ \cdots &1 &\cdots & 0 &0 \\ 0 & \cdots & \cdots & \cdots & 0 \\ 0 & 0 & \cdots & \cdots & \cdots\\ 0 &0 &0 & \cdots & 1 \end{bmatrix} 100010000000001


对角阵,就是主对角线非0,其它位置是 0


[ λ 1 ⋯ 0 0 0 ⋯ λ 2 ⋯ 0 0 0 ⋯ ⋯ ⋯ 0 0 0 ⋯ ⋯ ⋯ 0 0 0 ⋯ λ n ] \begin{bmatrix} \lambda_1 & \cdots &0 &0 &0 \\ \cdots &\lambda_2 &\cdots & 0 &0 \\ 0 & \cdots & \cdots & \cdots & 0 \\ 0 & 0 & \cdots & \cdots & \cdots\\ 0 &0 &0 & \cdots & \lambda_n \end{bmatrix} λ1000λ2000000000λn

8. 矩阵的运算,加法,数乘,减法,转置

矩阵的加减,矩阵的加法就是矩阵的对应位置相加,减法也是一样就是对应位置相减


[ 1 2 3 0 0 0 ] \begin{bmatrix} 1 & 2 &3 \\ 0 &0 &0\end{bmatrix} [102030]+ [ 4 5 6 0 0 0 ] \begin{bmatrix} 4 & 5 &6 \\ 0 &0 &0\end{bmatrix} [405060]= [ 5 7 9 0 0 0 ] \begin{bmatrix} 5 & 7 &9 \\ 0 &0 &0\end{bmatrix} [507090]


数乘


5 × [ 1 2 3 0 0 0 ] 5×\begin{bmatrix} 1 & 2 &3 \\ 0 &0 &0\end{bmatrix} 5×[102030]= [ 5 10 15 0 0 0 ] \begin{bmatrix} 5 & 10 &15 \\ 0 &0 &0\end{bmatrix} [50100150]


转置。转置的操作和向量是一样的,就是把 a i j a_{ij} aij 变成 a j i a_{ji} aji,把行和列互换一下。简单来讲就是第一行变成第一列,第二行变成第二列,依次类推


[ 1 2 3 4 5 6 ] T \begin{bmatrix} 1 & 2 &3 \\ 4 &5 &6\end{bmatrix}^{T} [142536]T= [ 1 4 2 5 3 6 ] \begin{bmatrix} 1 &4 \\ 2&5 \\3&6 \end{bmatrix} 123456


矩阵的乘法和一般的乘法是不太一样的,它是把第一个矩阵的每一行,和第二个矩阵阵的每一列拿过来做内积得到结果。所以两个矩阵相乘,第一个矩阵的列数必须等于第二个矩阵的行数。最终结果的行列数,为第一个矩阵的行数,第二个矩阵的列数

也就是说 m × n m×n m×n的矩阵A,只能和 n × k n×k n×k的矩阵B相乘,因为A和B相乘,A的列数n必须等于B的行数n。而最终的结果正好是 m × k m×k m×k


[ 1 2 3 4 5 6 ] m × n \begin{bmatrix} 1 & 2 &3 \\ 4 &5 &6\end{bmatrix}_{m×n} [142536]m×n × × × [ 1 0 1 0 1 0 ] n × k \begin{bmatrix} 1 &0 \\ 1&0 \\1&0 \end{bmatrix}_{n×k} 111000 n×k= [ 1 × 1 + 2 × 1 + 3 × 1 1 × 0 + 2 × 0 + 3 × 0 4 × 0 + 5 × 0 + 6 × 0 4 × 0 + 5 × 0 + 6 × 0 ] m × k \begin{bmatrix} 1×1+2×1+3×1 &1×0+2×0+3×0 \\\\4×0+5×0+6×0&4×0+5×0+6×0 \end{bmatrix}_{m×k} 1×1+2×1+3×14×0+5×0+6×01×0+2×0+3×04×0+5×0+6×0 m×k= [ 6 0 0 0 ] m × k \begin{bmatrix} 6 &0 \\ 0&0 \end{bmatrix}_{m×k} [6000]m×k


分配律,结合律,和交换律


加法结合律: A + B + C = A + ( B + C ) A+B+C=A+(B+C) A+B+C=A+(B+C)


乘法结合律: ( A B ) C = A ( B C ) (AB)C=A(BC) (AB)C=A(BC)


乘法分配律: ( A + B ) C = A C + B C (A+B)C=AC+BC (A+B)C=AC+BC,注意C不可以乱移动位置,在右边就始终在右边,其它矩阵也一样,不可以乱动


乘法分配律: A ( B + C ) = A B + A C A(B+C)=AB+AC A(B+C)=AB+AC,注意A不可以乱移动位置,在左边就始终在左边,其它矩阵也一样,不可以乱动


为什么不能乱动呢?因为矩阵是不满足交换律的,乱动的结果不一定相等,甚至 AB 的尺寸和 BA 的尺寸是不同的。(除非A和B是互逆的)


A B ≠ B A AB≠BA AB=BA

特殊的转置的公式
( A B ) T = B T A T (AB)^T=B^TA^T (AB)T=BTAT

9. 逆矩阵

前面介绍特殊矩阵时,提到过 E E E是单位矩阵(左对角线全为1,其它全为0)

矩阵 A A A的逆矩阵记为 A − 1 A^{-1} A1,定义如下(定义中,B和A互为逆矩阵):


对于方阵 A 和 B A和B AB,若 A B = E AB = E AB=E A B AB AB互逆,且 A − 1 = B A^{-1}=B A1=B B − 1 = A B^{-1}=A B1=A A B = B A AB=BA AB=BA(这个其实就是在说 A A − 1 = A − 1 A = E AA^{-1} = A^{-1}A = E AA1=A1A=E E E E是单位矩阵)


关于 A − 1 A^{-1} A1的结论,A可逆的充分必要条件,也就是A可逆可以推出什么,以及什么可以推出A可逆


A 可逆 ⇔ A可逆\Leftrightarrow A可逆 A A − 1 = E ⇔ AA^{-1}=E\Leftrightarrow AA1=E ∣ A ∣ ≠ 0 ⇔ |A|≠0\Leftrightarrow A=0 r ( A ) = n ⇔ r(A)=n\Leftrightarrow r(A)=n A 可以表示为初等矩阵的乘积 ⇔ A可以表示为初等矩阵的乘积\Leftrightarrow A可以表示为初等矩阵的乘积 A 无零特征值 ⇔ A无零特征值\Leftrightarrow A无零特征值 A x = 0 只有零解 Ax = 0只有零解 Ax=0只有零解

矩阵求逆有什么用呢?它可以帮助我们解线性方程组,比如 A Z = B AZ=B AZ=B


两边左同乘(就是从等号两边的左边乘) A − 1 A^{-1} A1,有 Z = A − 1 B Z=A^{-1}B Z=A1B

常用公式


( A − 1 ) − 1 (A^{-1})^{-1} (A1)1 = A A A


( A B ) − 1 = B − 1 A − 1 (AB)^{-1}=B^{-1}A^{-1} (AB)1=B1A1


k ≠ 0 , ( k A ) − 1 = 1 k A − 1 k≠0,(kA)^{-1} = \dfrac{1}{k}A^{-1} k=0(kA)1=k1A1


( A T ) − 1 = ( A − 1 ) T (A^T)^{-1} = (A^{-1})^T (AT)1=(A1)T


∣ A ∣ − 1 |A|^{-1} A1= 1 ∣ A ∣ \dfrac{1}{|A|} A1


已知A可逆,如何求A的逆。分具体性(矩阵中的分量都是具体数值)和抽象型(矩阵中的分量有未知的变量,例如a,b,c这种)两种


具体型: { 1. A − 1 = 1 ∣ A ∣ A ∗ 2. [ A ⋮ E ] 做初等行变换,变为 [ E ⋮ A − 1 ] . ( 这个很好理解, 就是 A 后面跟一个 E ,初等行变换将 A 变为 E 后,后面的 E 就变成了 A − 1 ) 3. 做列变换也行,就是在 A 下面跟一个 E \begin{cases}1. A^{-1} = \dfrac{1}{|A|}A^{*}\\\\2. [A\vdots E]做初等行变换,变为[E\vdots A^{-1}].(这个很好理解,\\\\就是A后面跟一个E,初等行变换将A变为E后,后面的E就变成了A^{-1})\\\\3. 做列变换也行,就是在A下面跟一个E\\\\\end{cases} 1.A1=A1A2.[AE]做初等行变换,变为[EA1].(这个很好理解,就是A后面跟一个E,初等行变换将A变为E后,后面的E就变成了A1)3.做列变换也行,就是在A下面跟一个E


抽象型: { 1. 恒等变形求 A 的逆,创造 A B = E ⇒ A − 1 = B 2. 创造 A = B C ,若 B 和 C 是可逆的 ⇒ A − 1 = C − 1 B − 1 \begin{cases} 1. 恒等变形求A的逆,创造AB=E\Rightarrow A^{-1} = B\\\\ 2. 创造A=BC,若B和C是可逆的\Rightarrow A^ {-1} = C ^ {-1}B^ {-1} \end{cases} 1.恒等变形求A的逆,创造AB=EA1=B2.创造A=BC,若BC是可逆的A1=C1B1

10. 行列式

机器学习中用的并不多,求行列式表示求矩阵的面积,但要求必须是方阵,也就是必须 m × m m×m m×m的矩阵。既然是面积,说明行列式求出来的也是一个值(标量)


∣ a b c d ∣ = a d − b c \begin{vmatrix} a & b \\ c & d \end{vmatrix} = ad-bc acbd =adbc


∣ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ∣ = a 11 a 22 a 33 + a 12 a 23 a 31 + a 13 a 21 a 32 \begin{vmatrix} a_{11} & a_{12}&a_{13} \\ a_{21} & a_{22}&a_{23} \\ a_{31} & a_{32}&a_{33} \end{vmatrix} = a_{11}a_{22}a_{33}+a_{12}a_{23}a_{31}+a_{13}a_{21}a_{32} a11a21a31a12a22a32a13a23a33 =a11a22a33+a12a23a31+a13a21a32 − a 13 a 22 a 31 − a 12 a 21 a 33 − a 11 a 23 a 32 -a_{13}a_{22}a_{31}-a_{12}a_{21}a_{33}-a_{11}a_{23}a_{32} a13a22a31a12a21a33a11a23a32


性质


∣ A B ∣ = ∣ A ∣ ∣ B ∣ |AB| = |A||B| AB=A∣∣B


∣ A − 1 ∣ = ∣ A ∣ − 1 |A^{-1}|=|A|^{-1} A1=A1


∣ k A ∣ = k n ∣ A ∣ |kA|=k^n|A| kA=knA,因为两个竖杠里面是对矩阵A乘k,是每一个元素都乘k。而行列式乘k是一行或一列,因此从矩阵提公因数到行列式外,就需要提n个k

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ydenergy_殷志鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值