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*)满足:
mm
m>m*时,
(L*, S *) R
随机
m
r C*
•
•
•
•
•
•
努
正交模型分布(
log(m)
R mm
中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
使矩阵
mm
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 UV ' , 那么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 UV ' , 所以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)