Zhang, D., Hu, Y., Ye, J., Li, X., & He, X. (2012, June). Matrix completion by truncated nuclear norm regularization. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 2192-2199.
本文是这篇 CVPR 会议论文的笔记,主要是对文中的理论方法进行展开详解。本人学术水平有限,文中如有错误之处,敬请指正。
另外:这篇会议论文于 2013 年发表于 PAMI 期刊上,两篇 paper 的内容基本一致。

Hu, Y., Zhang, D., Ye, J., Li, X., & He, X. (2013). Fast and accurate matrix completion via truncated nuclear norm regularization. IEEE Transactions on Pattern Analysis and Machine Intelligence, 35(9), 2117-2130.

摘要:估计视觉图像中缺失的值是计算机视觉中有挑战的问题,其可以被认为是一个低秩的近似问题。大部分的研究都是用核范数来代替秩操作。然而,在核范数最小化过程中,所有的奇异值一起被最小化,在实际中秩不能被很好地近似。此文提出了一种 Truncated Nuclear Norm Regularization (TNNR) 方法,只最小化较小的 N−r 个部分奇异值,其中 N 是奇异值的总个数,r 是矩阵的秩。这样可以更好地近似矩阵的秩。此文更设计了两种高效的优化算法,alternating direction method of multipliers (ADMM) 和 accelerated proximal gradient line search (APGL) 方法。

1 简介

在许多的实际的计算视觉和模式识别中,比如图像恢复,数据中有丢失的部分。估计这些矩阵中丢失值得问题,即矩阵补全,已经受到了相当多的关注。视觉数据,,比如图像,有可能是低秩的,如图所示。于是,大部分的矩阵补全问题都旨在找到一个低秩的近似问题。具体的,给定一个不完整的数据 M∈Rm×n,矩阵补全问题可被阐述为

minX s.t. rank(X)Xij=Mij, (i,j) ∈Ω,(1)

其中 X∈Rm×n , Ω 是已知的元素的对应的位置集合。

然而, 以上的秩最小化问题是 NP-hard,因为其非凸性和不连续性。一种广泛采用的方法是核范数,即奇异值之和,作为一个凸的代替方法。受压缩感知的启发, Cande`s 和 Recht 最近提出,如果矩阵的行空间和列空间是与标准基不一致的,那么核范数最小化可以恢复出矩阵,如果有足够的已知的元素。

已有的核范数方法,比如 singular value thresholding (SVT 1),能够在无噪声的合成数据中获得较好的表现。然而,它们在真实的应用中不能得到低秩的解。这是因为核范数不能精确地近似秩函数。具体地,对比秩函数来说,所有的非零的奇异值都被平等处理,核范数则并不是。更差的是,这些方法优势甚至不收敛。因为核范数的理论的要求(比如不一致的性质)在实际中很难被满足。

此文提出了一种新的矩阵补全的方法,truncated nuclear norm regularization (TNNR),来恢复矩阵中一些缺失的数据。于一般核范数的方法不同的是,并不是同时最小化所有奇异值的和,此文的方法仅最小化较小的 min(m,n)−r 个奇异值。这样,该方法可以获得一个更精确、鲁棒性的对秩函数的近似。此外,此文提出了两种简单的,高效的优化机制解决目标函数,即 alternating direction method of multipliers (ADMM) 2 和 accelerated proximal gradient line search method (APGL) 3 。

2 相关工作

稀疏表示,低秩矩阵分解相关,略

3 Truncated Nuclear Norm Regularization

令 X=(x,⋯,xn) 成为一个 m×n 矩阵,Ω⊂{1,⋯,m}×{1,⋯,n} 表示矩阵 X 中已知元素的索引,Ωc 表示缺失元素的索引。可以方便的表示已知的元素

(XΩ)ij={Xij,0,if (i,j)∈Ω,if (i,j)∈Ωc.(2)

正如之前描述的,核范数不能确保很好的近似秩函数在实际中。首先介绍一个定义
定义 3.1 给定一个矩阵 X∈Rm×n ,truncated nuclear norm ||X||r 定义为最小的 min(m,n)−r 个奇异值之和,也就是 ||X||r=∑min(m,n)i=r+1σi(X) 。于是,目标函数可以写为

minXs.t.||X||r  XΩ=MΩ.(3)

明显与传统的核范数不同,求解该问题一直可以得到低秩解,只要其存在。由于 ||X||r 是非凸的,不容易直接求解。于是,有如下的定义。
Theorem 3.1 对于给定的矩阵 X∈Rm×n , A∈Rm×m , B∈Rm×n ,和 AAT=I, BBT=I 。对于正的整数 r≤min(m,n) ,我们有

tr(AXBT)≤∑i=1rσi(X).(4)

证明 根据 Von Neumann 迹不等式,我们得到

tr(AXBT)=tr(XBTA)≤∑i=1min(m,n)σi(X)σi(BTA),(5)

其中 σ1(X)≥⋯≥σmin(m,n)(X)≥0 。由于 rank(A)=r , rank(B)=r ,所以有 rank(BTA)=s≤r 。对于 i≤s , σi(BTA)>0 和 σ2i(BTA) 是矩阵 BTAATB=BTB 的第 i 个特征值,也是 BTB=I 的一个特征值。所以 σi(BTA)=1 ,对 i=1,2,⋯,r ,其余的都是 0 。

∑i=1min(m,n)σi(X)σi(BTA)=∑i=1sσi(X)σi(BTA)+∑i=s+1min(m,n)σi(X)σi(BTA)=∑i=1sσi(X)⋅1+∑i=s+1min(m,n)σi(X)⋅0=∑i=1sσi(X).(6)

因为 s≤r 和 σi(X)>0 , ∑si=1σi(X)≤∑ri=1σi(X) 。结合上述不等式,可以证明得到

tr(AXBT)≤∑i=1sσi(X)≤∑i=1rσi(X).(7)

假设 UΣVT 是矩阵 X 的奇异值分解,其中 U=(u1,⋯,um)∈Rm×m , Σ∈Rm×n ,和 V=(v1,⋯,vn)∈Rn×n 。那么有如下

A=(u1,⋯,ur)T, B=(v1,⋯,vr)T.(8)

因为

tr((u1,⋯,ur)TX(v1,⋯,vr))=tr((u1,⋯,ur)TUΣVT(v1,⋯,vr))=tr(((u1,⋯,ur)TU)Σ(VT(v1,⋯,vr)))=tr(diag(σ1(X),⋯,σr(X),0,⋯,0))=∑i=1rσi(X).(9)

结合上述公式,可以得到

maxAAT=BBT=I tr(AXBT)=∑i=1rσi(X).(10)

接着有

||X||∗−maxAAT=BBT=I tr(AXBT)=∑i=1min(m,n)σi(X)−∑i=1rσi(X)=||X||r.(11)

于是,优化问题可以被重写为

minXs.t. ||X||∗−maxAAT=BBT=I tr(AXBT) XΩ=MΩ,(12)

其中 A∈Rr×m , B∈Rr×n 。基于此,此文设计一个简单但是有效的迭代机制。令 X1=MΩ 为初始化,在第 ℓ 次迭代中,首先固定 Xℓ ,计算 Aℓ 和 Bℓ ,借由 Xℓ 的奇异值分解。接着,固定 Aℓ 和 Bℓ ,更新 Xℓ+1 通过一个更简单的问题

minXs.t. ||X||∗−tr(AℓXBTℓ)XΩ=MΩ,(13)

已知 Aℓ∈Rr×m , Bℓ∈Rr×n 和观测到的矩阵 MΩ 。算法步骤总结于 Algorithm 1 中。通过反复迭代更新这两步,其可以收敛至局部最小值。


Algorithm 1 TNNR
Input: 原始的不完整的矩阵 MΩ, 其中 Ω 是已知元素的对应的位置,容限 ϵ。
Initialize: X1=MΩ 。
repeat
Step 1 给定一个 Xℓ

[Uℓ,Σℓ,Vℓ]=svd(Xℓ),

其中 U=(u1,⋯,um)∈Rm×m , V=(v1,⋯,vn)∈Rn×n 。
计算 Aℓ 和 Bℓ 如下

Aℓ=(u1,⋯,ur)T, Bℓ=(v1,⋯,vr)T.

Step 2 求解

Xℓ+1=argminX ||X||∗−tr(AℓXBTℓ)s.t.XΩ=MΩ.

until ||Xℓ+1−Xℓ||F≤ϵ
Return 恢复的矩阵。


4 优化

需要设计一个有效的优化算法。因为 ||X||∗ 和 −tr(AℓXBTℓ) 都是凸的,目标函数也是凸的。接下来介绍两种优化机制:増广 Lagrange 乘子法 (ADMM)和加速近似梯度法(APGL)。首先介绍一个非常有用的函数,singular value shrinkage operator 4 :
定义矩阵 X∈Rm×n,秩为 r,的奇异值分解

X=UΣVT, Σ=diag({σi}1≤i≤r).(14)

这里定义 singular value shrinkage 操作

Dτ(X)=UDτ(Σ)VT, Dτ(Σ)=diag({σi−τ}+).(15)

对于每一个 τ≥0 和 Y∈Rm×n ,这里有

Dτ(Y)=argminX 12||X−Y||2F+τ||X||∗.(16)

4.1 ADMM 优化

将优化目标问题写为

minX,Ws.t.  ||X||∗−tr(AℓWBTℓ)  X=W, WΩ=MΩ.(17)

其对应的 Lagrange 函数 可以写为

L(X,Y,W)=||X||∗−tr(AℓWBTℓ)+ρ2||X−W||2F+tr(YT(X−W)),(18)

其中 ρ 是一个正的标量。给定初始值, X1=MΩ , W1=X1 和 Y1=X1 ,优化过程可以分为 3 步:
计算 Xk+1: 固定 Wk 和 Yk ,最小化求解 L(X,Yk,Wk)

Xk+1=argminX ||X||∗−tr(AℓWkBTℓ)+ρ2||X−Wk||2F+tr(YTk(X−Wk)).(19)

略去其他常数项,可以化简为

Xk+1=argminX ||X||∗+ρ2||X−(Wk−1ρYk)||2F.(20)

结合 SVT 操作,可以解得

Xk+1=D1ρ(Wk−1ρYk).(21)

(2) 计算 Wk+1: 固定 Xk+1 和 Yk,最小化求解 Wk+1=argminW L(Xk+1,Yk,W)。这是一个二次函数,令其梯度等于 0,可以得到

Wk+1=Xk+1+1ρ(ATℓBℓ+Yk).(22)

固定已知的值,只更新未知部分的值

Wk+1=(Wk+1)Ωc+MΩ.(23)

(3) 计算 Yk+1: 固定 Xk+1 和 Wk+1,只需要计算

Yk+1=Yk+ρ(Xk+1−Wk+1).(24)

全部的优化步骤总结于 Algorithm 2 中。


Algorithm 2: ADMM 优化过程
Input: Aℓ,Bℓ,MΩ 和 容限阈值 ϵ 。
Initialize: X1=MΩ,W1=X1,Y1=X1,ρ=1 。
repeat
Step 1: Xk+1=D1ρ(Wk−1ρYk).
Step 2: Wk+1=Xk+1+1ρ(ATℓBℓ+Yk).
固定已知的值,只更新未知部分的值

Wk+1=(Wk+1)Ωc+MΩ.

Step 3: Yk+1=Yk+ρ(Xk+1−Wk+1) .
until ||Xk+1−Xk||F≤ϵ .


APGL 优化

实际上,ADMM 是硬约束问题。考虑到实际应用中的有噪声的数据,采用如下的松弛约束问题更有利

minX ||X||∗−tr(AℓXBTℓ)+λ2||XΩ−MΩ||2F,(25)

其中 λ>0 。

APGL 解决如下形式的问题

minX g(X)+f(X),(26)

其中 g 是闭的,凸的,可能不可微的函数, f 是凸的,可微的函数。首先对任意的 t>0 ,APGL方法构建一个 F(Y) 在固定点 Y 的近似

Q(X,Y)=f(Y)+⟨X−Y,∇f(Y)⟩+12t||X−Y||2F+g(X).(27)

APGL 通过迭代优化,更新变量 X , Y 和 t 来求解。在第 k 次迭代中,更新 Xk+1 如下

Xk+1=argminX Q(X,Yk)=argminX g(X)+12tk||X−(Yk−tk∇f(Yk))||2F.(28)

在原优化目标中,令 g(X)=||X||∗ 和 f(X)=−tr(AℓXBTℓ)+λ2||XΩ−MΩ||2F 。根据上述定理,可以得到

Xk+1=argminX ||X||∗+12tk||X−(Yk−tk∇f(Yk))||2F=Dtk(Yk+tk(ATℓBℓ−λ((Yk)Ω−MΩ))).(29)

最后, Yk+1 和 tk+1 按如下的方式更新

Yk+1tk+1=Xk+1+tk−1tk+1(Xk+1−Xk),=1+1+4t2k−−−−−−√2.(30)(31)

算法步骤总结于 Algorithm 3 中。由于松弛了硬约束 XΩ=MΩ ,Algorithm 3 更适合于处理噪声数据。另外,Algorithm 3 中有非常快的收敛速度 O(1k2) 。


Algorithm 3: APGL 优化过程
Input: Aℓ,Bℓ,MΩ 和 容限阈值 ϵ 。
Initialize: t1=1,X1=MΩ,Y1=X1 。
repeat
Step 1: Xk+1=Dtk(Yk+tk(ATℓBℓ−λ((Yk)Ω−MΩ))).
Step 2: tk+1=1+1+4t2k√2.
Step 3: Yk+1=Xk+1+tk−1tk+1(Xk+1−Xk).
until ||Xk+1−Xk||F≤ϵ.


5 实验

此算法可以对图像中确实的部分像素值进行补全,需要知道的条件除了残缺的图像之外,还需要知道确实部分的位置信息,即每一个像素的在图像中的坐标索引。

原文中并没有交代参数 r,i.e. 截取的奇异值的个数,如何选择。不同的图像对 r 的选择是不同的,在没有先验知识的情况下,只能通过设定一个范围 [1,30] 手动搜索最优值。另外,对于此文的两种优化方法,可以发现 APGL 明显在速度上有极大的优势,对于 ADMM 。

6 结论

此文提出了一种新的 Truncated Nuclear Norm Regularization 方法,用于估计图像中缺失的部分像素值,也就是矩阵补全问题。与传统的核范数(考虑所有的奇异值)不同,此文的方法只考虑最小的 min(m,n)−r 个奇异值,使得该方法能够更好的近似矩阵的秩函数。此文中还介绍了两种优化目标函数的方法,ADMM 和 APGL 。实验设计于合成的数据和真实的数据中,将 TNNR 方法和其他方法进行比较,得出其优势的效果。


  1. J. F. Cai, E. J. Cand`es, and Z. Shen. A singular value thresholding algorithm for matrix completion. SIAM Journal on Optimization, 20:1956–1982, 2010. ↩
  2. Lin, Z., R. Liu and Z. Su, Linearized Alternating Direction Method with Adaptive Penalty for Low-Rank Representation, in Advances in Neural Information Processing Systems. 2011. p. 612–620. ↩
  3. Toh, K.C. and S. Yun, An accelerated proximal gradient algorithm for nuclear norm regularized linear least squares problems. Pacific Journal of optimization, 2010. 6(15): p. 615–640. ↩
  4. J. F. Cai, E. J. Cand`es, and Z. Shen. A singular value thresholding algorithm for matrix completion. SIAM Journal on Optimization, 20:1956–1982, 2010. ↩

笔记:Matrix completion by Truncated Nuclear Norm Regularization相关推荐

  1. 笔记:Online robust principal component analysis via truncated nuclear norm regularization

    Hong, B., Wei, L., Hu, Y., Cai, D., & He, X. (2016). Online robust principal component analysis ...

  2. 论文笔记:Matrix Completion in the Unit Hypercube via Structured Matrix Factorization

    2019 IJCAI 0 摘要 复杂任务可以通过将它们映射到矩阵完成(matrix completion)问题来简化.在本文中,我们解决了我们公司面临的一个关键挑战:预测艺术家在电影镜头中渲染视觉效果 ...

  3. Matrix Completion

    http://perception.csl.illinois.edu/matrix-rank/references.html 2010年的CVPR最佳paper:Efficient computati ...

  4. UA MATH567 高维统计专题2 Low-rank矩阵及其估计2 Rank Minimization与Nuclear Norm

    UA MATH567 高维统计专题2 Low-rank矩阵及其估计2 Rank Minimization与Nuclear Norm 上一讲我们已经提到了用rank-minimization对参数矩阵进 ...

  5. UA MATH567 高维统计专题2 Low-rank矩阵及其估计1 Matrix Completion简介

    UA MATH567 高维统计专题2 Low-rank矩阵及其估计1 Low-rank Matrix简介 例 在推荐系统中,Netflix data是非常经典的数据集.考虑它的电影评分数据,用矩阵的每 ...

  6. Matrix Completion with Noise

    目录 引 恢复1 核范数与SDP 稳定恢复 Candes E J, Plan Y. Matrix Completion With Noise[J]. arXiv: Information Theory ...

  7. Graph Convolutional Matrix Completion,GC-MC

    文章目录 Motivation Contribution Solution encoder 使用交互物品的特征 引入边信息 decoder 训练方法 权重分配 Evaluation Summariza ...

  8. Graph Convolutional Matrix Completion

    Graph Convolutional Matrix Completion 该篇文章提出了基于图卷积的矩阵补全方法. 图卷积编码器 文章提出了一种能为每种边的类型分配单独的处理过程(简而言之,不同类型 ...

  9. Android笔记——Matrix

    转自:http://www.cnblogs.com/qiengo/archive/2012/06/30/2570874.html#translate Matrix的数学原理 在Android中,如果你 ...

最新文章

  1. jzoj zsy家今天的饭_有它拌饭,碗我都能舔干净!老干妈竟然被轻松超越了?
  2. LeanCloud数据更新不同步问题
  3. python怎么打开ipynb文件_如何优雅的打开.ipynb文件
  4. Linux运维:CentOS7在防火墙中添加访问端口?
  5. 5G NR 定时提前 Timing advance
  6. SVM学习——在matlab上安装libsvm库(一)
  7. Python变量的复制
  8. 华为手机什么时候更新鸿蒙系统_华为鸿蒙系统什么时候能超过iOS、安卓?任正非表态了...
  9. string中concat_JavaScript中带示例的String concat()方法
  10. 创建代码生成器可以很简单:如何通过T4模板生成代码?[上篇]
  11. 如何解决uchome自带编辑器无法获取uchome编辑器里面的值问题?(uchome二次开发)...
  12. 维护删除订单后,清空安装和售后信息;条码打印软件补充打印问题
  13. 【leetcode】只出现一次的数字(位运算)
  14. 为什么学霸不情愿帮助同学回答问题?
  15. paip.程序调试的几种方式大总结
  16. font-awesome在Vue项目中的使用(npm使用)
  17. python-opencv Harris 角点检测
  18. 前端框架EasyUI
  19. 博文视点卓越书单丨Python技术成长加油站
  20. 外部IC寄存器的位定义

热门文章

  1. 如何使用plantUML生成go项目的UML图?(mac)
  2. 「starter推荐」简单高效 Excel 导出工具
  3. java网络编程(四)
  4. svn教程----svn简介
  5. [转]Vi 教程(Unix行编辑器)
  6. python定义函数的关键字是_python 函数定义
  7. idm 服务器响应显示您没有权限下载此文件_仅需10分钟,让你掌握下载神器IDM的使用技巧...
  8. 行锁mysql怎么执行_Mysql调用什么情况会用到行锁与表锁
  9. 惠普HP unix命令大全
  10. 【干货】连交换机的攻击、防御都不懂,还做什么网络工程师