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 ...
随机推荐
- MapReduce ----倒排索引
分别建立三个文件: file1txt file2.txt file3.txt 文件内容分别是: MapReduce is simple 和 MapReduce is powerful is simpl ...
- C#-类(九)
类的定义 类是描述具有相同特征与行为的事物的抽象,类内部包含类的特征和类的行为 类支持继承 类的定义是关键字class为标志 类的格式 访问标识符 class 类名 { 类主体 } 访问标识符:指定了 ...
- SQL语句计算距离今天生日还差几天
转载于:http://www.w3dev.cn/article/20110125/sql-compute-birthdate-now-days.aspx SQL语句计算距离生日还差几天原理很简单,将要 ...
- sql server 计算两个时间 相差的 几天几时几分几秒
CAST ( CAST ( DATEDIFF ( ss, StartTime, ConcludeTime ) / ( 60 * 60 * 24 ) AS INT ) AS VARCHAR ) + '天 ...
- python3 requests + BeautifulSoup 爬取阳光网投诉贴详情实例代码
用到了requests.BeautifulSoup.urllib等,具体代码如下. # -*- coding: utf-8 -*- """ Created on Sat ...
- (转)Spring Boot (十九):使用 Spring Boot Actuator 监控应用
http://www.ityouknow.com/springboot/2018/02/06/spring-boot-actuator.html 微服务的特点决定了功能模块的部署是分布式的,大部分功能 ...
- [NOI2017]蔬菜
[NOI2017]蔬菜 题目描述 大意就是有\(n\)种物品,第\(i\)个物品有\(c_i\)个,单价是\(a_i\).然后每天你可以卖出最多\(m\)个物品.每天结束后第\(i\)种物品会减少\( ...
- https验证证书的三个级别
一.无条件信任证书 1. func urlSession(_ session: URLSession, didReceive challenge: URLAuthenticationChallenge ...
- Spring国际化模块
1.Spring3.1.0实现原理分析(二).国际化(i18n) https://blog.csdn.net/roberts939299/article/details/69666291
- 基于SpringBoot的项目管理后台
代码地址如下:http://www.demodashi.com/demo/13943.html 一.项目简介 在使用本项目之前,需要对SpringBoot,freemaker,layui,flyway ...