Recovering Low-Rank Matrices From Few Coefficients In Any Basis
Recovering Low-Rank Matrices From Few Coefficients In Any Basis-David Gross
引
依旧是一个重构矩阵的问题,这篇论文的符号有些奇怪,注意一下。假设有一个矩阵\(\rho \in \mathbb{R}^{n \times n}\),其秩为\(r \ll n\)。有一组基\(w_a, a=1,\ldots, n^2\),是已知的。假设我们观测到的是,一组内积\(\{ (\rho, w_a) | a \in \Omega \}\),其中\((\rho, w_a) = tr(\rho^{\dagger}w_a)\),\(\rho^{\dagger}\)表示\(\rho\)的共轭转置。在这些条件下,我们是否能够从\(\{ (\rho, w_a) | a \in \Omega \}\)中恢复出\(\rho\)。
一些符号说明:
\(\|\rho\|_1\)为\(\rho\)的奇异值之和,即此为矩阵核范数。
\(\|\rho\|_2\)为\(\rho\)的F范数,而非一般符号代表的谱范数。
\(\|\rho\|\)为\(\rho\)的谱范数。
作者强调,这个问题,是可以办到的,不过其基需要满足一个coherence条件:

且\(\rho^{\dagger} = \rho\),即\(\rho\)为酉矩阵(不过作者提到,似乎\(\rho\)即便不满足此条件,也可以通过一种转化来求解)。
主要结果
作者通过求解下述问题来恢复矩阵\(\rho\):

需要指明的一点是,如果\((\rho, w_a),a \in \Omega\)中大部分为0,那么想要恢复出\(\rho\)是非常困难的(因为这意味着我们可用的信息非常少)。
定理2,3
下为定理2,其中的标准基为:\(\{e_i e_j^{\dagger}\}_{i,j=1}^n\),即仅有\(i\)行\(j\)列元素为1,其余均为0的\(n \times n\)矩阵所构成的基。

作者的结论更为一般,可以拓展到任意的基:

定理4
接下来还有定理4:

定理4针对的是一种特殊的基——Fourier-type基,介绍此的原因是,作者先证明此定理,再通过一些转换来证明定理3的。
直观解释
作者通过俩幅图,给出了一些直观的解释。

先来看(a)。我们可以将整个线性空间分成\(\Omega\)和\(\Omega^{\bot}\)。因为我们已有的信息是\(\Omega\),问题(1)中满足约束的矩阵\(\sigma\)在空间中形成一个超平面,即图中的\(A\),而我们所期望的\(\rho\)是其中的一点。
再来看(b),因为我们希望的是\(\rho\)是问题(1)的最优解,最好还是唯一的。如果真的如此,那么\(B = \{\sigma | \|\sigma\|_1 \le \|\rho\|_1\}\)这个集合只能在平面\(A\)的上方或者下方,实际上,就是平面A是\(B\)的支撑超平面,其支撑点为\(\rho\)。
当然,这个性质并没有这么容易达成,其等价于要满足:
\[
\|\rho + \Delta\|_1 \ge \|\rho\|_1
\]
对于\(A\)中任意的点\(\rho + \Delta \neq \rho\)成立。但是呢,直接证明是困难的,所以作者寻求一个对偶条件即下式:
\[
\|\rho + \Delta\|_1 > \|\rho\|_1 + (Y, \Delta),\Delta \neq 0
\]
关于某个\(Y\)成立,而且\(Y\)必须与超平面\(A\)垂直。这个\(Y\)能否找到,就是\(\rho\)能否恢复的关键。
Recovering Low-Rank Matrices From Few Coefficients In Any Basis的更多相关文章
- Generalized Low Rank Approximation of Matrices
Generalized Low Rank Approximations of Matrices JIEPING YE*jieping@cs.umn.edu Department of Computer ...
- 吴恩达机器学习笔记59-向量化:低秩矩阵分解与均值归一化(Vectorization: Low Rank Matrix Factorization & Mean Normalization)
一.向量化:低秩矩阵分解 之前我们介绍了协同过滤算法,本节介绍该算法的向量化实现,以及说说有关该算法可以做的其他事情. 举例:1.当给出一件产品时,你能否找到与之相关的其它产品.2.一位用户最近看上一 ...
- Sparse Principal Component Analysis via Regularized Low Rank Matrix Approximation(Adjusted Variance)
目录 前言 文章概述 固定\(\widetilde{\mathrm{v}}\) 固定\(\widetilde{\mathrm{u}}\) Adjusted Variance 前言 这篇文章用的也是交替 ...
- 推荐系统(recommender systems):预测电影评分--构造推荐系统的一种方法:低秩矩阵分解(low rank matrix factorization)
如上图中的predicted ratings矩阵可以分解成X与ΘT的乘积,这个叫做低秩矩阵分解. 我们先学习出product的特征参数向量,在实际应用中这些学习出来的参数向量可能比较难以理解,也很难可 ...
- 矩阵分解(rank decomposition)文章代码汇总
矩阵分解(rank decomposition)文章代码汇总 矩阵分解(rank decomposition) 本文收集了现有矩阵分解的几乎所有算法和应用,原文链接:https://sites.goo ...
- {ICIP2014}{收录论文列表}
This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...
- ECCV 2014 Results (16 Jun, 2014) 结果已出
Accepted Papers Title Primary Subject Area ID 3D computer vision 93 UPnP: An optimal O(n) soluti ...
- CVPR 2017 Paper list
CVPR2017 paper list Machine Learning 1 Spotlight 1-1A Exclusivity-Consistency Regularized Multi-View ...
- <<Numerical Analysis>>笔记
2ed, by Timothy Sauer DEFINITION 1.3A solution is correct within p decimal places if the error is l ...
随机推荐
- java虚拟机内存区域
java虚拟机运行时数据 程序计数器 是一块较小的内存空间,属于线程私有的内存. 用来记录正在执行的虚拟机字节码指令的地址. 每个线程都需要一个独立的程序计数器,各个线程间的计数器互不影响,独立存储. ...
- 图解 -- Win10 OpenSSH
一.安装OpenSSH 客户端 .OpenSSH 服务器 设置 -> 管理可选功能 -> 添加功能 -> [OpenSSH 客户端] [OpenSSH 服务器] 1.设置 2. ...
- .NET Core微服务之基于Exceptionless实现分布式日志记录
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.Exceptionless极简介绍 Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,AS ...
- 《HelloGitHub》第 30 期
公告 截止到第 30 期,贡献者 终于到达 3 位数-- 100 位.谢谢各位的支持和贡献,想要加入的小伙伴,快来推荐项目吧! <HelloGitHub>第 30 期 兴趣是最好的老师,H ...
- springboot~mybatis里localdatetime序列化问题
问题起因 主要是使用mybatis作为ORM之后,返回的对象为Map,然后对于数据库的datetime,datestamp类型返回为时间戳而不是标准的时间,这个问题解决方案有两种,大叔分析一下: 在m ...
- 基于Azkaban的任务定时调度实践
本文由云+社区发表 作者:maxluo 一.Azkaban介绍 Azkaban是LinkedIn开源的任务调度框架,类似于JavaEE中的JBPM和Activiti工作流框架. Azkaban功能和特 ...
- InheritableThreadLocal类原理简介使用 父子线程传递数据详解 多线程中篇(十八)
上一篇文章中对ThreadLocal进行了详尽的介绍,另外还有一个类: InheritableThreadLocal 他是ThreadLocal的子类,那么这个类又有什么作用呢? 测试代码 p ...
- Cookie浅析
Cookie 翻阅了好久关于Cookie的博客及文档,感觉一直有一块结没有解开,所以一直难以在脑中形成一个顺畅的知识脉络.最后实在是遭不住,拉上我的大神朋友在食堂里坐了3个小时,问了个底朝天!总算形 ...
- 【憩园】C#并发编程之异步编程(三)
写在前面 本篇是异步编程系列的第三篇,本来计划第三篇的内容是介绍异步编程中常用的几个方法,但是前两篇写出来后,身边的朋友总是会有其他问题,所以决定再续写一篇,作为异步编程(一)和异步编程(二)的补 ...
- 数据分析之matplotlib.pyplot模块
首先都得导模块. import numpy as np import pandas as pd import matplotlib.pyplot as plt from pandas import S ...