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 ...
随机推荐
- JS定义函数的2种方式以及区别简述(为什么推荐第二种方式)
无意中看到了阮一峰大神多年前的一篇博客: 12种不宜使用的Javascript语法 看到第9条的时候受到了启发,感觉之前没怎么理解清楚的一些问题好像突然就清晰了,如下图 可能光这样看,有些小伙 ...
- dataframe行变换为列
新建一个 dataFrame : val conf = new SparkConf().setAppName("TTyb").setMaster("local" ...
- python2到python3代码转化:2to3
Mac系统上: 安装完python3后,2to3可以作为指令直接执行,-w代表"Write back modified files","."代表当前整个文件夹, ...
- ASP.NET Core WebApi中使用FluentValidation验证数据模型
原文链接:Common features in ASP.NET Core 2.1 WebApi: Validation 作者:Anthony Giretti 译者:Lamond Lu 介绍 验证用户输 ...
- Java 集合详解
一.集合的由来 通常,我们的程序需要根据程序运行时才知道创建多少个对象.但若非程序运行,程序开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不知道它的准确类型.为了满足这些常规的编程需要,我们要 ...
- SQL优化 MySQL版 - 多表优化及细节详讲
多表优化及细节详讲 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 注:本文章需要MySQL数据库优化基础或观看前几篇文章,传送门: B树索引详讲(初识SQL优化,认识索引):htt ...
- SpringBoot + Spring Security 学习笔记(一)自定义基本使用及个性化登录配置
官方文档参考,5.1.2 中文参考文档,4.1 中文参考文档,4.1 官方文档中文翻译与源码解读 SpringSecurity 核心功能: 认证(你是谁) 授权(你能干什么) 攻击防护(防止伪造身份) ...
- Linux framebuffer测试程序
Linux framebuffer的框架非常简单, 对于应用程序就是操作一块内存(俗称帧缓存), 当然也有可能是双缓存, 一般用于高帧率场景, 一块帧在填充数据时, 另一块在显示, 接着对调过来, 那 ...
- GoLang simple-project-demo-03
变量的定义 package main import "fmt" func main() { var a = "initial" fmt.Println(a) v ...
- Yii2设计模式——简单工厂模式
除了使用 new 操作符之外,还有更多的制造对象的方法.你将了解到实例化这个活动不应该总是公开进行,也会认识到初始化经常造成"耦合"问题. 应用举例 yii\db\mysql\Sc ...