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. 免费申请使用IBM Cloud Lite(轻量套餐) 续

    之前尝试申请了IBM的轻量套餐,过程很简单,操作起来也比较方便,就是能够用到的地方不多,虽说几乎是无限流量且永久免费,我能做的也只是做个小网站 免费用户默认的是轻量应用服务,如果需要功能更多更全的应用 ...

  2. mac-os安装autojump

    一 概念 autojump是一个命令行工具,它可以使用快捷命令,直接跳转到配置好的目录,而不用管现在身在何处,依赖zsh. 一 安装 安装zsh:sh -c "$(curl -fsSL ht ...

  3. js判断参数是否为非数字

    isNaN() 函数用于检查其参数是否是非数字值.

  4. Python基础(zip方法)

    zip函数: 描述:将zip函数中的两个可迭代对象参数按对应索引值进行匹配组合,得到zip对象.(拉链式函数) zip函数简单应用如下: #-----------------zip函数-------- ...

  5. 在linux(centos)系统安装redis教程

    最近在切换服务器操作系统,简单记录一下 一.安装redis 1.检查是否有redis yum 源 yum install redis 2.下载fedora的epel仓库 yum install epe ...

  6. 【朝花夕拾】Android性能篇之(八)ANR篇--草稿

    1.ANR概念 2.ANR发生场景 Android开发者官网 上说到了两个原因:(1)点击按键或者触摸屏幕等输入事件在5s内没有响应:(2)10s内没有完成广播事件.如下所示: Android wil ...

  7. Java基础之 反射是什么?

    什么是反射,反射能干嘛? 反射是:指程序可以访问.检测和修改它本身状态或行为的一种能力 反射是一种能力,所以给的定义就是说明了它能干嘛. 我们平时用反射主要做: 获取类型的相关信息 动态调用方法 动态 ...

  8. select标签 禁止选择但又能通过序列化form表单传值到后台

    前言 项目开发中,我们可能会碰到这样的需求:select标签,禁止选择但又能通过序列化form表单传值到后台,但是当我们使用disabled="disabled"时发现,无法序列化 ...

  9. 2018/1.6 Javascript 继承和克隆

    这种写法不是对象克隆,就是把obj的内存地址赋给obj2 通过 for in 克隆 不管公有还是私有的都克隆成私有的. js提供了一个克隆方法 objct.create() var obj2=obje ...

  10. 禁用了传说中的PHP危险函数之后,Laravel的定时任务不能执行了?

    虽然已是 2018 年,但网上依然流传着一些「高危 PHP 函数,请一定要禁用!」的标题党文章(搜索关键字:一些需要禁用的PHP危险函数). 这些文章的内容简单直接,给出 php.ini 的 disa ...