目录
2.7特征分解,主成分分析(PCA)和奇异值分解(SVD)都是一种对数据降维的方法。
2.7.2奇异值分解(The Singular Value Decomposition,SVD):
2线性代数-深度学习花书第二章
掌握好线性代数对于理解和从事机器学习算法相关工作是很有必要的,尤其对于深度学习算法而言。
2.1基本概念:
学习线代,会涉及以下几个数学概念:
- 标量(scalar):标量就是单一的数字,比如单一的整数,实数,有理数等都是标量。
- 向量(vector)(矢量):可以看出一组标量形成的一维数组,如有n个实数组成的向量:
- 矩阵(matrix):矩阵是二维数组,所以每个元素需要行和列的指标来标记.
- 张量(tensor):张量是多维数组,当它是0时是标量,一维时是向量,二维时是矩阵,也可以大于二维.
- 转置(transpose):矩阵转置可以想成将矩阵按轴线翻转过来.
2.2矩阵运算
2.2.3矩阵乘法(matrix product):
假如有两个形状分别为 m x n 的矩阵A和 n x p 的矩阵B,矩阵C则为m x p注意A的列数和B的行数要匹配,
矩阵乘积C=AB就是将A的每一行与对应的B的每一列相乘求和,并将所得的数存储在C的对应元素中。
具体地,该乘法操作定义为
矩阵和向量相乘可以看做是一行0列的矩阵和矩阵相乘,结果还是矩阵。
广播:矩阵和向量相加,产生另外个矩阵:C=A+b.将向量和矩阵每行相加生成的矩阵,这种隐式地将复制向量到很多位置的方式,称为广播。
小结:
现在已经有足够的线性代数符号,可以表达下列线性方程组:Ax=b.
其中是一个已知矩阵,是一个已知向量,是一个我们要求解的未知向量。
向量x的每一个元素xi都是未知的(这和论文说的向量加粗是一样的)。矩阵A的每一行和b中对应的元素构成一个约束。
省略一部分文字,大概就是矩阵行Ai和向量x相乘的形式.还有,矩阵每行的元素Aii和向量每个元素xi相乘的形式.
单位矩阵(identity matrix):在矩阵的乘法中,有一种矩阵起着特殊的作用,如同数的乘法中的1,这种矩阵被称为单位矩阵。它是个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为1。除此以外全都为0.
逆矩阵(matrix inversion):设A是一个n阶矩阵,若存在另一个n阶矩阵B,使得: AB=BA=E ,则称方阵A可逆,并称方阵B是A的逆矩阵.
2.4线性相关:
在线性代数里,矢量空间的一组元素中,若没有矢量可用有限个其他矢量的线性组合所表示,则称为线性无关或线性独立 [1] (linearly independent),反之称为线性相关(linearly dependent)。
例如在三维欧几里得空间R的三个矢量(1, 0, 0),(0, 1, 0)和(0, 0, 1)线性无关;但(2, −1, 1),(1, 0, 1)和(3, −1, 2)线性相关,因为第三个是前两个的和。
2.5范数:
在机器学习中,我们经常使用称为范数(norm)的函数来衡量向量大小.在泛函分析中,它定义在赋范线性空间中,并满足一定的条件,即①非负性;②齐次性;③三角不等式。
形式上,Lp范数定义如下:如L=2,则是之前用过欧式距离也就是欧式范数.向量x求L2的时候,p为2,也就是说开根号.如L=1,则为曼哈顿距离。
2.6特殊类型的矩阵和向量
迹运算:迹定义为求主对角线元素的和。
行列式:
记做det(A).n阶行列式等于所有取自不同行不同列的n个元素的乘积的代数和,逆序数为偶数时带正号,逆序数为奇数时带负号,共有n!项。
单位向量:
单位向量是指模等于1的向量。由于是非零向量,单位向量具有确定的方向。单位向量有无数个。一个非零向量除以它的模,可得所需单位向量。一个单位向量的平面直角坐标系上的坐标表示可以是:(n,k) ,则有n²+k²=1。
2.7特征分解,主成分分析(PCA)和奇异值分解(SVD)都是一种对数据降维的方法。
27.1特征分解:
矩阵的特征值分解目的就是提取出一个矩阵最重要的特征。我们将矩阵分解为一组特征向量和特征值。设A为n阶矩阵,若存在常数λ及n维非零向量x,使得Ax=λx,则称λ是矩阵A的特征值,x是A属于特征值λ的特征向量。
特征分解适用于n*m维的方形矩阵,由于m×n维的矩形矩阵在变换过程中会改变矩阵原本的维数。
2.7.2奇异值分解(The Singular Value Decomposition,SVD):
奇异值分解:是将一个矩阵分解成三个矩阵的乘积。C=ABC,则A为左边奇异值,C为右边奇异值,B为方阵。每个矩阵由每个矩阵的特点,适合用于推荐系统。
对于一个m×n维的矩阵,我们能够使用下面的方法对其进行特征分解——即奇异值分解。
主成分分析(PCA):
将高维的数据分解成低维的数据。PCA是线性降维的方法。降维都是非监督学习。如将4维的数据降成三维,二维,或者一维的数据等等.