论文背景:

  • 面对来袭的数据,连续样本不一定是不相关的,甚至不是同分布的。
  • 当前,大部分在线PCA都只关注准确性,而忽视时效性!
  • 噪声?数据缺失,观测有偏,重大异常?

论文内容:

Section 2

Online Settings
Online PCA, 就是在观察到\(x1, x2, x3, \dots, x_{t-1}\)后,“构造”一个\(k-\)维的子空间,通常用投影矩阵\(P^{(t)}\)表示——为了最小化残差\(\|x_t - P^{(t)}\|^2\)
这篇论文重点在于界的分析,考虑下面的“遗憾”(大概就是误差的意思):
\(R(T,P) = \mathop{\sum}\limits_{t=1}^{T}x_t^{\top}Px_t-\mathop{\sum}\limits_{t=1}^{T}x_t^{\top}P^{(t)}x_t\)
其中P为任意的rank-k的正交投影矩阵,T为迭代次数。
\(R(T,P)\)的界是次线性的,所以,我们可以通过\(\frac{1}{T}R(T,P)\)来计算算法到达\(\varepsilon-\)界所需的时间,从而衡量算法的优劣。
Matrix gradient descent (MGD)

  1. 将非凸条件放松为凸条件:
    \(C =\lbrace P: Tr(P):=k, 0\preceq P \preceq I, P = P^{\top} \rbrace\)
  2. \(P^{t+1} = \prod_F(P^{t} + \eta g_t^{\top})\) Here
  3. 学习后的\(P\),不一定满足原来的凸条件(投影), 故:
    \(\hat{P}^{t} = rounding(P^{t})\)

对于这个算法并不了解,姑且只能这么想了。点这里
下面是关于(遗憾)的一个界:

Stochastic Settings
在某些情况下,MGD算法复杂度比较高,所以,在额外的假设下,利用Oja的另外一种算法可能会比较有优势。
The additional assumption that \(x_t\) are sampled i.i.d. from some unknown distribution \(D\) and that \(\|x_t\|\leq1\) almost surely.
最近已经有相关方面的论文指出,在\(k=1\)的条件下,这个算法也可以到达次线性。

Section 3 corrupted gradients
在这一节,论文讲关于梯度被“污染”的情形。
Online Setting
梯度被污染的原因:

  1. 对于大数据不正确的运算
  2. 分布式和并行运算中,异步和噪声通讯导致的误差
    此时的学习单位步长为:
    \(\hat{\mathrm{g}}_t = x_tx_t^{\top}+E_t\)

给出了下列定理:

Stochastic Setting

被污染的原因:数据被污染,设噪声向量为\(y_t\),且与\(x_t\)独立。(k=1)
\(\hat{\mathrm{g}}_t = (x_t + y_t)(x_t + y_t)^{\top}\)

Section 4 Missing Entries

这一章,讲矩阵缺失数据的情形。
假设\(x_t\)的每个元素将按照\(q-Brtnoulli\)分布被保留,否则缺失。

Online Setting

此时,学习步长又变为:
\(\hat{\mathrm{g}}_t := \hat{x}_t\hat{x}_t^{\top} - z_tz_t^{\top}\)
论文中为上式取负,但更新\(P\)的时候又取负,所以我直接不变了。

有下面的界:

Stochastic Setting

在推导这个界的时候,似乎遇到了麻烦,新的迭代步长不能保证半正定,所以需要进行一个处理(因为证明都没看,所以不懂啊)。

给出了一个定理(k = 1):

Section 5 Partial Observations

本节是讲观测偏差,\(x_t\)只有\(r<d\)个元素被观测到。

下面是对步长的分析与构造,但是,我对\(z\)的构造存疑,我觉得
\(z = \sqrt{\frac{d^2-dr}{r-1}}\widetilde{x}_{i_s}e_{i_s}\)

Online Setting

\(\hat{\mathrm{g}}_t\)同上

有下面的界:

Stochastic Setting

有下面的界(k=1):

Section 6 Robust streaming PCA

针对异常值,探讨如何使得算法变得“健壮”。

新的regret:

\(R_{abs}(T) = \mathop{\sum}\limits_{t=1}^{T}\|x_t-P^{t}x_t\|_2-\mathop{inf}\limits_{P\in P_k} \mathop{\sum}\limits_{t=1}^{T}\|x_t-Px_t\|_2\)
for any sequence \(x_1,\ldots,x_T \in \mathbb{R}^{d}\).
新的:
\(\mathrm{g}_t=-\frac{x_tx_t^{\top}(I-P^{(t)}) + (I-P^{(t)})x_tx_t^{\top}}{2\|(I-P^{(t)})x_t\|_2}\)
denote:
\(y_t = (I-P^{(t)})x_t\) and \(c_t = \frac{\eta}{2\|y_t\|_2}\)
\(P^(t+1) = \prod_F(P^{t} + c_t(x_ty_t^{\top}+y_tx_t^{\top}))\)

从而有下面定理:

Streaming Principal Component Analysis in Noisy Settings的更多相关文章

  1. Principal Component Analysis(PCA) algorithm summary

    Principal Component Analysis(PCA) algorithm summary mean normalization(ensure every feature has sero ...

  2. Robust Principal Component Analysis?(PCP)

    目录 引 一些微弱的假设: 问题的解决 理论 去随机 Dual Certificates(对偶保证?) Golfing Scheme 数值实验 代码 Candes E J, Li X, Ma Y, e ...

  3. Sparse Principal Component Analysis via Rotation and Truncation

    目录 对以往一些SPCA算法复杂度的总结 Notation 论文概述 原始问题 问题的变种 算法 固定\(X\),计算\(R\) 固定\(R\),求解\(X\) (\(Z =VR^{\mathrm{T ...

  4. 《principal component analysis based cataract grading and classification》学习笔记

    Abstract A cataract is lens opacification caused by protein denaturation which leads to a decrease i ...

  5. PCA(Principal Component Analysis)主成分分析

    PCA的数学原理(非常值得阅读)!!!!   PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可 ...

  6. Principal Component Analysis(PCA)

    Principal Component Analysis(PCA) 概念 去中心化(零均值化): 将输入的特征减去特征的均值, 相当于特征进行了平移, \[x_j - \bar x_j\] 归一化(标 ...

  7. (4)主成分分析Principal Component Analysis——PCA

    主成分分析Principal Component Analysis 降维除了便于计算,另一个作用就是便于可视化. 主成分分析-->降维--> 方差:描述样本整体分布的疏密,方差越大-> ...

  8. Principal Component Analysis ---- PRML读书笔记

    To summarize, principal component analysis involves evaluating the mean x and the covariance matrix ...

  9. 从矩阵(matrix)角度讨论PCA(Principal Component Analysis 主成分分析)、SVD(Singular Value Decomposition 奇异值分解)相关原理

    0. 引言 本文主要的目的在于讨论PAC降维和SVD特征提取原理,围绕这一主题,在文章的开头从涉及的相关矩阵原理切入,逐步深入讨论,希望能够学习这一领域问题的读者朋友有帮助. 这里推荐Mit的Gilb ...

随机推荐

  1. [20181116]18c DML 日志优化.txt

    [20181116]18c DML 日志优化.txt 1.环境:xxxxxxxx> select banner_full from v$version;BANNER_FULL---------- ...

  2. Mysql的NULL和Empty String

    本文基于Mysql5.7版本的参考资料: https://dev.mysql.com/doc/refman/5.7/en/working-with-null.html https://dev.mysq ...

  3. 转:EditPuls 5.0 注册码

    EditPlus5.0注册码 注册名 Vovan 注册码 3AG46-JJ48E-CEACC-8E6EW-ECUAW EditPlus3.x注册码 EditPlus注册码生成器链接 http://ww ...

  4. 本博客停止更新改用wordperss

    http://www.azurew.com/ 还是能有自己的博客比较爽 哈哈哈

  5. AndroidStudio2.2.x以上使用cMake编译调用底层c生成依赖库

    最近使用AndroidStudio的最新ndk编译方式cMake来编译底层cpp文件,由于之前没有接触过cMake语法,先附上官方学习文档地址:https://developer.android.co ...

  6. 【PAT】B1007 素数对猜想

    素数筛筛出规定范围内的所有素数存入数组 遍历数组,如果满足于后边的差2,计数器加加 #include <cstdio> const int maxn = 10000001; int pri ...

  7. java 开发注意事项

    开发过程中的一些经验总结,不定时更新 1, 在开发接口的时候,尽量一个接口一个功能,不要多个功能共用一个接口,以免后期需求更改时修改接口困难, 使逻辑复杂

  8. 汲取营养的blog专栏

    网路上博客专栏是学习提升.思考深化的好途径,目前发现的博客价值高的平台: (1)EETOP www.eetop.cn (2)CSND www.csdn.net (3)cnblog www.cnblog ...

  9. 转 CSS3+js实现多彩炫酷旋转圆环时钟效果

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  10. html 初识

    一.web请求流程模拟 python编写的简易服务器应用程序 import socket server=socket.socket() ip_port =('127.0.0.1',8080) serv ...