Linear Dependence and Span(线性相关和生成子空间)
其实这部分推导了中b具有唯一解的条件。
从矩阵和向量相乘入手:
,其中是一个的已知的矩阵,就是一个维的未知的列向量,得到的就是一个维的已知的列向量。等式左侧可以写为该形式:
简化版就是:
相当于A视为一组(n个)列向量,每一个列向量与x中一个对应的元素(x有n个元素)相乘得到一个新的列向量,新的列向量相加得到结果b:一个m维列向量。这和线性组合的形式类似:
因此可以看作,A的列向量线性组合得到了b,b是m维的,可以视为是空间中的一个点(m维度即m个坐标轴,b的m个分量/元素就是每一个坐标轴的坐标值)。一组向量的生成子空间 (span) 是原始向量线性组合后所能抵达的点的集合,这里可以视为就是一个A的生成子空间。如果想让等式对任意b有解,也就是可以认为A中列向量的线性组合可以表示空间(A的生成子空间)中任意一个元素,也就是任意一个m维列向量。这时候A其实包含了中的基底,因此A至少要有m个列向量(基底的定义),即。n可能大于m是因为A中的列向量不一定全部线性无关,可能存在冗余,因此是至少为m个,才能表示所有的b的情况,即等式对任意b都有解。
只能确保对任意b有解,不能保证唯一解。唯一解针对的情况其实就是A中列向量全部线性无关,没有冗余,即n=m,这时候矩阵A就成为了方阵(因为若是有冗余,比如和是线性相关的,比如是2倍的关系,那么和分别为1和1时得到的b是和和分别为3和0时得到的b是相同的,这就是同一个b对应的解x并不唯一)。
这就是有且只有一个解的充要条件:n=m,即A是方阵,且A中列向量线性无关。此时就可以利用A的逆矩阵通过公式
得到x。这时候再回顾上面矩阵运算的等式,可以这么理解:A中每一个列向量是中的一个点,那么原点到这个点就能表示一个方向,这个列向量对应的可以视为这个方向上的步长或者距离,在空间中从原点分别向每个方向上运动距离后就到达b这个点了。若是对二维空间,方向就可以理解为x轴和y轴。
注:一个列向量线性相关的方阵称为奇异的。
范数(Norms)
范数用来衡量向量的大小,将向量映射到非负的值,可以理解为向量到原点的距离,也可以理解为满足下列条件的任意一个函数:
1)f (x) = 0 ⇒ x = 0
2)f (x + y) f(x) + f(y) (the triangle inequality)
3)∀α ∈ R, f(αx) = |α|f(x)
范数的形式为:
常用范数:
1. 范数:
p=2,也称为欧几里得范数(Euclidean norm),因为表示了到原点的欧几里得距离;
机器学习中常表示为||x||,对向量x可用得到;
对每个元素的导数和向量中每个元素都有关(在分子上)。
2. 平方范数:
相较范数而言计算更方便(没有开方);
对每个元素的导数只和该元素有关;
在原点附近增长十分缓慢。
3. 范数:
需要区分向量中零和非零元素的情况;
任意点的导数均相同;
任一元素向远离0的方向移动距离,范数增加。
4. 范数:
不符合范数的数学概念:元素变为a倍,范数不会变为a倍;
表示向量中非零元素的个数;
常用范数代替表示非零元素的个数。
5. 范数(max norm):
表示向量中具有最大幅度的元素的绝对值。
6. Frobenius norm:
衡量矩阵大小;
和向量的范数类似。
特殊类型的矩阵和向量
对角矩阵
长方形的矩阵也可能是对角阵;
对长方形对角矩阵D,会涉及x中每个元素的放缩:若D是瘦长型,乘法结果会在末尾增添一些0;若D是宽胖型,会截掉末尾的元素。
正交
向量正交:
;
如果两个向量都有非零范数,则它们夹角为90度;
在中,最多有m个范数非零向量正交;
若向量范数都为1,则称为标准正交;
正交矩阵:
行向量和列向量均标准正交的方阵,有:
正交矩阵求逆运算代价小。
矩阵分解
通过分解矩阵来发现矩阵表示成数组元素时不明显的函数性质。
特征分解:
特征分解是将矩阵分解成一组特征向量和特征值。矩阵A与一个向量相乘后若相当于对该向量做了缩放,这个向量就是矩阵A的特征向量,也就是矩阵A对它的特征向量有缩放作用,可用如下公式表示:
,是该特征向量对应的特征值,也就是缩放程度。
(补充理解:矩阵相当于一个线性变换,也就是对向量v做了线性变换后方向仍然不变,但是大小可能改变了。)
注:如果是A的特征向量,则缩放后的向量也是A的特征向量,因此通常只考虑单位特征向量。
设矩阵A有n个线性无关的特征向量{},对应特征值{},将特征向量连接一个矩阵,使得每一列是一个特征向量:,将特征值连成一个向量:,此时矩阵A的特征分解可以表示为:。这个形式的推导目前没有理清,不过应该和上文的该公式有关:。
注:不是每个矩阵都可以特征分解,有些分解还会涉及到复数,这里只讨论可以简单分解的矩阵,比如实对称矩阵,分解为该形式:,Q是A的特征向量组成的正交矩阵(所以公式里是Q的转置矩阵,等价于逆矩阵),是对角矩阵,元素的特征值对应Q中的第i列的特征向量。由于Q是正交矩阵(所以每个特征向量都是互相正交的),可以将A看作沿方向延展倍的空间(的结果就是Q中的每个列向量进行了倍的放缩也就是延展),如下图所示。
实对称矩阵的特征分解也可以用于优化二次方程:,其中限制。当x等于A的某个特征向量时,f将返回相应的特征值(可以从公式中推导得到,两边同时左乘Q的逆矩阵也就是转置矩阵,右乘Q)。在限制条件下,f的最大值是最大特征值,最小值是最小特征值。
所有特征值都是正数的矩阵被称为正定 (positive definite);所有特征值都是非负数的矩阵被称为半正定 (positive semidefinite)。同样地,所有特征值都是负数的矩阵被称为负定 (negative definite);所有特征值都是非正数的矩阵被称为半负定 (negative semidefinite)。半正定矩阵受到关注是因为它们保证(因为最小值是最小特征值,而半正定矩阵所有特征值都是非负数)。正定矩阵保证:。
奇异值分解(singular value decomposition, SVD):
将矩阵分解为奇异向量(singular vector)和奇异值(singular value)。每个实数矩阵都有一个奇异值分解,不一定有特征分解。
奇异值分解将矩阵 A 分解成三个矩阵的乘积:,若A是m*n的矩阵,则U是m*m,D是m*n,V是n*n。U和V是正交矩阵,D是对角矩阵,不一定是方阵,对角线上的元素为A的奇异值,U和V的列向量分别成为左奇异向量和右奇异向量。
我们可以用与 A 相关的特征分解去解释 A 的奇异值分解。A 的左奇异向量 (left singular vector) 是的特征向量。A 的右奇异向量 (right singular vector) 是的特征向量。A 的非零奇异值是特征值的平方根,同时也是特征值的平方根。
Moore-Penrose伪逆
求解问题:。若是A的行数多于列数,该问题无解:相当于用低维的成分去求高维的信息,和前面线性相关部分的知识类似。若是A的行数小于列数,可能有多个解,可以使用伪逆来求解。矩阵A的伪逆定义为:
但实际运算为:,矩阵 U,D 和 V 是矩阵 A奇异值分解后得到的矩阵。对角矩阵 D 的伪逆是其非零元素取倒数之后再转置得到的。
当矩阵 A 的行数少于列数时,使用伪逆求解线性方程是众多可能解法中的一种。具体地,是方程所有可行解中欧几里得范数 ∥x∥2 最小的一个。
当矩阵 A 的行数多于列数时,可能没有解。在这种情况下,通过伪逆得到的 x是使得 Ax 和 y 的欧几里得距离 ∥Ax − y∥2 最小的解。
迹运算
迹运算返回的是矩阵对角元素的和:。
迹运算提供了另一种描述矩阵Frobenius 范数的方式:;
迹运算在转置运算下不变,;
多个矩阵乘积的迹,和将这些矩阵中最后一个挪到最前面之后乘积的迹是相同的。当然,我们需要考虑挪动之后矩阵乘积依然定义良好:。或者更一般地:
标量在迹运算后仍然是它自己:a = Tr(a)。
行列式
行列式,记作 det(A),是一个将方阵 A 映射到实数的函数。行列式等于矩阵特征值的乘积。行列式的绝对值可以用来衡量矩阵相乘后空间扩大或者缩小了多少。如果行列式是 0, 那么空间至少沿着某一维完全收缩了,使其失去了所有的体积。如果行列式是 1, 那么矩阵相乘没有改变空间体积。
主成分分析:
主成分分析可以看作一种有损压缩方法。编码方法可以是用低维表示,对于每个点,编码为,如果n>l,就相当于进行了压缩,减少了存储空间。找到一个编码函数,给定x可以得到c,即,再找到一个解码函数,。为了简化解码器,可以使用矩阵乘法将编码映射回,,就是解码矩阵。
注:1. PCA限制 D 的列向量为彼此正交的(注意,除非 l = n,否则严格上 D 不是一个正交矩阵);
2. 限制D中所有列向量有单位范数,否则如果按比例地缩小所有点对应的编码向量 ci,只需按比例放大 D:,i,即可保持结果不变,这就会有无穷多个解。
为了得到最优编码,可以通过最小化原始输入向量 x 和重构向量之间的距离,若使用范数来衡量距离可以得到:
可使用平方范数代替,因为两者是在相同的c值取到最小值,则可以得到:
(是标量,因此转置后不变,即)
(因为和变量无关,因此可以忽略)
(带入g(c)的定义)
接下来通过线性代数微积分求解:,得,得。
可以看出,最优编码只需要进行一个矩阵乘法就可以:,重构操作也可以定义为:。
接下来就要选择D:我们是用同一个D对所有点进行解码,因此要最小化所有维度和所有点上的误差矩阵的Frobenius范数:
,限制在。(其中j是维度,i是点的个数)
想要求,可以先考虑l=1的情况,D就是一个向量d:
,限制在。
接下来改写为矩阵形式(,其中):
,限制在。
(删去与d无关的项)
(循环改变迹运算中相乘矩阵的顺序不影响结果)
,限制在
,可得最优的d是最大特征值对应的特征向量。
以上是基于l=1的推导,事实上是得到了PCA中的第一个主成分,若要得到l个主成分,其实矩阵D就会由的l个最大特征值对应的特征向量构成。