Streaming Principal Component Analysis in Noisy Settings

论文背景:

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

论文内容:
在这里插入图片描述

Section 2

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

  1. 将非凸条件放松为凸条件:
    C = { P : T r ( P ) : = k , 0 ⪯ P ⪯ I , P = P ⊤ } C =\lbrace P: Tr(P):=k, 0\preceq P \preceq I, P = P^{\top} \rbrace C={P:Tr(P):=k,0PI,P=P}
  2. P t + 1 = ∏ F ( P t + η g t ⊤ ) P^{t+1} = \prod_F(P^{t} + \eta g_t^{\top}) Pt+1=F(Pt+ηgt) Here
  3. 学习后的 P P P,不一定满足原来的凸条件(投影), 故:
    P ^ t = r o u n d i n g ( P t ) \hat{P}^{t} = rounding(P^{t}) P^t=rounding(Pt)

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

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

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

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

给出了下列定理:
在这里插入图片描述

Stochastic Setting

被污染的原因:数据被污染,设噪声向量为 y t y_t yt,且与 x t x_t xt独立。(k=1)
g ^ t = ( x t + y t ) ( x t + y t ) ⊤ \hat{\mathrm{g}}_t = (x_t + y_t)(x_t + y_t)^{\top} g^t=(xt+yt)(xt+yt)
在这里插入图片描述
在这里插入图片描述

Section 4 Missing Entries

这一章,讲矩阵缺失数据的情形。
假设 x t x_t xt的每个元素将按照 q − B r t n o u l l i q-Brtnoulli qBrtnoulli分布被保留,否则缺失。
在这里插入图片描述

Online Setting

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

有下面的界:

在这里插入图片描述

Stochastic Setting

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

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

在这里插入图片描述

Section 5 Partial Observations

本节是讲观测偏差, x t x_t xt只有 r &lt; d r&lt;d r<d个元素被观测到。

下面是对步长的分析与构造,但是,我对 z z z的构造存疑,我觉得
z = d 2 − d r r − 1 x ~ i s e i s z = \sqrt{\frac{d^2-dr}{r-1}}\widetilde{x}_{i_s}e_{i_s} z=r1d2dr x iseis
在这里插入图片描述

Online Setting

g ^ t \hat{\mathrm{g}}_t g^t同上

有下面的界:
在这里插入图片描述

Stochastic Setting

有下面的界(k=1):

在这里插入图片描述

Section 6 Robust streaming PCA

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

新的regret:

R a b s ( T ) = ∑ t = 1 T ∥ x t − P t x t ∥ 2 − i n f P ∈ P k ∑ t = 1 T ∥ x t − P x t ∥ 2 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 Rabs(T)=t=1TxtPtxt2PPkinft=1TxtPxt2
for any sequence x 1 , … , x T ∈ R d x_1,\ldots,x_T \in \mathbb{R}^{d} x1,,xTRd.
新的:
g t = − x t x t ⊤ ( I − P ( t ) ) + ( I − P ( t ) ) x t x t ⊤ 2 ∥ ( I − P ( t ) ) x t ∥ 2 \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} gt=2(IP(t))xt2xtxt(IP(t))+(IP(t))xtxt
denote:
y t = ( I − P ( t ) ) x t y_t = (I-P^{(t)})x_t yt=(IP(t))xt and c t = η 2 ∥ y t ∥ 2 c_t = \frac{\eta}{2\|y_t\|_2} ct=2yt2η
P ( t + 1 ) = ∏ F ( P t + c t ( x t y t ⊤ + y t x t ⊤ ) ) P^(t+1) = \prod_F(P^{t} + c_t(x_ty_t^{\top}+y_tx_t^{\top})) P(t+1)=F(Pt+ct(xtyt+ytxt))

从而有下面定理:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值