论文背景:
- 面对来袭的数据,连续样本不一定是不相关的,甚至不是同分布的。
- 当前,大部分在线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,…,xt−1后,“构造”一个
k
−
k-
k−维的子空间,通常用投影矩阵
P
(
t
)
P^{(t)}
P(t)表示——为了最小化残差
∥
x
t
−
P
(
t
)
∥
2
\|x_t - P^{(t)}\|^2
∥xt−P(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=1∑Txt⊤Pxt−t=1∑Txt⊤P(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)
- 将非凸条件放松为凸条件:
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,0⪯P⪯I,P=P⊤} - 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
- 学习后的
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
∥xt∥≤1 almost surely.
最近已经有相关方面的论文指出,在
k
=
1
k=1
k=1的条件下,这个算法也可以到达次线性。
Section 3 corrupted gradients
在这一节,论文讲关于梯度被“污染”的情形。
Online Setting
梯度被污染的原因:
- 对于大数据不正确的运算
- 分布式和并行运算中,异步和噪声通讯导致的误差
此时的学习单位步长为:
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
q−Brtnoulli分布被保留,否则缺失。
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^t⊤−ztzt⊤
论文中为上式取负,但更新
P
P
P的时候又取负,所以我直接不变了。
有下面的界:
Stochastic Setting
在推导这个界的时候,似乎遇到了麻烦,新的迭代步长不能保证半正定,所以需要进行一个处理(因为证明都没看,所以不懂啊)。
给出了一个定理(k = 1):
Section 5 Partial Observations
本节是讲观测偏差, x t x_t xt只有 r < d r<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=r−1d2−drx
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=1∑T∥xt−Ptxt∥2−P∈Pkinft=1∑T∥xt−Pxt∥2
for any sequence
x
1
,
…
,
x
T
∈
R
d
x_1,\ldots,x_T \in \mathbb{R}^{d}
x1,…,xT∈Rd.
新的:
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∥(I−P(t))xt∥2xtxt⊤(I−P(t))+(I−P(t))xtxt⊤
denote:
y
t
=
(
I
−
P
(
t
)
)
x
t
y_t = (I-P^{(t)})x_t
yt=(I−P(t))xt and
c
t
=
η
2
∥
y
t
∥
2
c_t = \frac{\eta}{2\|y_t\|_2}
ct=2∥yt∥2η
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⊤))
从而有下面定理: