压缩感知与稀疏模型——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的算法流程 分段 ...
随机推荐
- count(1),count(*)和count(列)的比较
转自:https://www.cnblogs.com/Caucasian/p/7041061.html 1.关于count(1),count(*),和count(列名)的区别 相信大家总是在工作中,或 ...
- JDBC-使用Java连接数据库-基础篇
这是小主第一次写Java连接数据库博客,初学Java之时,Java连接数据库是我最头疼的,不过经过一个月的学习,也差不多略有收获,所以给大家分享一下. Java连接数据库大约需要五大步骤: 创建数据库 ...
- jQuery如何给DOM添加ID
ID每个元素只能有一个,ID名同一页面也不能重复,addID方法是不需要的,和其他属性一样用attr方法就行了, $(singleTarget).attr('id','idName'); 更简单的 $ ...
- leetcode中的sql
1 组合两张表 组合两张表, 题目很简单, 主要考察JOIN语法的使用.唯一需要注意的一点, 是题目中的这句话, "无论 person 是否有地址信息".说明即使Person表, ...
- 吴裕雄--天生自然深度学习TensorBoard可视化:命名空间
# 1. 不同的命名空间. import tensorflow as tf with tf.variable_scope("foo"): a = tf.get_variable(& ...
- Python中的encode和decode
原文地址:http://www.cnblogs.com/tingyugetc/p/5727383.html 1.Python3中对文本和二进制数据进行了比较清晰的区分,文本总是 unicode ,由 ...
- Spring AOP中使用args表达式访问目标方法的参数
Spring AOP 的使用过程理解 首先,aop的使用场景介绍: 1.处理一些通用的非功能性的需求,不影响业务流程,比如说打印日志.性能统计.推送消息等: 2.aop无法拦截static.final ...
- Python笔记_第一篇_面向过程_第一部分_6.语句的嵌套
学完条件控制语句和循环控制语句后,在这里就会把“语言”的精妙之处进行讲解,也就是语句的嵌套.我们在看别人代码的时候总会对一些算法拍案叫绝,里面包含精妙和精密的逻辑分析.语句的嵌套也就是在循环体内可以嵌 ...
- Matlab高级教程_第一篇:Matlab基础知识提炼_06
第十一节:图形操作 第十二节:文件的IO操作个格式化输出
- vncserver
## install packages yum install tigervnc-server xhost ## start vnc and xhost vncserver export DISPLA ...