Transcript ppt

• Robust PCA 简介和解决算
法
周宗伟
PCA
• 在一些实际应用中,给定的数据M往往都是低秩的或者是近似
低秩的,为了恢复矩阵的低秩结构,我们将矩阵M分解为两个
矩阵的和:
•
M=L+N
•
其中L是低秩矩阵,N是一个小的干扰矩阵。
• 传统的PCA就是在2范数上寻找最优的低秩矩阵L,即下面的最
优化问题:
•
min
||M-L|| ,
•
s.t.
rank(L) ≦k,
•
M=L+N。
• 当噪声干扰矩阵N中元素都很小且各自相互独立的服从高斯分
布时,上述问题能够通过求解矩阵的奇异值得到理想的结果。
• 但是,如果N不能够满足上述条件时,如何恢复低秩结构呢?
??
Robust PCA
 在实际应用,比如图像处理、网络数据分析、生物信息学,中,
经常会由于采样、环境或者传感器的多种原因导致获得的数据与
真实数据有很大出入。
 而传统的PCA在处理大误差是很脆弱,不具有鲁棒性,甚至仅
仅因为一个元素的测量错误就会导致PCA得到的L与真实L相差很
大。
 所以,近些年来许多PCA的鲁棒方法被提出。
•
Robust PCA:
min (rank(L),||S||0)
•
s.t. M=L+S
(1)
• 上述双目标最优化问题中,L是低秩矩阵,S是稀疏的大 噪声矩
阵。
• 转化为 单目标优化问题。
•
min rank(L)+λ‖S‖0, s.t. M=L+S
(2)
Robust PCA 的松弛表达(1)
•
(2)式给出的优化问题是一个NP问题,于是我们需要对该
问题进行凸松弛。
• 矩阵的核范数是矩阵秩的包络,矩阵的0范数与矩阵的1范
数在一定条件下是等价的。于是,(2)中优化问题松弛到如
下的凸优化问题:
•
min ‖L‖*+λ‖S‖1 ,
•
s.t. M=L+S.
(3)
• 对问题进行凸松弛之后是否能够准确的恢复出低秩矩阵L
呢? 低秩矩阵L的秩是多低呢?稀疏矩阵S的元素分布是否
由要求呢?
Robust PCA 的松弛表达(2)
很显然,并不是所有的M=L+S都能够通过求解(3)中的
凸优化问题得到合适的解。比如,M=ee‘,
(e=[a,0,…,0]’)那么M就是一个低秩又稀疏的矩阵,无论如
何我们都不可能恢复出矩阵L和S。因此,从实用性方面,
我们要对L和S做出一些假设。比如L是非稀疏矩阵。
• 定义1:如果一个矩阵A的左奇异矩阵和右奇异矩阵中的列
向量都是相互正交的,且是独立同分布的,r=rank(A),那么
我们称A服从秩为r的随机正交模型分布。
• 定义2: 如果对于一个误差矩阵S而言,S的每个元素的符
号独立服从伯努利分布的,即每个元素为0的概率为1-ρs,
为正和负的概率均为ρs/2,那么我们称S服从参数为ρs的伯
努利符号分布模型。
•
Robust PCA 的松弛表达(3)
•
•
•
结论1:对于任意p>0,存在一组常数(C*>0,p*>0,m*)满足:
mm
m>m*时,
(L*, S *) R
随机
m
r C*
•
•
•
•
•
•
努
正交模型分布(
log(m)
 R mm
中L*服从秩为r的
) ;S*服从参数为p0≦p*的伯
利符号分布模型,
1
那么,通过求解
下式:
min L * 
S1
s.t. L  S  L * S *
m
1  Cm
p
获得唯一且精确的解(L*,S*)的概率高达
!
也就是说,服从随机正交模型分布的矩阵L*有极大地可能
通过求解(3)式中的凸优化问题而从服从伯努利符号分
布模型的误差矩阵中恢复出来。
Robust PCA 的松弛表达(4)
•
•
•
•
*
*
结论2:存在这样一组常数(m0  0,  r  0,  s  0, C  0)
模
A0  R
使矩阵
mm
r m
*
r
(m>m0)服从秩为r的随机正交分布
  [m]  [m],
型
,且令
对于点对(i, j )中i, j均是服从1 -  s的伯努利随机变量,
 s   s*,那么我们有至少1 - exp(Cm)的可能通过求解:
arg min A *
且最小解唯一。
s.t. A(i, j )  A0 (i, j ) , (i, j )  
Robust PCA松弛表达的求解—APG (1)
• 梯度算法
F ( x) : f ( x)  g ( x)
(3)
其中,f ( x)是满足 f ( x)  f ( y )  L x  y , ( x, y  R n )
的连续可微凸函数,g ( x)是连续不光滑的凸函数,
L是Lipschiz常数。
我们对(1)在xk 1点二次逼近:
L
QL ( x, xk 1 ) : f ( xk 1 )  x  xk 1 , f ( xk 1 )  x  xk 1
2
 xk  arg min QL ( x, xk 1 )
2
 g ( x)
x
L

 xk  arg min  x  xk 1 , f ( xk 1 )  x  xk 1
2


L
1

 arg min  g ( x)  x  ( x  f ( xk 1 ))
2
L
x


2
2

 g ( x)






Robust PCA松弛表达的求解—APG (2)
•
软阈值迭代算法
问题:

min F ( x)  Ax  b   x 1
x
2

迭代过程: xk 1  t ( xk  2tA ( Ax  b))
'
其中,
a ( x) i  (| xi | a )  sgn( xi )
 1

2
 min 
x  ( xk 1  t k f ( xk 1 ))   x 1 
x
 2t k

迭代过程为: xk  tk ( xk 1  t k f ( xk 1 )))
( 4)
Robust PCA松弛表达的求解—APG (3)
•
•
•
•
PG:proximal gradient.近端梯度算法
min ‖L‖*+λ‖S‖1 , s.t. M=L+S.
1
min u L *  u S 1  M  L  S
2
(5)
2
F
~ ~
对 M - L - S F 在点集( Lk , S k )处分别进行二次逼近,得到:
2
2

~ 1
2
 Lk 1  arg min u L *  L  ( Lk   L M  L  S F L~k ,S~k )
4

F

2
S  arg min u S  S  ( S~  1  M  L  S 2 ~ ~ )
k
S
1
F Lk , S k
 k 1
4
F

Robust PCA松弛表达的求解—APG (4)
•
•
~ 1 ~ ~
最优S的l 范数时,S k 1是由( S k  ( Lk  S k  M ))的软阈值计算的。
2
 x   , if x   ,
~ 1 ~ ~

  ( x)   x   , if x   ,  S k 1   u ( S k  ( Lk  S k  M ))
2
2
 0, otherwise,

1
~ 1 ~ ~
最优矩阵L的核范数时,Lk 1是由对( Lk  ( Lk  S k  M ))的奇异值矩阵进
2
~ 1 ~ ~
行软阈值处理得到的:令G  Lk  ( Lk  S k  M )
2
如果G  UV ' , 那么Lk 1  U u ()V '.
2
Robust PCA松弛表达的求解—APG (5)
•
具体算法:设D=A+E,A为低秩矩阵,E为大噪声稀疏矩阵
Robust PCA松弛表达的求解—APG (6)
• 算法收敛条件
~
~
 L
 k  Lk 1  S k 1  S k
 ~
~
- Lk  Lk 1 - S k 1  S k


•
•
F
F
 2 max(1, Lk 1
)


F
 2 max(1, Sk 1
F
) 
参数选择:
  10 ,   1
-7
m
, m  max( size( M ))
Robust PCA松弛表达的求解—APG (7)
Robust PCA松弛表达的求解—ALM (1)
• ALM:Augmented Lagrange Multiplier.增广拉格朗日乘数
法。
• ALM相对于APG的优势:
•
1.更高的精度、更少的迭代次数,在很多问题上更加的
稳定;
•
2.更重要的一点是:实验表明,ALM的迭代次数经常不
超过获得的最低秩矩阵的秩的大小,而APG算法不具有这
种现象。
Robust PCA松弛表达的求解—ALM (2)
•
仅含等式约束的非线性优化问题(NEP):
min f ( x) s.t. hi ( x)  0 (i  1,2,..., l )
(4)
• 设x*是(4)的最优解,其Lagranage函数为
L ( x,  )  f ( x )   ' h ( x )
(5)
其中,h( x)  [h1 ( x), h2 ( x),..., hl ( x)]' ,   [1 , 2 ,..., l ]' 是x相
应的拉格朗日乘子向量。
•
•
定理:
设f ( x)可微,x*  R n 是f ( x)的一个极小值点,则有
f ( x*)  0
Robust PCA松弛表达的求解—ALM (3)
如果能够找到 L( x,  )的最小解 *,那么NEP问题就可以转
 * 往往是不存在
化为解决一个无约束优化问题。但是
的,
•
因此我们构造增广的Lagrange函数
•
•
 ( x,  ,  )  f ( x)   ' h( x)  1 2 h( x)h( x)'
•
(6)
在 x L( x*, *)  0的条件下,取合适的值,有
 x ( x*, *, )  h( x*)' h( x*)  0,
即,取合适值时,
(6)和(5)的最优解相同。
Robust PCA松弛表达的求解—ALM (4)
•
•
如何迭代计算  * 呢?
假设某一次得到的计算结果为( x,  ), 那么有
 x ( x,  ,  )  f ( x)  h( x)'   h( x)' h( x)
 f ( x)  h( x)'[  h( x)]  0
(7 )
目标最优解表示为( x*, *),也是(5)的最优解,所以
 x L( x*, *)  f ( x*)  h( x*)' *  0
(8)
另外:
lim x( ,  )  x *
(9)
  *
比较(7)、
(8)、
(9)式可以得到:
*   - h( x)
~
所以,乘子的迭代公式为:    - h( x)
Robust PCA松弛表达的求解—ALM (5)
• Robust PCA松弛表达为:
•
min rank(L)+λ‖S‖0, s.t.
•
表示成拉格朗日乘子形式有:
M=L+S
u
l ( L, S , Y )  L *   S 1  Y , M  L  S  M  L  S
2
•
•
2
F
(10)
其中Y为拉格朗日乘子。
由前一页知道Y的迭代公式为:
Yk 1  Yk  u ( M  Lk  S k )
•
•
( Lk , S k )  arg min L ,S l ( L, S , Yk )
(10)式就等价于重复计算
直到M  L *  S *  
时,我们认为得到了最优解。
Robust PCA松弛表达的求解—ALM (6)
• 令S : R  R表示软阈值算子S [ x]  sgn( x) max(| x | -,
0)
那么,S的迭代公式为: arg min l ( L, S , Y )  S / u [ M  L  u 1Y ]
S
• 类似的,以D ( X )表示矩阵X的奇异值得软阈值处理,即
D ( X )  US ()V ' , 其中X  UV ' , 所以L的迭代公式为:
arg min l ( L, S , Y )  D1/ u ( M  S  u 1Y )
L
• ALM算法中的参数给定
• 
u  n1n2 /( 4 M 1 )

1



max(n1 , n2 )

迭代终止条件 M - L - S   M
F

7
,


10
F
Robust PCA松弛表达的求解—ALM (7)
• ALM算法
Robust PCA松弛表达的求解—ALM (8)