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的更多相关文章

  1. Generalized Low Rank Approximation of Matrices

    Generalized Low Rank Approximations of Matrices JIEPING YE*jieping@cs.umn.edu Department of Computer ...

  2. Sparse Principal Component Analysis via Regularized Low Rank Matrix Approximation(Adjusted Variance)

    目录 前言 文章概述 固定\(\widetilde{\mathrm{v}}\) 固定\(\widetilde{\mathrm{u}}\) Adjusted Variance 前言 这篇文章用的也是交替 ...

  3. 吴恩达机器学习笔记59-向量化:低秩矩阵分解与均值归一化(Vectorization: Low Rank Matrix Factorization & Mean Normalization)

    一.向量化:低秩矩阵分解 之前我们介绍了协同过滤算法,本节介绍该算法的向量化实现,以及说说有关该算法可以做的其他事情. 举例:1.当给出一件产品时,你能否找到与之相关的其它产品.2.一位用户最近看上一 ...

  4. 推荐系统(recommender systems):预测电影评分--构造推荐系统的一种方法:低秩矩阵分解(low rank matrix factorization)

    如上图中的predicted ratings矩阵可以分解成X与ΘT的乘积,这个叫做低秩矩阵分解. 我们先学习出product的特征参数向量,在实际应用中这些学习出来的参数向量可能比较难以理解,也很难可 ...

  5. <<Numerical Analysis>>笔记

    2ed,  by Timothy Sauer DEFINITION 1.3A solution is correct within p decimal places if the error is l ...

  6. <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 ...

  7. cvpr2015papers

    @http://www-cs-faculty.stanford.edu/people/karpathy/cvpr2015papers/ CVPR 2015 papers (in nicer forma ...

  8. Official Program for CVPR 2015

    From:  http://www.pamitc.org/cvpr15/program.php Official Program for CVPR 2015 Monday, June 8 8:30am ...

  9. CVPR 2015 papers

    CVPR2015 Papers震撼来袭! CVPR 2015的文章可以下载了,如果链接无法下载,可以在Google上通过搜索paper名字下载(友情提示:可以使用filetype:pdf命令). Go ...

随机推荐

  1. mybatis入门系列二之输入与输出参数

    mybatis入门系列二之详解输入与输出参数   基础知识   mybatis规定mapp.xml中每一个SQL语句形式上只能有一个@parameterType和一个@resultType 1. 返回 ...

  2. 每日分享!~ 使用js原生方式对拖拉元素(鼠标的事件)

    一个元素放置页面上.如何进行拖拉,实现想放哪里就放哪里的效果呢? 效果如下: 如果让你写这个效果,你会如何写呢? --- 思路分析:我首先想到的是,对这个元素先绑定一个事件.(什么事件? 那当然是鼠标 ...

  3. 第一周 IP通信基础学习回顾

    这周的课程首先让我们学习了计算机网络概述,了解计算机网络的定义和功能分别是:资源共享,信息传输与集中处理,负载均衡与分布处理,综合信息服务.同时也对计算机网络的演进,计算机网络的分类,计算机网络的性能 ...

  4. 从零开始学习PYTHON3讲义(十一)计算器升级啦

    (内容需要,本讲中再次使用了大量在线公式,如果因为转帖网站不支持公式无法显示的情况,欢迎访问原始博客.) <从零开始PYTHON3>第十一讲 第二讲的时候,我们通过Python的交互模式来 ...

  5. Ubuntu|ython3 :ImportError: cannot import name 'main'

    1.问题 root@stephen-K55VD:/usr/bin# pip3 Traceback (most recent call last): File "/usr/bin/pip3&q ...

  6. PyCharm:选择性忽略 PEP8 警告

    PyCharm 是个很强大的 python IDE,PEP 8 的告警提示也很好用,但是函数名不能包含大写字母等少数几个规范真心觉得不好,作为一名处女座强迫症患者,代码下面的波浪线这种东西是绝对不允许 ...

  7. JCE安装使用报错

    "description":"No key was installed for encryption service","status":& ...

  8. 将配置文件appsetting中的值转换为动态对象调用

    该文可参考我的另一篇关联文章:   https://www.cnblogs.com/lxhbky/p/6957825.html 配置如下: <!--邀请用户送优惠券规则{邀请人规则:[{邀请人: ...

  9. int-Integer-String之间的转换方式

    1.int和Integer之间的转换:   1) int----->Integer ①自动装箱 ②Integer的构造方法 ③调用Integer的静态方法:static Integer valu ...

  10. OO第二次博客作业——电梯调度

    OO第二次博客作业——电梯调度 前言 最近三周,OO课程进入多线程学习阶段,主要通过三次电梯调度作业来学习.从单部电梯的傻瓜式调度到有性能要求的调度到多部电梯的调度,难度逐渐提升,对同学们的要求逐渐变 ...