FAST LOW-RANK APPROXIMATION FOR COVARIANCE MATRICES
Belabbas M A, Wolfe P J. Fast Low-Rank Approximation for Covariance Matrices[C]. IEEE International Workshop on Computational Advances in Multi-Sensor Adaptive Processing, 2007: 293-296.
Nystorm method
和在WIKI看到的不是同一个东西?
假设\(G \in \mathbb{R}^{n \times n}\)为对称正定矩阵。
\[
G =
\left [ \begin{array}{ll}
A & B^T \\
B & C
\end{array} \right ]
\]
其中\(A \in \mathbb{R}^{k \times k}, k<n\)。
假设\(G = U \Lambda U^T\),\(A = U_A \Lambda_A U_A^T\),令
\[
\widetilde{U} =
\left [ \begin{array}{c}
U_A \\
BU_A \Lambda_A^{-1}
\end{array} \right ]
\]
则:
\[
\widetilde{G} := \widetilde{U} \Lambda_A \widetilde{U}^T =
\left [ \begin{array}{ll}
A & B^T \\
B & BA^{-1}B^T
\end{array} \right ]
\]
易得:
\[
\|G - \widetilde{G}\| = \|C-BA^{-1}B^T\|
\]
再玩一下,令:
\[
G =
\left [ \begin{array}{lll}
A_1 & A_2^T & A_3^T \\
A_2 & M & B^T \\
A_3 & B & C
\end{array} \right ]
\]
且\(M = U_M \Lambda_M U_M^T\).
再令
\[
\widetilde{U} :=
\left [ \begin{array}{c}
A_2^TU_M \Lambda_M^{-1} \\
U_M \\
B U_M \Lambda_M^{-1}
\end{array} \right ]
\]
则:
\[
\widetilde{G} := \widetilde{U} \Lambda_M \widetilde{U}^T =
\left [ \begin{array}{ccc}
A_2^T M^{-1} A_2 & A_2^T & A_2^T M^{-1} B^T \\
A_2 & M & B^T \\
BM^{-1}A_2 & B & BM^{-1} B^T
\end{array} \right ]
\]
这个阵型还蛮酷的。
低秩逼近
先来介绍一个性质:\(F(F^TF)^{-1/2}\)列正交(当然\(F^TF\)得可逆)。
\[
(F(F^TF)^{-1/2})^TF(F^TF)^{-1/2} = (F^TF)^{-1/2}F^TF(F^TF)^{-1/2} = I
\]
实际上,如果\(F^TF = V\Lambda V^T\),那么\(FV_k \Lambda_k^{-1/2}\)列正交。
所以,我们可以让\(F\)的列为\(G\)中某些列的组合,再让\(P_k := FV_k \Lambda_k^{-1/2}\),最后:
\[
\widetilde{G}_k := P_kP_k^TGP_kP_k^T
\]
来作为\(G\)的一个近似。

矩阵乘法的逼近
如果我们能够令\(\|GG^T-FF^T\|\)尽可能小,那么\(P_kP_k^TG\)就越有可能成为一个好的逼近,这需要利用矩阵乘法的逼近。
对于矩阵\(A \in \mathbb{R}^{m \times n}\)和\(B \in \mathbb{R}^{n \times p}\),得:
\[
AB = \sum_{i=1}^n A_iB^i
\]
其中\(A_i\)为\(A\)的第i列,\(B^i\)为\(B\)的第i行。
论文举了一个例子:
如果\(n=2\),且\(A_2 = \sqrt{\alpha} A_1\),\(B=A^T\),
那么\(AB = (1+\alpha)A_1A_1^T\)。这意味着,我们只需通过\(A\)的第一列就能恢复\(AB\)。
所以接下来的问题是:
- 如何选择行或者列
- 如何调整它们的大小(乘个系数)
作者说,有一个神谕说列和行应该为\(S \subset \{1, \ldots, n\}\),不失一般性,假设其为\(S = \{1, \ldots, k\}\)。下面的定理给出了权重的选择:


所以我们要挑选\(S\),使得\(Z\)的对角线元素尽可能小,这意味着,我们要挑选这样的\(S\),使得\(<A_i, A_i><B^i, B^i>\)最大。
于是有了下面的俩个算法,分别针对矩阵乘法和矩阵逼近的:


FAST LOW-RANK APPROXIMATION FOR COVARIANCE MATRICES的更多相关文章
- Generalized Low Rank Approximation of Matrices
Generalized Low Rank Approximations of Matrices JIEPING YE*jieping@cs.umn.edu Department of Computer ...
- Sparse Principal Component Analysis via Regularized Low Rank Matrix Approximation(Adjusted Variance)
目录 前言 文章概述 固定\(\widetilde{\mathrm{v}}\) 固定\(\widetilde{\mathrm{u}}\) Adjusted Variance 前言 这篇文章用的也是交替 ...
- 吴恩达机器学习笔记59-向量化:低秩矩阵分解与均值归一化(Vectorization: Low Rank Matrix Factorization & Mean Normalization)
一.向量化:低秩矩阵分解 之前我们介绍了协同过滤算法,本节介绍该算法的向量化实现,以及说说有关该算法可以做的其他事情. 举例:1.当给出一件产品时,你能否找到与之相关的其它产品.2.一位用户最近看上一 ...
- 推荐系统(recommender systems):预测电影评分--构造推荐系统的一种方法:低秩矩阵分解(low rank matrix factorization)
如上图中的predicted ratings矩阵可以分解成X与ΘT的乘积,这个叫做低秩矩阵分解. 我们先学习出product的特征参数向量,在实际应用中这些学习出来的参数向量可能比较难以理解,也很难可 ...
- <<Numerical Analysis>>笔记
2ed, by Timothy Sauer DEFINITION 1.3A solution is correct within p decimal places if the error is l ...
- <Numerical Analysis>(by Timothy Sauer) Notes
2ed, by Timothy Sauer DEFINITION 1.3A solution is correct within p decimal places if the error is l ...
- cvpr2015papers
@http://www-cs-faculty.stanford.edu/people/karpathy/cvpr2015papers/ CVPR 2015 papers (in nicer forma ...
- Official Program for CVPR 2015
From: http://www.pamitc.org/cvpr15/program.php Official Program for CVPR 2015 Monday, June 8 8:30am ...
- CVPR 2015 papers
CVPR2015 Papers震撼来袭! CVPR 2015的文章可以下载了,如果链接无法下载,可以在Google上通过搜索paper名字下载(友情提示:可以使用filetype:pdf命令). Go ...
随机推荐
- 2. CMake 系列 - 编译多文件项目
目录 1. 编译不使用第三方库的项目 1.1 项目目录结构 1.2 相关代码 1.3 编译 2. 编译使用第三方库的项目 2.1 项目目录结构 2.2 相关代码 2.3 编译 1. 编译不使用第三方库 ...
- 【朝花夕拾】四大组件之(一)Broadcast篇
前言 笔者最近在探究ANR及源码的过程中,发现对Broadcast的一些应用层面上的知识有的感觉比较生疏,有的记忆不准确,有的认识不完整.所谓“基础不牢,地动山摇”,于是就梳理了一下Broadcast ...
- Navicat 导出sql问题
楼主最近碰到一个问题: 使用Navicat建立数据模型的时候使用导出sql功能导出的sql脚本放在sqlserver中执行失败,表创建成功了,但是我在Navicat中写的表注释和字段注释都没有成功, ...
- 简简单单的Vue4(vue-cie@3.x,vue’Debug[调试],vue‘sHttp)
既然选择了远方,便只顾风雨兼程! __HANS许 系列:零基础搭建前后端分离项目 系列:零基础搭建前后端分离项目 vue-cli@3.x 创建项目 Vue的Debug(调试) Vue的Http请求 提 ...
- 修改phpcms中的评论样式
phpcms中自带的评论插件很好用!但是样式个人感觉丑的狠,百度一下也没能找到解决方式,也许是自己的搜索方式不对,于是自己就研究了研究,这里可以使用两种方法进行修改 方法一: 使用PHPCMS中的ge ...
- NLog组件
接触.net项目的同志们都清楚,最初在项目中记录日志常用的是log4net日志组件,随着.net框架的不对优化升级,最近新流行的日志框架nlog,下面我就对nlog组件说说自己的认知: 下载 通过Nu ...
- 【JS】深拷贝与浅拷贝的区别,实现深拷贝的几种方法
1 借用JSON对象的parse和stringify function deepClone(obj){ let _obj = JSON.stringify(obj), objClone = JSON. ...
- 1.2 Cesium渲染流程
“从前有座山,山里有座庙,庙里有个......”我们喜欢这样讲故事,有头有尾巴.Cesium实时刷新,就是说每一帧都在更新,(但这也是一般状态下,如果场景完全静悄悄也可请求渲染模式,这时就不是每一帧都 ...
- Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll
Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll 在使用Anaconda创建一个虚拟环境出来,然后安装了scikit-learn.nump ...
- Android项目实战(五十二):控制EditText输入内容大小写转换
今日需求,EditText内容为一串字符串,要求将用户软键盘输入的小写字母在输入的时候自动转为大写字母,反之亦然. 效果如下: 第一次做该需求,原先想法: EditText.addTextChange ...