?线性代数主要是面向连续数学,而非离散数学。掌握好线性代数对于理解和掌握机器学习和深度学习相关算法工作较为重要。
2.1 标量,向量,矩阵和张量
向量
?有时我们需要索引向量中的一些元素。在这种情况下,我们定义一个包含这些元 素索引的集合,然后将该集合写在脚标处。比如,指定x1、x3和x6,我们定义集 合S={1,3,6},然后写作xS。我们用符号 - 表示集合的补集中的索引。比如x?1 表示x中除x1外的所有元素,x?S表示x中除x1、x3、x6外所有元素构成的向量.
张量
?在某些情况下,坐标超过两维的数组,一个数组中的元素分布在若干维坐标的规则网格中,称之为张量
特殊情况
?在深度学习中,允许矩阵和向量相加,产生另 一个矩阵:C=A﹢b,其中Cij=Aij+bjC_{ij}=A_{ij}+b_{j}Cij?=Aij?+bj? 换言之,向量b和矩阵A的每一行相加。这个简写方 法使我们无须在加法操作前定义一个将向量b复制到每一行而生成的矩阵。这种隐式地复制 向量b到很多位置的方式,称为广播(broadcasting).
2.2 矩阵和向量相乘
?矩阵乘积服从分配律,结合律。但不满足交换律;然而两个向量的点击满足交换率:xTy=yTxx^Ty=y^TxxTy=yTx
矩阵乘积的转置:(A,B)T=BTAT(A,B)^T=B^TA^T(A,B)T=BTAT
2.3 单位矩阵和逆矩阵
?对于大多数的矩阵A,可以使用矩阵逆解析的求解式(1):
Ax=b(1)Ax=b\qquad\qquad\qquad (1)Ax=b(1)
?使用矩阵逆进行式(1)的求解过程如下:
A?1A=In(2)A^{-1}A=I_n\qquad\qquad\qquad (2)A?1A=In?(2)
Ax=b(1)Ax=b\qquad\qquad\qquad (1)Ax=b(1)
A?1Ax=A?1b(3)A^{-1}Ax=A^{-1}b\qquad\qquad\qquad (3)A?1Ax=A?1b(3)
Inx=A?1b(4)I_nx=A^{-1}b\qquad\qquad\qquad (4)In?x=A?1b(4)
x=A?1b(5)x=A^{-1}b\qquad\qquad\qquad (5)x=A?1b(5)
之后讨论逆矩阵A?1A^{-1}A?1存在的条件。
理论上,相同的逆矩阵可用于多次求解不同向量bbb的方程。然而,逆矩阵A?1A^{-1}A?1主要是作为理论工具使用的,并不会在大多数软件应用程序中实际使用。这是因为逆矩阵A?1A^{-1}A?1在数字计算机上只能表现出有限的 精度,有效使用向量bbb的算法通常可以得到更精确的xxx。
2.4 线性相关和生成子空间
*有一部分不是很懂:关于向量的生成子空间,即其原始向量线性组合后所能抵达的点的集合。这一句不是很会理解?????
?关于线性组合,其是关于式(1)的xxx在矩阵AAA的列上进行计算,也就是说最后会得到m个值。但是bbb的得到,是xxx在矩阵AAA的行上进行计算,最后得到n个值。关于两者之间的联系,即向量xxx中的每个元素表示我们应该沿着矩阵AAA的列向量的不同方向走多远。这个不知道该如何联系。
2.4 正文
生成子空间推导,线性无关
最后的结论:矩阵必须包含至少一组m个线性无关的向量。这是式(1)对于 每一个向量b的取值都有解的充分必要条件;要想使矩阵可逆,还需要保证式(1)对于向量b至多有一个解,所以,确保矩阵至多有m个列向量。所以综上,矩阵可逆的条件是方阵,且列向量之间线性无关。
一个列向量线性相关的方阵被称为奇异的(singular)
对于方阵而言,它的左逆和右逆是相等的。
2.5 范数
衡量一个向量的大小,在机器学习中,使用称为范数(norm)的函数衡量向量的大小。
LpL^pLp范数定义如下:
∣∣x∣∣p=(∑i∣xi∣p)1p||x||_p=(\sum_{i} |x_i|^p)^\frac{1}{p}∣∣x∣∣p?=(i∑?∣xi?∣p)p1?
其中 p∈R,p≥1p\in R,p\ge 1p∈R,p≥1
范数(包括LpL^pLp范数)是将向量映射到非负值的函数。直观上来说,向量x的范数衡量从 原点到点x的距离。
其中L1L_1L1?L2L_2L2?范数较为常用,平方L2L_2L2?范数也经常用来衡量向量的大小,可以简单的通过点积计算。
关于L1L_1L1?L2L_2L2?范数之间的不同情况下的使用区别:平方L2范数对x中每个元素 的导数只取决于对应的元素,而L2范数对每个元素的导数和整个向量相关。但是在很多情况 下,平方L2范数也可能不受欢迎,因为它在原点附近增长得十分缓慢。在某些机器学习应用 中,区分恰好是零的元素和非零但值很小的元素是很重要的。在这些情况下,使用 在各个位置斜率相同,同时保持简单的数学形式的函数:L1范数。
衡量矩阵的大小,在深度学习中使用Frobenius范数(Frobenius?norm).
2.6 特殊类型的矩阵和向量
(1)对角矩阵(diagonal matrix)
乘法diag(ν)x,计算将x中的每个元素xix_ixi?放大viv_ivi?倍.
对角方阵的逆矩阵存在,当且仅当对角元素都是非零值:
(2)对称(symmetric)矩阵是转置和自己相等的矩阵
(3)如果xTy=0x^Ty=0xTy=0,那么向量xxx和向量yyy互相正交。如果这些向量不但互相正交,而且范数都为1,那么我们称它们是标准正交(orthonormal)。
正交矩阵(orthogonal matrix)
2.7 特征分解(将矩阵分解成一组特征向量和特征值)
数学对象可以通过分解成许多组成部分,从而发现一些可能作为整体时隐藏的属性。由此可以通过分解矩阵来发现矩阵表示成数组元素时不明显的特征。
方阵A的特征向量(eigenvector)是指与A相乘后相当于对该向量进行缩放的非零向量vvv:
Av=λAv=\lambdaAv=λvvv
关于书中对于乘法前,乘法后所画图举的实例不是很懂,它的将A看作沿方向v(i)v^{(i)}v(i)延展λi\lambda_iλi?倍的空间这个究竟该咋理解不是很懂??????
关于书中写的A=Vdiag(λ)V?1A=Vdiag(\lambda)V^{-1}A=Vdiag(λ)V?1这个式子的得来不是很确定,不知道具体的推导过程。感觉应该是A=Vdiag(λ)VTA=Vdiag(\lambda)V^{T}A=Vdiag(λ)VT,不过不确定,可以之后再看下?????????
2.8 奇异值分解(Singular Value Decomposition,SVD)
通过奇异值分解得到一些与特征分解相同类型的信息。区别在于奇异值分解可以使得每个实数矩阵都存在,而特征分解,非方阵的矩阵不存在,所以可以采用SVD。奇异值分解对应的有奇异值和左奇异向量`,右奇异向量。
公式如下:
A=UDVTA=UDV^TA=UDVT
其中U:m×m,D:m×n是一个对角矩阵,V:n×nU:m\times m,D:m\times n是一个对角矩阵,V:n\times nU:m×m,D:m×n是一个对角矩阵,V:n×n;U(左奇异向量),V(右奇异向量)均是正交矩阵。
其中关于后文的AATAA^TAAT的特征向量不是很懂 ,推导没想出来,之后看下?????????
2.9 Moore-Penrose伪逆
对于非方阵A:m×nA:m\times nA:m×n,定义一个从A到B的映射,求解式Ax=yAx=yAx=y,其中B是A的左逆(B:n×mB:n\times mB:n×m),从而得到x=Byx=Byx=By,也即By=x(10)By=x\quad (10)By=x(10)。
可知如果n大于m的话,则(10)可能有多个解;如果n小于m的话,则方程(10)可能无解
关于伪逆的定义:
A+=lim(ATA+αI)?1ATA^+=lim(A^TA+\alpha I)^{-1}A^TA+=lim(ATA+αI)?1AT
实际的计算:
A+=VD+UTA^+=VD^+U^TA+=VD+UT
为矩阵奇异分解后的东西
其中关于欧几里得距离最小的一段描述不会求??????????
以及奇异矩阵怎末得到也不会?????
2.10 迹运算
迹运算:矩阵对角元素的和 : ?Tr(A)
Frobenius范数可以使用迹运算进行表示
Tr(ABC)=Tr(CAB)=Tr(BCA)满足这个
2.11 行列式
记作det(A),矩阵特征值的乘积
衡量矩阵参与矩阵乘法后空间扩大或者缩小了多少不太会理解?????感觉需要再去看下之前的特征分解小节关于那两个图的解释
2.12 实例: 主成分分析(PCA)
关于最后的分析,Frobenius范数的简化,argmin∣∣X?XddT∣∣F2argmin||X-Xdd^T||^2_Fargmin∣∣X?XddT∣∣F2?之后的化简步骤还没看,看一下?????。以及这个式子最后为啥变成dTd^TdT有点疑惑,一下再看下????