UA MATH567 高维统计专题1 稀疏信号及其恢复1 L0-norm minimization

  • L0L^0L0-norm
  • L0L_0L0​-norm minimization
    • Exhaustive Search
    • L0L_0L0​-norm minimization的性质
    • L0L_0L0​-norm minimization是NP-hard问题

这个专题我们讨论sparse signal recovery,作为这个专题的开头,我们先简单介绍一下sparse vector的norm;熟悉DSP的同学应该比较清楚,用vector和matrix来表示signal是非常常规的操作,那么sparse signal用sparse vector来表示就非常合理,之所以要从sparse vector的norm开始讨论是因为我们需要去理解一个很长的sparse vector的结构,并以此设计一些更高效的算法。

下图摘自Wright, Ma的高维数据分析图2.6

LpL^pLp-norm是我们高维数据中最常用的范数,
∥x∥p=(∑i=1n∣xi∣p)1/p\left\| x \right\|_p = \left( \sum_{i=1}^n |x_i|^p \right)^{1/p}∥x∥p​=(i=1∑n​∣xi​∣p)1/p

如果p≥1p \ge 1p≥1,则上面的定义是范数;如果0<p<10<p<10<p<1,则上式不满足范数公理化定义中的三角不等式,无法成为范数,如果需要三角不等式,则可以用下面这个定义
∑i=1n∣xi∣p\sum_{i=1}^n |x_i|^pi=1∑n​∣xi​∣p

但这个定义不满足正齐次性。从上图可以看出,当ppp减小时,LpL^pLp-ball中的vector被shrink得越厉害,对应在sparse signal的设定中,noise就会被shrink掉,而signal得以保留。因此我们总是希望被复原的signal的范数(ppp越小的范数越好)不大于某一个阈值。

L0L^0L0-norm

最小可能的ppp为0,按上面的分析L0L^0L0-norm就是最好用的,直观理解L0L^0L0-norm就是向量中不为0的元素个数
∥x∥0=#{i:xi≠0}\left\| x\right\|_0=\#\{i:x_i \ne 0\}∥x∥0​=#{i:xi​​=0}

但是虽然叫L0L^0L0-norm,但它本身并不是一个范数,因为它不满足正齐次性:
∀c∈R,∥cx∥0=∥x∥0≠c∥x∥0\forall c \in \mathbb{R},\left\| c x \right\|_0 =\left\| x\right\|_0 \ne c\left\| x\right\|_0 ∀c∈R,∥cx∥0​=∥x∥0​​=c∥x∥0​

所以尽管它满足三角不等式,它也不是一个范数。

之所以我们称之为范数,并把它归为LpL^pLp-norm这一类,是因为
lim⁡p→0∥x∥pp=lim⁡p→0∑i=1n∣xi∣p=∑i=1nlim⁡p→0∣xi∣p=∑i=1n1xi≠0=∥x∥0\lim_{p \to 0}\left\| x \right\|_{p}^p =\lim_{p \to 0} \sum_{i=1}^n |x_i|^p= \sum_{i=1}^n\lim_{p \to 0}|x_i|^p=\sum_{i=1}^n 1_{x_i \ne 0}=\left\| x\right\|_0p→0lim​∥x∥pp​=p→0lim​i=1∑n​∣xi​∣p=i=1∑n​p→0lim​∣xi​∣p=i=1∑n​1xi​​=0​=∥x∥0​

L0L_0L0​-norm minimization

我们先不考虑随机性,假设yyy是我们对稀疏信号的测量,y=Axoy=Ax_oy=Axo​;讨论最简单的问题,即测量方程中的系数AAA已知,我们的目标是从测量中还原出信号xox_oxo​,一种可行的操作是在y=Axy=Axy=Ax的解集中找到最稀疏的向量,以此作为sparse signal的估计,用优化表示,我们要求解的问题是:
min⁡∥x∥0s.t.y=Ax\min \ \ \left\| x\right\|_0 \\ s.t. \ \ y = Axmin  ∥x∥0​s.t.  y=Ax

Exhaustive Search

引入xxx的支撑集supp(x)={i:xi≠0}⊂{1,⋯,n}supp(x)=\{i:x_i \ne 0\} \subset \{1,\cdots,n\}supp(x)={i:xi​​=0}⊂{1,⋯,n},则L0L_0L0​-norm minimization的目标是找到y=Axy=Axy=Ax的解集中支撑集最小的解;比较粗放的想法是考虑{1,⋯,n}\{1,\cdots,n\}{1,⋯,n}的所有子集,记为III,对每一个子集III,我们求解
AIxI=yA_Ix_I = yAI​xI​=y

这里的AIA_IAI​表示在AAA中把III对应的那几列选出来形成的子矩阵,把xIx_IxI​解出来后填入III的对应位置,其他位置填0,这样形成一个可行解,把所有的这些可行解比较得到的支撑集最小的那个就是L0L_0L0​-norm minimization的解:

L0L_0L0​-norm minimization的性质

上面的Exhaustive Search有一个非常有趣的理论性质:当∥xo∥0\left\| x_o \right\|_0∥xo​∥0​不太大时,Exhaustive Search的解一定是xox_oxo​。更严谨的叙述需要引入Kruskal rank:记krank(A)krank(A)krank(A)为矩阵AAA的Kruskal rank,任意krank(A)krank(A)krank(A)个AAA的列向量线性无关,但存在krank(A)+1krank(A)+1krank(A)+1个AAA的列向量线性无关。

定理(L0L^0L0 Recovery) 假设y=Axoy=Ax_oy=Axo​,并且∥xo∥0≤12krank(A)\left\| x_o \right\|_0 \le \frac{1}{2}krank(A)∥xo​∥0​≤21​krank(A),则xox_oxo​是L0L_0L0​-norm minimization的唯一解。

评述 这个定理说明当xox_oxo​足够sparse的时候(∥xo∥0≤12krank(A)\left\| x_o \right\|_0 \le \frac{1}{2}krank(A)∥xo​∥0​≤21​krank(A)),L0L_0L0​-norm minimization可以把xox_oxo​准确还原出来。

L0L_0L0​-norm minimization失效的情况:不妨假设x^\hat xx^是L0L_0L0​-norm minimization的解,如果∃xo∈null(A),∥xo∥0=k\exists x_o \in null(A),\left\| x_o \right\|_0=k∃xo​∈null(A),∥xo​∥0​=k,此时y=Axo=0y=Ax_o=0y=Axo​=0,求解L0L_0L0​-norm minimization得到的结果一定是x^=0\hat x=0x^=0,这个推理说明AAA的核空间存在非零的稀疏矩阵时,L0L_0L0​-norm minimization失效。

避免L0L_0L0​-norm minimization失效引入假设:
{δ∈null(A):∥δ∥0≤2k}={0}\{\delta \in null(A):\left\| \delta\right\|_0 \le 2k\}=\{0\}{δ∈null(A):∥δ∥0​≤2k}={0}

其中k≥∥xo∥0k \ge \left\| x_o \right\|_0k≥∥xo​∥0​;简单解释一下这个假设取2k2k2k的原因,因为x^\hat xx^是L0L_0L0​-norm minimization的解,所以∥x^∥0≤∥xo∥0≤k\left\| \hat x \right\|_0 \le \left\|x_o \right\|_0 \le k∥x^∥0​≤∥xo​∥0​≤k,用δ\deltaδ表示L0L_0L0​-norm minimization的估计误差,即δ=x^−xo\delta=\hat x-x_oδ=x^−xo​,用三角不等式
∥δ∥0=∥x^−xo∥0≤∥x^∥0+∥xo∥0≤2k\left\| \delta \right\|_0=\left\| \hat x-x_o \right\|_0 \le \left\| \hat x\right\|_0+\left\|x_o \right\|_0 \le 2k∥δ∥0​=∥x^−xo​∥0​≤∥x^∥0​+∥xo​∥0​≤2k

另外Aδ=A(x−xo)=y−y=0A\delta=A(x-x_o)=y-y=0Aδ=A(x−xo​)=y−y=0,所以δ∈null(A)\delta \in null(A)δ∈null(A);了解到这些之后我们可以发现,如果上面的假设成立,那么x^=xo\hat x=x_ox^=xo​。

假设与矩阵AAA的联系:上面的假设主要约束的是AAA的核空间,那些核空间没有sparse vector的AAA才是好的AAA,才能得到准确的signal recovery;这个假设可以用AAA的列向量重新叙述,{δ∈null(A):∥δ∥0≤2k}={0}\{\delta \in null(A):\left\| \delta\right\|_0 \le 2k\}=\{0\}{δ∈null(A):∥δ∥0​≤2k}={0}成立的条件是AAA的任意2k2k2k个列向量线性无关,用Kruskal rank表示就是
krank(A)≥2k≥2∥xo∥0krank(A) \ge 2k \ge 2 \left\| x_o \right\|_0krank(A)≥2k≥2∥xo​∥0​

这就是定理的结果。

L0L_0L0​-norm minimization是NP-hard问题

用PPP表示多项式时间内可以求解的问题,NPNPNP表示多项式时间内可以验证某个解是否正确的问题;NP可以在多项式时间内化归成NP-complete问题,一个很重要的猜想是P=NPP=NPP=NP(右图);NP-hard不一定能在多项式时间内被验证,是至少与NP-complete一样困难的问题。

定理 L0L^0L0-norm minimization是NP-hard问题。
评述
说明某一个问题是NP-hard问题只需要找到一个已知的NP-hard问题,然后说明这个问题与已知的NP-hard问题等价即可。

Exact 3-set Cover (E3C):S={1,⋯,m}S = \{1,\cdots,m\}S={1,⋯,m},C={U1,⋯,Un}\mathcal{C}=\{U_1,\cdots,U_n\}C={U1​,⋯,Un​},Uj⊂SU_j \subset SUj​⊂S,∣Uj∣=3|U_j|=3∣Uj​∣=3,是否存在C′⊂C\mathcal{C'} \subset \mathcal{C}C′⊂C,使得C′\mathcal{C'}C′覆盖SSS,也就是∀i∈S,∃!U∈C′,i∈U\forall i \in S,\exists ! U \in \mathcal{C}',i \in U∀i∈S,∃!U∈C′,i∈U。

E3C是一个公认的NP-hard的问题,我们可以证明L0L^0L0-norm minimization与E3C等价。

证明
假设矩阵A∈{0,1}m×nA \in \{0,1\}^{m \times n}A∈{0,1}m×n,使得Aij=1i∈UjA_{ij}=1_{i \in U_j}Aij​=1i∈Uj​​,取y=1y=1y=1,则Ax=yAx=yAx=y有稀疏解xox_oxo​, ∥xo∥0≤m/3\left\| x_o \right\|_0 \le m/3∥xo​∥0​≤m/3的充要条件是存在Exact 3-set Cover;

⇐\Leftarrow⇐: 假设存在Exact 3-set Cover C′\mathcal{C}'C′,显然∣C′∣=m/3|\mathcal{C}'|=m/3∣C′∣=m/3,定义x=(x1,⋯,n)′,xj=1Uj∈C′x=(x_1,\cdots,n)',x_j=1_{U_j \in \mathcal{C}'}x=(x1​,⋯,n)′,xj​=1Uj​∈C′​,则y=Axy=Axy=Ax并且∥x∥0≤m/3\left\| x \right\|_0 \le m/3∥x∥0​≤m/3;

⇒\Rightarrow⇒: 假设y=Axo,∥xo∥0≤m/3y=Ax_o,\left\| x_o \right\|_0 \le m/3y=Axo​,∥xo​∥0​≤m/3,定义C′={Uj:xo(j)≠0}\mathcal{C}'=\{U_j:x_o(j) \ne 0\}C′={Uj​:xo​(j)​=0},则C′\mathcal{C'}C′是Exact 3-set Cover。因为∥xo∥0≤m/3\left\| x_o \right\|_0 \le m/3∥xo​∥0​≤m/3,所以AAA的列向量有333个非零元素,定义I=supp(xo)I=supp(x_o)I=supp(xo​),AIA_IAI​至多有m/3m/3m/3列,并且至多有mmm个非零元素;又因为AIxoI=yA_Ix_{oI}=yAI​xoI​=y,所以AIA_IAI​的每一行至少有一个非零元。综上,AIA_IAI​每一行恰好有一个非零元,所以C′\mathcal{C'}C′是Exact 3-set Cover。

UA MATH567 高维统计专题1 稀疏信号及其恢复1 L0-norm minimization相关推荐

  1. UA MATH567 高维统计专题1 稀疏信号及其恢复7 LASSO的预测误差与变量选择一致性

    UA MATH567 高维统计专题1 稀疏信号及其恢复7 LASSO的预测误差与变量选择一致性 Prediction Error Variable Selection Consistency Pred ...

  2. UA MATH567 高维统计专题1 稀疏信号及其恢复6 随机设计矩阵下LASSO的估计误差

    UA MATH567 高维统计专题1 稀疏信号及其恢复6 随机设计矩阵下LASSO的估计误差 上一讲我们推导了noisy setting下LASSO估计误差的阶O(slog⁡d/n)O(\sqrt{s ...

  3. UA MATH567 高维统计专题1 稀疏信号及其恢复5 LASSO的估计误差

    UA MATH567 高维统计专题1 稀疏信号及其恢复5 LASSO的估计误差 Signal Recovery Noisy Setting LASSO的估计误差 Signal Recovery Noi ...

  4. UA MATH567 高维统计专题1 稀疏信号及其恢复4 Basis Pursuit的算法 Projected Gradient Descent

    UA MATH567 高维统计专题1 稀疏信号及其恢复4 Basis Pursuit的算法 Projected Gradient Descent 前三讲完成了对sparse signal recove ...

  5. UA MATH567 高维统计专题1 稀疏信号及其恢复3 Coherence与RIP简介

    UA MATH567 高维统计专题1 稀疏信号及其恢复3 Coherence与RIP简介 Pairwise inc oherence Mutual Coherence RIP 前两讲介绍了L0-min ...

  6. UA MATH567 高维统计专题1 稀疏信号及其恢复2 用L1-norm作为L0-norm的convex relexation

    UA MATH567 高维统计专题1 稀疏信号及其恢复2 用L1-norm作为L0-norm的convex relexation L1L_1L1​-norm minimization L1L_1L1​ ...

  7. UA MATH567 高维统计 专题0 为什么需要高维统计理论?——理解稀疏向量与hard-threshold

    UA MATH567 高维统计 专题0 为什么需要高维统计理论?--理解稀疏向量与hard-threshold 稀疏向量的soft-threshold与hard-threshold近似 引入hard- ...

  8. UA MATH567 高维统计 专题0 为什么需要高维统计理论?——高维统计理论的常用假设

    UA MATH567 高维统计 专题0 为什么需要高维统计理论?--高维统计理论的常用假设 延续前三讲对线性判别分析的讨论,在高维时,根据中心极限定理 n(Xˉ−μ)→dN(0,Id)\sqrt{n} ...

  9. UA MATH567 高维统计专题3 含L1-norm的凸优化6 Stochastic Gradient Descent简介

    UA MATH567 高维统计专题3 含L1-norm的凸优化6 Stochastic Gradient Descent简介 Stochastic Gradient Descent的思想 Varian ...

最新文章

  1. mysql定制rpm包_mysql运维管理-企业rpm包的定制
  2. mysql bin的过期时间_Mysql设置binlog过期时间并自动删除
  3. 【蓝桥杯】算法提高 7-2求arccos值
  4. leetcode-21-合并两个有序链表
  5. Celery 之异步任务、定时任务、周期任务
  6. 在使用代理的服务器上“curl: (6) Could not resolve host:“问题的解决方案
  7. numpy reshape
  8. python左闭右开_漫话:为什么程序员喜欢使用0 ≤ i 10这种左闭右开的形式写for循环?...
  9. JS 事件冒泡整理 浏览器的事件流
  10. jquery中使用ajax的php实例
  11. sap 双计量单位_SAP系统里批次双计量单位的实现
  12. 如何关闭iPhone浏览器自动将数字识别为电话号码
  13. jsp简介及工作原理
  14. MT6129射频处理器,MT6129芯片原理资料介绍
  15. 百度推广建立推广计划和推广单元技巧
  16. 计算机专业买什么商务本好,单位购买什么笔记本的比较多?各位能不能说来听听?华硕笔记本电脑哪个系列性价好,商务办公用?...
  17. (转)ISV英文全称是Independent Software Vendors ,意为“独立软件开发商”
  18. 维基百科中文创始人_维基百科的创始人正在建立一个社区运营的新闻网站
  19. nvm安装node成功,npm安装失败问题
  20. oZone3D FurMark(甜甜圈furmark显卡压力测试软件)绿色单文件版V1.9.2 | 电脑烤机测试软件

热门文章

  1. Java运行时动态加载类之ClassLoader方法带参数
  2. Python--高阶学习笔记
  3. 计算机组成原理1--原码、反码、补码、移码之间的关系
  4. Java 技术篇 - ServerSocket接收http的url请求中包含中文的处理方法,URLDecode与URLEncode,url解码与编码
  5. Python 爬虫篇-爬取web页面所有可用的链接实战演示,展示网页里所有可跳转的链接地址
  6. Python 技术篇-使用pygame库展示界面添加图片不显示问题解决办法
  7. 关闭Visual Studio中的自动代码分析
  8. windows下批量修改文件(或文件夹)权限或所有者
  9. 【HDU2582 关于 gcd( C[n][1],C[n][2],C[n][3],........C[n][n-1) 】
  10. kettle预览点两下才出数_孩子过生日选“阴历”还是“阳历”?有3点讲究,需斟酌再决定...