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)