low rank读书笔记

来源:互联网 发布:sql增删改查面试题 编辑:程序博客网 时间:2024/06/05 01:18

Learning Transformations for Clustering and Classication

Qiang Qiu, Guillermo Sapiro

Abstract

1.在子空间上学习一个线性变换,使用核范数作为建模和最优化标准。

2.在同一子空间内减少参数,在不同子空间中增加分离程度,用以更加鲁棒的子空间聚类。

3.提出一种快速的子空间聚类技术,结合 robust PCA 和 sparse modeling

1. Introduction

  • subspace : 子空间分析的思想就是根据一定的性能目标来寻找一个线性或者非线性的空间变换,把原始信号数据压缩到一个低维子空间,是数据在子空间中的分布更加紧凑,为数据的更好描述提供了手段,计算复杂度也大大降低。

  • 主成分分析(PCA):PCA的目标就是使用另一组基去重新描述得到的数据空间。希望在这组新的基下,能尽量揭示原有的数据间的关系。这个维度即最重要的”主元”。PCA的目标就是找到这样的”主元”,最大程度的去除冗余和噪音的干扰。 寻找数据在低维空间上的最佳投影问题。

  • 鲁棒主成分分析(Robust PCA)考虑的是这样一个问题:一般我们的数据矩阵X会包含结构信息,也包含噪声。那么我们可以将这个矩阵分解为两个矩阵相加,一个是低秩的(由于内部有一定的结构信息,造成各行或列间是线性相关的),另一个是稀疏的(由于含有噪声,而噪声是稀疏的),则鲁棒主成分分析可以写成以下的优化问题:

    argminA,Erank(A)+λ  E0 s.t.X=A+E

因为PCA假设我们的数据的噪声是高斯的,对于大的噪声或者严重的离群点,PCA会被它影响,导致无法正常工作。而Robust PCA则不存在这个假设。它只是假设它的噪声是稀疏的,而不管噪声的强弱如何。

​ 同一副人脸的多幅图像,如果将每一副人脸图像看成是一个行向量,并将这些向量组成一个矩阵的话,那么这个矩阵应当是低秩的。由于实际操作中图片存在遮挡,噪声,光照变化,平移等影响,这些干扰因素的作用可以看做是一个噪声矩阵的作用。可以把同一个人脸的多个不同情况下的图片看成列向量,组成一个矩阵,其每行的相关性更大,矩阵的秩更小,对这个矩阵进行低秩和稀疏的分解,就可以得到干净的人脸图像(低秩矩阵)和噪声的矩阵了(稀疏矩阵)。

2. Learning Low-rank Transformations (LRT)

这里写图片描述

2.1 Preliminary Pedagogical Formulation using Rank

这里写图片描述

  • 公式第一项代表各个子空间内数据点分别变换后的秩的和,这一项优化得越小就会使各个子空间的秩减少,从而使代表数据的特征减少,也就是减少高频分量和细节,使子空间内的数据表达趋向一致
  • 公式第二项代表所有数据点变换后的秩(不算负号),这一项优化得越大就会使所有数据在总空间上的秩增大,从而增加高频分量和细节,使不同子空间的数据样本差异更大。
  • 约束条件是对变化的归一化,可以避免无意义的解。

经过证明,只有当各个子空间变换后的矩阵是 相互独立 时,式子才取到最小值0,否则皆大于0.

2.2 Problem Formulation using Nuclear Norm

因为矩阵的秩是非凸的,在优化问题中很难求解,所以采用核范数作为矩阵的秩的最优凸近似。

这里写图片描述

各种范数的含义:http://www.cnblogs.com/MengYan-LongYou/p/4050862.html

L0范数:指向量中非0的元素的个数

L1范数:指向量中各个元素绝对值之和,”稀疏规则算子”(Lasso regularization)它是L0范数的最优凸近似

  L1范数和L0范数可以实现稀疏,L1因具有比L0更好的优化求解特性而被广泛应用。

L2范数:指向量各元素的平方和然后求平方根。我们让L2范数的规则项||W||2最小,可以使得W的每个元素都很小,都接近于0,但与L1范数不同,它不会让它等于0,而是接近于0,而越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象。

​ L2范数可以防止过拟合,提升模型的泛化能力,让优化求解过程稳定快速。

核范数:指矩阵奇异值的和,矩阵的秩的最优凸近似。

用最小主元角来衡量两个子空间之间的距离:

这里写图片描述

结果展示:
这里写图片描述
上面四幅图分别表示,如果两空间起始角度就是90度,即正交的,那么变换后也依然是正交的,如果两空间的起始角度不是正交的,那么变换之后两个子空间之间的角度会变大。

下面两幅图表示,多个子空间经过变换后,不同子空间之间的距离增大,相同子空间的核范数减小(秩数变低),数据点更加紧凑。

为什么使用核范数而不是l2范数

使用核范数的优点在于,只要各子空间(不同人脸)变换后的矩阵是相互独立的,表达式就可以取到最小值,而并非距离最远才行。