几种矩阵完备算法的研究与实现_矩阵分析仿真大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
几种矩阵完备算法的研究与实现
——《矩阵分析》课程仿真作业报告*
刘鹏飞
电⼦系2016210858
摘要
矩阵完备是指从⼀⼩部分已知的矩阵元素中恢复出整个矩阵。它在计算机视觉、推荐系统以及社交⽹络等⽅⾯具有⼴泛的应⽤。矩阵恢复可以通过
求解⼀个与核范数有关的凸优化问题来实现。由此诞⽣了许多矩阵恢复的算
法,⽐如FPC算法等。FPC算法虽然实现简单,但其迭代速度较慢。在此基
础上,APG算法经过改进,能够提升迭代速度。但最⼩化核范数并不是求解
矩阵完备问题的唯⼀⽅法,其中OptSpace算法构造了⼀个在流形上的优化问
题,相⽐于前两种算法能够以更⾼的精度恢复出原始矩阵。本⽂主要总结了
FPC、APG和OptSpace三种算法的步骤。特别地,对于OptSpace算法,本
⽂提出了求解其中两个⼦优化问题的具体算法。最后,本⽂通过仿真实验和理
论分析⽐较了三种算法的特点,并给出了OptSpace算法的精度⾼于APG算
法的解释。
关键词:矩阵完备,核范数,FPC,APG,OptSpace
1介绍
1.1矩阵完备及其算法综述
矩阵完备是指从⼀⼩部分已知的矩阵元素中恢复出整个矩阵。它在计算机视觉、推荐系统以及社交⽹络等⽅⾯具有⼴泛的应⽤。矩阵完备可以描述成这样⼀个问题:对于⼀个m×n的矩阵M,其秩为r,我们只有对M中的部分采样,记*报告中所涉及到的仿真代码可在https:///s/1jHRcY8m下载
1
这些采样位置组成的集合为Ω,那么是否有可能从已知的部分元素中恢复出整个矩阵M。假如M为低秩矩阵,并且已知的元素⾜够多并且⾜够均匀地分布在整个矩阵中,那么我们可以通过解如下优化问题来恢复出原始矩阵[1]:
min rank(W)
s.t.W ij=M ij,(i,j)∈Ω(1-1)但是,问题(1-1)是⼀个NP难的⾮凸问题。在⼀定条件下,问题(1-1)可以转化成⼀个最⼩化核范数的问题。对于矩阵W m×n,W的核范数定义为其奇异值之和,即
∥W∥∗=min(m,n)
∑
k=1
σk(W)(1-2)
其中,σk(W)表⽰W第k⼤的奇异值。问题(1-1)可以转化成:
min∥W∥∗
s.t.W ij=M ij,(i,j)∈Ω(1-3)对于(1-3)中带等式约束的问题,进⼀步地,可以将它凸松弛成⼀个⽆约束的
优化问题[2][3][4]:
min 1
2
∥A(W)−b∥22+µ∥W∥∗(1-4)
其中,b是由矩阵中采样位置对应的元素组成的p×1维向量,p=|Ω|(|·|表⽰集合的势);A:R m×n−→R p是⼀个线性映射,A(W)=(W ij)|(i,j)∈Ω;µ是⼀个可以调整的参数。
对于(1-4)中的⽆约束问题,⽂献[2][3]分别提出了Fixed Point Continuation (FPC)和Singular Value Thresholding(SVT)的算法。本⽂认为,这两种算法虽然出发点不同,但其实质都是梯度下降法,没有本质的差别,在算法实现上也基本⼀样。因此,本⽂只研究其中⼀种,即FPC算法。FPC算法虽然实现简单,但其迭代速度慢,效率不⾼。在此基础上,⽂献[4]做出了改进,提出⼀种Accelerated Proximal Gradient Singular Value Thresholding(APG)算法(该算法是在SVT算法上改进的,本⽂认为FPC和SVT实质上是⼀种算法,故不做区别),能够⼤幅度地提⾼收敛速度。
前⾯提到的⼏种算法,都是从(1-1)中的最⼩化秩的问题出发,经过⼀步步凸松弛得到的。与上述基本思路不同,⽂献[5]提出了OptSpace算法,它实质上是通过解另⼀种优化问题来实现矩阵完备:
min F(W)=
∑
(i;j)∈Ω
∥M ij−W ij∥2
s.t.rank(W)=r(1-5)
该优化问题旨在找到⼀个秩为r的矩阵,使得该矩阵在对应采样元素的位置上和原始矩阵尽量接近。在(1-5)中,秩为r的矩阵W可以表⽰成如下分解形式:
W=XSY T(1-6)
其中,X∈R m×r,Y∈R n×r,S∈R r×r,并且X T X=mI,Y T Y=nI。注意到(1-6)中的分解与奇异值分解具有类似的形式,X、Y的各列互相正交,但S不是对⾓阵。如果给定⼀组(X,Y),则可以找到最佳的S,使得XSY T在对应采样元素的位置上和原始矩阵尽量接近。因此可以定义如下函数:
F(X,Y)=min
S∈R r×r
∑
(i;j)∈Ω
∥M ij−(XSY T)ij∥2(1-7)
该函数的定义域为D(F)={(X,Y)|X T X=mI,Y T Y=nI,X∈R m×r,Y∈R n×r}。优化问题(1-5)可以等价为:
min F(X,Y)
(X,Y)∈D(F)(1-8)
函数F的定义域D(F)实质上是两个Grassmann流形的笛卡尔积。对于在Grass-mann流形上的优化问题,⽂献[6]做了相关研究,并提出了有效的求解算法,⽐如⽜顿法和共轭梯度算法。⽂献[5]提出的OptSpace算法本质上是求解(1-8)中的优化问题。仿真结果证明,OptSpace算法相对于FPC、APG算法,能够以更⾼的精度恢复出原始矩阵。
从(1-5)-(1-8)式中可以发现,OptSpace算法似乎要求已知对待恢复矩阵的秩。但⽂献[7]提出了⼀种从不完全采样矩阵中估计矩阵的秩的算法。因此,在本⽂中可以假设秩r已知。
1.2本文主要内容
本⽂主要对FPC、APG和OptSpace三种算法进⾏了研究,总结了三种算法的基本流程,并通过仿真对三种算法的性能进⾏⽐较,主要⽐较指标为迭代次数、运算时间和恢复精度。本⽂原创性的⼯作在于,⽂献[5]提出的OptSpace算法,只给出了其⼀般流程,其中包含了两个⼦优化问题,原⽂并没有给出具体算法。本⽂给出了求解这两个⼦问题的具体算法,完善了OptSpace算法流程。