压缩感知与稀疏模型——Convex Methods for Sparse Signal Recovery
第三节课的内容。这节课上课到半截困了睡着了,看着大家都很积极请教认真听讲,感觉很惭愧。周末不能熬太晚。这个博客就记录一下醒着时候听到的内容。
Motivation
目前的时代需要处理的数据量维度可能很高,比如1024*960分辨率的图片转化成向量维度就是100万左右。对于当代搜索引擎需要处理的数据更是如此,大数据时代已经来临。
而我们直到,对于普通的对比信息检索,时间复杂度为$O(n)$,当然,如果加上维度$D$,数据检索复杂度变成了$O(Dn)$,要知道这里的D很大,属于高纬度数据,甚至远大于数据的个数$n$,是一定不可以忽略的。
有没有一种方法,能对数据降维,使得D变小?这样可以大大降低数据检索的复杂度。但是,对数据降维不能随机降,需要保矩,也就是对各个向量的相对关系需要进行保持,如下图:
我们希望原来维度上两个向量差多少,降维之后他们每一对向量之间的距离没有变化太多。
The Johnson-Lindenstrauss Lemma
下面介绍一条定理,简称为Lemma定理。它是当代搜索引擎对高维数据Hashing的核心。首先,我们要知道对于高维如果要完全用低纬度保存所有的信息是不可能的,因此会有一定的错误率,但是我们在统计角度上可以证明当数量大的时候这个错误率趋于0即可。
Johnson-Lindenstrauss Lemma:假定向量$v_1,v_2,…,v_n in mathbb R ^D$,现在有随机矩阵$A in mathbb{R}^{m times D}$,它的entries是按照高斯$N(0,frac{1}{m})$独立的随机变量,那么对于任何$varepsilon in (0,1)$,至少有$1 - frac{1}{n^2}$的概率使得下式成立:
其中,$m > 大专栏 压缩感知与稀疏模型——Convex Methods for Sparse Signal Recovery32frac{log n}{varepsilon^2}$。
可以看到的是这个结论很棒,因为矩阵是任意随机的,甚至不用优化去求得。而对于高纬度的向量,使用$A$矩阵降维到$m$维,因为$m$的限制,使得查找的复杂度从$O(Dn)$变成了$O(nlog n)$,更惊喜的是实际上这个复杂度甚至和维度$D$无关了。在这里$D gg m$,从而实现了加速的效果。
下面对上述定理进行简单的证明。证明之前再说一下另外一个引理:
$g = (g1,…,g_m)$是一个m维度的随即向量,它的entries是独立高斯分布$N(0,frac{1}{m})$,那么对于任何$t in [0,1]$,有下面的结论:
设$g_{i,j} = Afrac{v_i - v_j}{Vert v_i - v_j Vert_2}$,对于任何的$v_i ne v_j$,$g_{i,j}$的entries是符合独立高斯($N(0,frac{1}{m})$)分布的。应用Lemma定理可以得到:
将所有概率简单加起来可以得到:
将$t = varepsilon, m ge 32 frac{log{n}}{varepsilon ^2}$代入上式,可以得到:
注意这里的$lvertVert g_{i,j}Vert_2^2 - 1 rvert leq t$也就等价于:
到这里证明也就结束了。
Covering and Packing problem
Covering问题:假如有每个站点有一定的影响力,求最小需要多少个站点,站点的影响力能将一个区域全部覆盖。
Packing问题:各个站点影响力不重合的情况下,一个区域最多能装下几个站点。比如一个盒子能装多少个小球就是packing问题。
最小化rank
现在有问题:
对于一般的L0范数,我们放松到L1范数,如下:
同样,我们可以发现一个最小化一个矩阵的秩实际上是特征值不为零的个数,因此可以有类似的放松:
上面是第三节课所听到的内容,遗漏了很多,只是做个记录。
压缩感知与稀疏模型——Convex Methods for Sparse Signal Recovery的更多相关文章
- [综] Sparse Representation 稀疏表示 压缩感知
稀疏表示 分为 2个过程:1. 获得字典(训练优化字典:直接给出字典),其中字典学习又分为2个步骤:Sparse Coding和Dictionary Update:2. 用得到超完备字典后,对测试数据 ...
- 压缩感知中的lp球:p范数最优化为什么总会导致一个稀疏的解的原因
转自:彬彬有礼. 压缩感知中的lp球:p范数最优化为什么总会导致一个稀疏的解的原因 http://blog.csdn.net/jbb0523/article/details/40268943 题目: ...
- 压缩感知中的数学知识:稀疏、范数、符号arg min
转自:http://blog.csdn.net/jbb0523/article/details/40262629 1.稀疏:什么是K稀疏呢? 在压缩感知里经常提到 "K稀疏" 的概 ...
- 压缩感知Compressive sensing(一)
compressive sensing(CS) 又称 compressived sensing ,compressived sample,大意是在采集信号的时候(模拟到数字),同时完成对信号压缩之意. ...
- 初识压缩感知Compressive Sensing
压缩感知是近年来极为热门的研究前沿,在若干应用领域中都引起瞩目.最近粗浅地看了这方面一些研究,对于Compressive Sensing有了初步理解,在此分享一些资料与精华.本文针对陶哲轩和Emman ...
- 压缩感知“Hello World”代码初步学习
压缩感知代码初学 实现:1-D信号压缩传感的实现 算法:正交匹配追踪法OMP(Orthogonal Matching Pursuit) >几个初学问题 1. 原始信号f是什么?我采集的是 ...
- 图像压缩Vs.压缩感知
压缩感知科普文两则: 原文链接:http://www.cvchina.info/2010/06/08/compressed-sensing-2/ 这几天由于happyharry的辛勤劳动,大伙纷纷表示 ...
- 浅谈压缩感知(二十八):压缩感知重构算法之广义正交匹配追踪(gOMP)
主要内容: gOMP的算法流程 gOMP的MATLAB实现 一维信号的实验与结果 稀疏度K与重构成功概率关系的实验与结果 一.gOMP的算法流程 广义正交匹配追踪(Generalized OMP, g ...
- 浅谈压缩感知(二十六):压缩感知重构算法之分段弱正交匹配追踪(SWOMP)
主要内容: SWOMP的算法流程 SWOMP的MATLAB实现 一维信号的实验与结果 门限参数a.测量数M与重构成功概率关系的实验与结果 SWOMP与StOMP性能比较 一.SWOMP的算法流程 分段 ...
随机推荐
- Centos7开机启动自己的脚本
1. 自己新建一个脚本,如centnet-service.sh 经过后面的几个步骤后,这个脚本在开机的时候会执行,在这个脚本里面可以写你开机的时候想执行的命令,如启动tomcat,oracle等服务. ...
- mint linux的几个问题
刚开机登录时, 键盘不停的输入同一个字符 发现在虚拟机里安装的系统没有问题, 因此怀疑配置有冲突, 新建一个用户果然能解决问题 解决方法: 把 主目录下, 隐藏的配置目录删除, 重新登录后再配置. 4 ...
- selenium破解人人登陆验证码
from selenium import webdriverfrom PIL import Imagefrom chaojiying import Chaojiying_Clientimport ti ...
- C++代码质量度量工具大阅兵
姊妹篇:Java代码质量度量工具大阅兵: https://www.cnblogs.com/jiangxinnju/p/10010177.html cppcheck cppcheck: https:// ...
- Pyspider的简单介绍和初使用
Pyspider Pyspider是由国人(binux)编写的强大的网络爬虫系统 Ptspider带有强大的WebUi / 脚本编辑器 / 任务监控器 / 项目管理器以及结果处理器.他支持多种数据 ...
- java中abstract怎么使用
abstract(抽象)修饰符,可以修饰类和方法 1,abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半 ...
- 吴裕雄--天生自然 PYTHON3开发学习:运算符
#!/usr/bin/python3 a = 21 b = 10 c = 0 c = a + b print ("1 - c 的值为:", c) c = a - b print ( ...
- JS面向对象,原型,继承
ECMAScript有两种开发模式:1.函数式(过程化),2.面向对象(OOP).面向对象的语言有一个标志,那就是类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.但是,ECMAScript ...
- Python opencv计算批量图片的BGR各自的均值
#coding:utf-8 #第一种方式 很慢很慢 自己写的如何计算均值 ''' import cv2 import os def access_pixels(frame): print(frame. ...
- 决策树分类回归,ID3,c4.5,CART,及其Python代码
决策树模型 内部节点表示一个特征或者属性,叶子结点表示一个类.决策树工作时,从根节点开始,对实例的每个特征进行测试,根据测试结果,将实例分配到其子节点中,这时的每一个子节点对应着特征的一个取值,如此递 ...