Streaming Principal Component Analysis in Noisy Settings
论文背景:
- 面对来袭的数据,连续样本不一定是不相关的,甚至不是同分布的。
- 当前,大部分在线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)
- 将非凸条件放松为凸条件:
\(C =\lbrace P: Tr(P):=k, 0\preceq P \preceq I, P = P^{\top} \rbrace\) - \(P^{t+1} = \prod_F(P^{t} + \eta g_t^{\top})\) Here
- 学习后的\(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
梯度被污染的原因:
- 对于大数据不正确的运算
- 分布式和并行运算中,异步和噪声通讯导致的误差
此时的学习单位步长为:
\(\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的更多相关文章
- Principal Component Analysis(PCA) algorithm summary
Principal Component Analysis(PCA) algorithm summary mean normalization(ensure every feature has sero ...
- Robust Principal Component Analysis?(PCP)
目录 引 一些微弱的假设: 问题的解决 理论 去随机 Dual Certificates(对偶保证?) Golfing Scheme 数值实验 代码 Candes E J, Li X, Ma Y, e ...
- Sparse Principal Component Analysis via Rotation and Truncation
目录 对以往一些SPCA算法复杂度的总结 Notation 论文概述 原始问题 问题的变种 算法 固定\(X\),计算\(R\) 固定\(R\),求解\(X\) (\(Z =VR^{\mathrm{T ...
- 《principal component analysis based cataract grading and classification》学习笔记
Abstract A cataract is lens opacification caused by protein denaturation which leads to a decrease i ...
- PCA(Principal Component Analysis)主成分分析
PCA的数学原理(非常值得阅读)!!!! PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可 ...
- Principal Component Analysis(PCA)
Principal Component Analysis(PCA) 概念 去中心化(零均值化): 将输入的特征减去特征的均值, 相当于特征进行了平移, \[x_j - \bar x_j\] 归一化(标 ...
- (4)主成分分析Principal Component Analysis——PCA
主成分分析Principal Component Analysis 降维除了便于计算,另一个作用就是便于可视化. 主成分分析-->降维--> 方差:描述样本整体分布的疏密,方差越大-> ...
- Principal Component Analysis ---- PRML读书笔记
To summarize, principal component analysis involves evaluating the mean x and the covariance matrix ...
- 从矩阵(matrix)角度讨论PCA(Principal Component Analysis 主成分分析)、SVD(Singular Value Decomposition 奇异值分解)相关原理
0. 引言 本文主要的目的在于讨论PAC降维和SVD特征提取原理,围绕这一主题,在文章的开头从涉及的相关矩阵原理切入,逐步深入讨论,希望能够学习这一领域问题的读者朋友有帮助. 这里推荐Mit的Gilb ...
随机推荐
- MyBatis笔记----报错:Exception in thread "main" org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)解决方法
报错 Exception in thread "main" org.apache.ibatis.binding.BindingException: Invalid bound st ...
- Android WebSocket开发
一,在模块build.gradle中添加webSocket的依赖包 //WebSocket 依赖包 implementation 'com.neovisionaries:nv-websocket-cl ...
- 5. svg学习笔记-坐标系变换
之前我们编写图形元素的时候,编写好了位置大小就是固定的,通过坐标系变换,可以移动缩放,旋转图形,但必须声明的是,进行变换时是图形相对于坐标系的变化,就是图形是不发生变化的,而是坐标系发生了变化,比如缩 ...
- VBR的部署
一.实验拓扑图 二.实验目标 通过部署Veeam Backup & replication,实现虚拟机的备份和还原. 三实验要求 1. 如图所示,开启实验环境.(请参考公众号以前的相关文档) ...
- Servlet(三):获取表单数据、解决乱码和报错问题
在了解了servlet的生命周期以及运行过程后,再来动手写一个小例子,加深对servlet的理解. 一.需求说明 在用户注册信息页面,输入用户名.密码.性别.邮箱等一些信息后,页面返回刚刚填写的信息. ...
- MATLAB简易画图2—普通直角坐标系
MATLAB简易画图2—普通直角坐标系 本人的MATLAB版本为: 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 继续在“MATLAB简易画图”这篇随 ...
- SpringCloud之初识Feign ----- 分布式负载自动拼接请求的URL
在前面的学习中,我们使用了Ribbon的负载均衡功能,大大简化了远程调用时的代码: String baseUrl = "http://user-service/user/"; Us ...
- 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(一)转载自码农网
CentOS 是一个工业标准的 Linux 发行版,是红帽企业版 Linux 的衍生版本.你安装完后马上就可以使用,但是为了更好地使用你的系统,你需要进行一些升级.安装新的软件包.配置特定服务和应用程 ...
- VGG网络
VGG论文给出了一个非常振奋人心的结论:卷积神经网络的深度增加和小卷积核的使用对网络的最终分类识别效果有很大的作用.记得在AlexNet论文中,也做了最后指出了网络深度的对最终的分类结果有很大的作用. ...
- Architecture of SQLite
Introduction This document describes the architecture of the SQLite library. The information here is ...