最近才开始看《深度学习》草丛书, 现在写下ML中需要用到的线性代数的概念
一、数学概念
-
标量、向量、矩阵和张量
-
标量: 一个单独的数。 介绍标量时,会明确这个数是数据什么数, “令x属于R(实数)表示一条直线的斜率”
-
向量:一列数, 这列数是有序排列的名。可以根据数据顺序来确定数字,可以理解为java数组、python列表,都是有顺序的,可以通过索引访问具体数据。简单表示:
, 矩阵表示:
,理解为Python列表 a= [x, y, z](图来自百度百科“向量”关键词)
-
矩阵:二维数组,有两个索引确定,常用大写表示A (Ai,j 表示 第i行,第j列)
-
张量:多维数组,一个数组的元素分布在多维空间中,张量A记做Ai,j,k (三个维度 i,j和k)
二、线性代数
-
矩阵和向量
-
向量
CS里,向量是一组有序的数/列表,如:
其含义是,点从原点(0,0)出发,沿着X轴走1个单位,再沿着Y轴走2个单位,到达终点(下图粗略表示下)。
-
线性组合、张成空间与基
线性组合: 任意向量可以由基向量表示
如下: s = av + bw (a,b属于实数R)
张成空间:线性组合组成的空间
例如 s = av + bw (a,b属于实数R) 中,不同a和b生成的S向量不同,这些向量会组成如下结果:
A. 若v向量和 w向量共线(线性相关), 那么张量空间就是这条直线
B. 若S为一个原点(0,0),那么张量空间就是一个点
C. 若v和w不共线, 张量空间就是一个平面
由上述二维空间,可以推理三维空间内的,张量空间是一组平面(平面束)
-
矩阵
注: 上面这两个图来自 3Blue1Brown的线性代数视频, 地址:https://www.bilibili.com/video/av6731067/?p=3
-
矩阵的转置和逆矩阵
-
矩阵的转置: 矩阵的转置是以对角线(主对角线,左上角到右下角)为轴做镜像
如下图所示:
主对角线数据(1,4,8)如下图红线, 以主对角线为轴,做镜像.
原始:a[0][1] = 3, 转置后: a[1][0] = 3
原始:a[0][2] = 6, 转置后: a[2][0] = 6
-
矩阵的逆(逆矩阵):
定义:
(注:图来自数学乐对逆矩阵的简介)
单位矩阵 I:单位矩阵就是主对角线各值都为1的方阵(1×1, 2×2, 3×3,....., n×n)
矩阵A=
, 如何求逆矩阵? 调换 a和d的位置,且b和c前加负号(-),再除以矩阵A的行列式。
问题换了,如何计算矩阵的行列式:
举例:
有如下2×2矩阵,
, 要计算这个矩阵的行列式:3×8-6×9 = 24-54=- 30, 那么这个矩阵的逆矩阵:
(-1/30) × ![]()
得到结果,结果这就不写了。
如何验证对不对? 逆矩阵 × 矩阵 =? 单位矩阵 来判断
3.矩阵、向量运算
-
矩阵和矩阵乘法
矩阵乘法要求 矩阵A的列数 = 矩阵B的行数
设有如下2×2矩阵A和矩阵B
解释如下:
“ 矩阵A的列数 = 矩阵B的行数” 解释,比如是如下矩阵,就不能相乘:
矩阵乘法的性质:
矩阵具有分配率 A(B + C) = AB + AC, 矩阵乘积也服从: A(BC) = (AB)C
矩阵不具有交换律 A×B ≠ B×A
矩阵乘积的转置等于矩阵转置的乘积:(AB).T = A.T ×B.T ( 用的是python numpy矩阵转置的写法 np.array.T)
向量点积的性质:
交换律: x.T y = y.T x
“向量点积为标量,标量转置为自身”得到:x.T y = (x.T y).T = y.T x
-
矩阵×向量:
例如有如下矩阵A和向量B, 向量的矩阵表示法就是如下B所示
A矩阵 3×2,向量B为 2乘以1 , 相乘结果为3×1的矩阵,结果如下
-
矩阵 + 向量
矩阵 A + 向量b = 矩阵 A 行数据 + 向量 b 行数据
A[0][x] + b[0] [ A[0][0] + b[0], A[0][1] + b[0], ..... , A[0][n] + b[0],
A + b = A[1][x] + b[1] => A[1][0] + b[1], A[1][1] + b[1], .... , A[1][n] + b[1],
A[2][x] + b[2] A[n][0] + b[n], A[n][1] + b[n], ... , A[n][n] + b[n] ]
-
线性方程的矩阵表示
一元线性方程,就可以表示为 Ax = b , A属于R的m×n维度的矩阵,b是属于R的向量,x为要解的未知向量。
那么多远方程怎么表示? 如下:
如何求解Ax = b,就要用到前面说的逆矩阵,推到如下:
两边乘以矩阵A的逆矩阵, 然后左侧成为单位矩阵I × x,单位矩阵I ×X = X,得到如下最后的结果 X=A-1b
4.线性相关和生成子空间
X=A-1b, 当且A的逆矩阵A-1存在时,对于确定的向量b,式子才有解。但有些方程组而言,对于一些b,不存在解/存在无数个解,存在(1,+∞)个解不会发生,因为x和y都是某方程组的解,则有:在 z= αx + (1-α)y (α为任意实数R)也是方程组的解。
将A矩阵的列向量看做从原点出发的不同方向,确定有多少种方法可以达到b
可以这样理解,假设上图 a向量、c向量和d向量是矩阵A的列向量, 那么就会有三个常数,使得
所以就成![]()
为线性组合,(每个向量×标量系数)的和。
-
生成子空间: 一组向量的生成子空间,指原始向量线性组合后所能抵达的点的集合
确定Ax=b有没有解,就是判断b是不是在A的列向量的生成子空间中,这个特殊的生成子空间被称为A的列空间/A的值域。
-
线性无关:矢量空间的一组元素中,若没有矢量可用有限个其他矢量的线性组合表示,则为线性无关,反之线性相关
要使矩阵可逆,必须保证Ax=b对于每个b值最多有1个解,为此,必须保证A矩阵组多含有m个列向量,意味着 矩阵A必须为方阵(m = n),且所有列向量都是线性无关的。
一个列向量线性相关的的方阵被称为奇异的,若矩阵A不是方阵或者是一个奇异的方阵,方城仍有可能有解。
(上面是抄书的,似懂非懂的。。。)
5.范数
范数: 范式是衡量向量的大小, 是将向量映射到非负值的函数。![]()
![](data:image/png;base64,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)
范数是满足如下条件的函数:
A. f(x) = 0 => x = 0
B. f(x + y) ≤ f( x)+ f ( y ) (三角不等式 )
C. 存在α属于实数R, f(αx) = |α| f(x)
-
L0范数: p = 0, 非零元素的个数
-
L1 范数 : p=1时, 向量绝对值之和
-
欧几里得范数(L2范数): p = 2时, 为欧几里得范数, 表示从原点出发到向量的欧几里得距离
-
L∞ 最大范数:
-
L-∞ 最小范数:
-
Frobenius范数(深度学习常用的衡量矩阵大小的范数):
6. 特殊矩阵和向量
-
对角矩阵:主对角线含有非零元素,其他都为0。 对于i×j维度的对角矩阵D, 当且仅当 对于 i≠j, Dij = 0.(单位矩阵也是对角矩阵)
示例:
-
单位向量:具有单位范数的向量,即:
如果x.T y = 0 , 那么 向量x与向量y正交, 夹角90°。若向量x与y都为单位向量x.T y = 0,且则称其为标准正交
-
正交矩阵:
则有:
(特征分解、奇异值分解、迹运算、行列式、主成分分析 后面再补)