1 基本概念
主成分分析(Principal Component Analysis, PCA)是一种无监督的线性降维技术,通过正交变换将原始高维数据投影到低维空间,同时保留数据的主要变异信息。其核心目标是找到数据中方差最大的方向(主成分),并将数据重新映射到这些方向上,实现降维与特征提取。
从线性代数的角度看,PCA的目标就是使用另一组基去重新描述得到的数据空间。希望在这组新的基下,能尽量揭示原有的数据间的关系。这个维度即最重要的“主元”。PCA的目标就是找到这样的“主元”,最大程度的去除冗余和噪音的干扰。
PCA基于特征值分解或奇异值分解(SVD),将原始数据的协方差矩阵分解为特征向量和特征值。特征向量代表主成分的方向,特征值表示对应方向的方差大小。通常选择前k个最大特征值对应的特征向量作为新的基,将数据投影到这些基上。
鲁棒主成分分析(Robust PCA)考虑的是这样一个问题:一般我们的数据矩阵X会包含结构信息,也包含噪声。那么我们可以将这个矩阵分解为两个矩阵相加,一个是低秩的(由于内部有一定的结构信息,造成各行或列间是线性相关的),另一个是稀疏的(由于含有噪声,而噪声是稀疏的),则鲁棒主成分分析可以写成以下的优化问题:
![]()
2 矩阵的秩/奇异值/核范数/L0范数
矩阵的秩rank是线性代数中的一个概念。在线性代数中,一个矩阵A的列秩是A的线性独立的纵列的极大数,通常表示为r(A),rk(A)或rank A。
奇异值singular values是衡量一个矩阵“在哪些方向上作用强、在哪些方向上没用”的关键量。它们揭示了矩阵的结构、压缩能力以及在机器学习中的可降维性。奇异值描述了矩阵将单位球体拉伸成椭球体时,各个轴的“拉伸长度”。
- 最大奇异值 σ1:表示矩阵将输入拉伸得最多的方向的尺度
- 最小奇异值 σn:表示最小拉伸(甚至是压缩)的方向尺度
- 若很多奇异值接近0,说明矩阵有大量“无效方向”,即可以近似看作低秩
- 奇异值大小差距越大,矩阵越接近“低秩”结构
矩阵的核范数nuclear norm:||A||*,
其定义为矩阵A的奇异值之和:the sum of singular values。 由于一个矩阵的非零奇异值的个数等价于该矩阵的秩,那么此时核范数可以来近似矩阵的秩(等价于向量的0范数和1范数关系,稀疏优化),这也是常见的约束矩阵低秩的方法。
零范数: denotes the L0-norm which counts the number of nonzero entries,0范数用于衡量信号的稀疏性,即非零系数的数量。0范数是非凸的,因此在实际优化问题中通常用1范数或其他凸近似替代,计算0范数的复杂度较高,尤其是在高维矩阵中。
1范数:矩阵元素的绝对值之和。
凸函数的定义:一个函数是凸的,如果对于任意
和任意
,满足:
。
为了验证0范数的非凸性,可以通过构造反例来说明。假设有两个向量 x = (1, 0) )和 (y = (0, 1) ,它们的0范数均为1。取 ,计算凸组合: z = 0.5x + 0.5y = (0.5, 0.5) 此时
,而凸组合的函数值为:
显然
不成立,因此0范数不满足凸函数的定义。
3 算法核心描述
上式中,我们就需要将X分解成包含其真实结构的低秩矩阵A和稀疏噪声矩阵E之和,找到了低秩矩阵,实际上就找到了数据矩阵X的本质低维空间。由于rank和L0范数在优化上存在非凸和非光滑特性,所以我们一般将它转换成求解以下一个松弛的凸优化问题:
![]()
考虑同一副人脸图像,如果将每一副人脸图像看成是一个行向量,并将这些向量组成一个矩阵的话,那么可以肯定,理论上,这个矩阵应当是低秩的。但是,由于在实际操作中,每幅图像会受到一定程度的影响,例如遮挡,噪声,光照变化,平移等。这些干扰因素的作用可以看做是一个噪声矩阵的作用。所以我们可以把我们的同一个人脸的多个不同情况下的图片各自拉长一列,然后摆成一个矩阵,对这个矩阵进行低秩和稀疏的分解,就可以得到干净的人脸图像(低秩矩阵)和噪声的矩阵了(稀疏矩阵),例如光照,遮挡等等。


740

被折叠的 条评论
为什么被折叠?



