Xu H, Caramanis C, Sanghavi S, et al. Robust PCA via Outlier Pursuit[C]. neural information processing systems, 2010: 2496-2504.

这篇文章同样是关于矩阵恢复的。假设\(M = L_0 + C_0 \in \mathbb{R}^{p \times n}\),即\(M\)实际上是由一个低秩矩阵\(L_0\)和稀疏矩阵\(C_0\)构成。需要注意的是,这里的稀疏不是指某些元素为0,而是某列为零。可以简单地认为,\(L_0\)中是一些有用的正确的样本,而\(C_0\)中的是错误的样本(非零的部分)。所以,我们能够从中将\(L_0\)的列空间恢复出来,并识别出那些样本属于\(C_0\),即是错误的呢?

上面的作者的说法,我再用自己的话讲一下。\(M\)中的每一列都是一个\(p\)维样本,有些时候我们会遇到这种情况,有些样本是错误的。这个错误是指很严重的错误,而不是被一些噪声污染了,就像是这些数据是人的身高体重,却混入了长颈鹿的身高体重。所以呢,我们有理由相信,俩者分布在俩个子空间里,我们要做的就是判断哪个子空间里是我们想要的,哪个是错误的样本。显然正确的样本不能太少,而且正确的样本必须靠的紧凑一些。所以,这么想来,其实要求还不少。

显然直接这么做是不可靠的,举一个极端的例子:\(M\)中仅有\(M_{11}\)非零,那么显然是无法判断第一列是否是正确的样本的。所以,我们需要一个不连贯条件:

此外,作者也考虑了带噪声的问题\(M = L_0 + C_0 + N\),其中\(N\)是噪声。

针对不带噪声的问题,作者求解的下列问题:

其中\(\|C\|_{1,2}= \sum_{i=1}^n \|C_i\|_2\)为列的\(\ell_2\)范数的和,\(\|L\|_*\)是\(L\)的核范数。

针对带噪声问题,作者求解的是下列问题:

主要结果

定理1

定理2


理论证明

构造Oracle Problem


其中\(L_0 = U_0\Sigma_0V_0^T\), \(\mathcal{I}_0\)是\(C\)中不为0的非稀疏列的指标集,下面的类似的符号也类似的定义。

这个神谕问题,假设\(U_0, V_0, \mathcal{I}_0\)是已知的。

作者先证明,满足\(M=L'+C';\mathcal{P}_{U_0}(L')=L';\mathcal{P}_{\mathcal{I_0}}(C')=C'\)的解有下列性质:
\[
U'U^T = U_0U_0^T, \quad \mathcal{I'}\subseteq \mathcal{I}_0
\]
这意味着,\(\hat{L}\)的列空间和\(L_0\)的列空间一致,\(\hat{C}\)中的列(非0)也确实是错误的列。

作者再证明,对于\((L', C')\)(不要求其为Oracle Problem的最优解,可行解即可),只要能找到一个\(Q\)满足对偶条件:


那么,\((L',C')\)也是原始问题(2)的最优解,而且如果\((b), (d)\)不等式是严格成立的,且\(\mathbb{S}_{\mathcal{I_0}}\cap \mathbb{S}_{V'} = \{0\}\),那么\((L', C')\)将是(2)的唯一最优解。
结合上面的证明,我们可以知道,只要我们能够证明这样的\(Q\)是存在的,那么\((L', C')\)就恢复出了同一个列子空间,并识别出了部分错误的样本。

所以我们现在需要做的就是去构造这样的一\(Q\),假设Oracle Problem的最优解为\((\hat{L}, \hat{C})\),作者在这个解的基础上,构造一个\(Q\)。

有定理四:

其中:

\(\bar{V} = \hat{V}\hat{U}^TU_0\)。

最后再证明定理4中的条件是能够达成的即可。

算法


其中\(\mathfrak{L}_{\epsilon}(S)\):如果\(S_{ii} \le \epsilon\),截断为0,否则\(S_{ii} := S_{ii} - \epsilon \cdot sgn(S_{ii})\)。
\(\mathfrak{C}_{\epsilon}(C)\): 如果\(\|C_i\|_2 \le \epsilon\),则将整列截断为0,否则\(C_i := C_i - \epsilon C_i / \|C\|_2\)

Robust PCA via Outlier Pursuit的更多相关文章

  1. 最优化之Robust PCA

    最近加了一个QQ群,接触了点新的东西,包括稀疏近似,低秩近似和压缩感知等.Robust PCA中既包含了低秩,又包含了稀疏,于是以其为切入点,做了如下笔记.笔记中有的公式有比较详细的推导,希望对读者有 ...

  2. 透过表象看本质!?之二——除了最小p乘,还有PCA

    如图1所示,最小p乘法求得是,而真实值到拟合曲线的距离为.那么,对应的是什么样的数据分析呢? 图1 最小p乘法的使用的误差是.真实值到拟合曲线的距离为 假如存在拟合曲线,设直线方程为.真实值到该曲线的 ...

  3. Rubost PCA 优化

    Rubost PCA 优化 2017-09-03 13:08:08 YongqiangGao 阅读数 2284更多 分类专栏: 背景建模   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA ...

  4. 矩阵分解(rank decomposition)文章代码汇总

    矩阵分解(rank decomposition)文章代码汇总 矩阵分解(rank decomposition) 本文收集了现有矩阵分解的几乎所有算法和应用,原文链接:https://sites.goo ...

  5. Matrix Factorization, Algorithms, Applications, and Avaliable packages

    矩阵分解 来源:http://www.cvchina.info/2011/09/05/matrix-factorization-jungle/ 美帝的有心人士收集了市面上的矩阵分解的差点儿全部算法和应 ...

  6. ECCV 2014 Results (16 Jun, 2014) 结果已出

    Accepted Papers     Title Primary Subject Area ID 3D computer vision 93 UPnP: An optimal O(n) soluti ...

  7. Computer Vision_18_Image Stitching: Image Alignment and Stitching A Tutorial——2006(book)

    此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...

  8. paper 127:机器学习中的范数规则化之(二)核范数与规则项参数选择

    机器学习中的范数规则化之(二)核范数与规则项参数选择 zouxy09@qq.com http://blog.csdn.net/zouxy09 上一篇博文,我们聊到了L0,L1和L2范数,这篇我们絮叨絮 ...

  9. L0、L1与L2范数、核范数(转)

    L0.L1与L2范数.核范数 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的L0.L1.L2和核范数规则化.最后聊下规则化项参数的选择问题.这里因为篇幅比较庞大 ...

随机推荐

  1. 从壹开始前后端分离 [.netCore 填坑 ] 三十三║ ⅖ 种方法实现完美跨域

    缘起 哈喽大家周四好,趁着大家在团建的时候花一个下午学点儿东西,也是督促大家学习哟,希望大家看到老张的文章,可以有一丢丢的学习动力.不过话说过来,该吃的团建还是要去的,不能学我呀 [ /(ㄒoㄒ)/~ ...

  2. Java〜slf4日志框架的使用

    slf4日志可以支持注解的方式开启它,然后在使用时直接使用占位符,而不需要手动拼接字符串,这点在性能上也做到了最好. 一 build.gradle依赖项 compileOnly('org.projec ...

  3. JavaScript一看就懂(2)闭包

    认识闭包之前需要先了解作用域,如果你对作用域还没有足够了解,请移步JavaScript一看就懂(1)作用域 什么是闭包? 我们可以先简单认为:一个函数a定义在另一个函数b里面,这个函数a就是闭包: f ...

  4. Entity Framework 查漏补缺 (一)

    明确EF建立的数据库和对象之间的关系 EF也是一种ORM技术框架, 将对象模型和关系型数据库的数据结构对应起来,开发人员不在利用sql去操作数据相关结构和数据.以下是EF建立的数据库和对象之间关系 关 ...

  5. SmartSql 入门

    入门 安装 Install-Package SmartSql Install-Package SmartSql.Schema // 以及相应ADO.NET驱动 从连接字符串创建SmartSql实例 v ...

  6. Django-restframework之路由控制、解析器及响应器

    django-restframework之路由控制.解析器及响应器 一 前言 本篇博客介绍 restframework 框架的剩下几个组件,路由控制有三种:传统路由.半自动路由及全自动路由:解析器是用 ...

  7. es6 generator函数

    es6 新增了Generator函数,一种异步编程的解决方案 回顾一下,es6 提供了新的遍历方法,for of ,适用于各种数据集合,统一了遍历操作,原生支持for of 集合的数据集合有.数组,字 ...

  8. Vue项目需求实现记录(永久更新)

    1.表单校验功能: 在el-form标签中定义:rules="rules";ref="reference" 在el-form-item定义prop=" ...

  9. 利用data-src属性 更换图片

    <div class="img_src"> <img src="./images/luo.png"></div> <u ...

  10. 47.Odoo产品分析 (五) – 定制板块(2) – 为业务自定义odoo(2)

    查看Odoo产品分析系列--目录 Odoo产品分析 (五) – 定制板块(2) – 为业务自定义odoo(1) 4 添加自定义字段 定制odoo的最普通的原因就是指定到公司的附加信息.如果您正在运行一 ...