第三节课的内容。这节课上课到半截困了睡着了,看着大家都很积极请教认真听讲,感觉很惭愧。周末不能熬太晚。这个博客就记录一下醒着时候听到的内容。

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的更多相关文章

  1. [综] Sparse Representation 稀疏表示 压缩感知

    稀疏表示 分为 2个过程:1. 获得字典(训练优化字典:直接给出字典),其中字典学习又分为2个步骤:Sparse Coding和Dictionary Update:2. 用得到超完备字典后,对测试数据 ...

  2. 压缩感知中的lp球:p范数最优化为什么总会导致一个稀疏的解的原因

    转自:彬彬有礼. 压缩感知中的lp球:p范数最优化为什么总会导致一个稀疏的解的原因 http://blog.csdn.net/jbb0523/article/details/40268943 题目: ...

  3. 压缩感知中的数学知识:稀疏、范数、符号arg min

    转自:http://blog.csdn.net/jbb0523/article/details/40262629 1.稀疏:什么是K稀疏呢? 在压缩感知里经常提到 "K稀疏" 的概 ...

  4. 压缩感知Compressive sensing(一)

    compressive sensing(CS) 又称 compressived sensing ,compressived sample,大意是在采集信号的时候(模拟到数字),同时完成对信号压缩之意. ...

  5. 初识压缩感知Compressive Sensing

    压缩感知是近年来极为热门的研究前沿,在若干应用领域中都引起瞩目.最近粗浅地看了这方面一些研究,对于Compressive Sensing有了初步理解,在此分享一些资料与精华.本文针对陶哲轩和Emman ...

  6. 压缩感知“Hello World”代码初步学习

    压缩感知代码初学 实现:1-D信号压缩传感的实现 算法:正交匹配追踪法OMP(Orthogonal Matching Pursuit)   >几个初学问题   1. 原始信号f是什么?我采集的是 ...

  7. 图像压缩Vs.压缩感知

    压缩感知科普文两则: 原文链接:http://www.cvchina.info/2010/06/08/compressed-sensing-2/ 这几天由于happyharry的辛勤劳动,大伙纷纷表示 ...

  8. 浅谈压缩感知(二十八):压缩感知重构算法之广义正交匹配追踪(gOMP)

    主要内容: gOMP的算法流程 gOMP的MATLAB实现 一维信号的实验与结果 稀疏度K与重构成功概率关系的实验与结果 一.gOMP的算法流程 广义正交匹配追踪(Generalized OMP, g ...

  9. 浅谈压缩感知(二十六):压缩感知重构算法之分段弱正交匹配追踪(SWOMP)

    主要内容: SWOMP的算法流程 SWOMP的MATLAB实现 一维信号的实验与结果 门限参数a.测量数M与重构成功概率关系的实验与结果 SWOMP与StOMP性能比较 一.SWOMP的算法流程 分段 ...

随机推荐

  1. CTF-域渗透--HTTP服务--命令注入2

    开门见山 1. 启动metasploit 2. 设置参数参数选项 3. 查看最后设置后的结果 4. 启动监听 5. 使用msfvemon制作webshell 6. 开启apache服务 7. 使用ba ...

  2. .NETCore部署步骤

    1.下载.NET CORE运行时 下载地址:https://dotnet.microsoft.com/download 2.windows安装下载的运行时 3.检查.是否安装成功 ,dotnet -- ...

  3. winform操作windows系统计算器

    winform对系统计算器的调用,启动,最大化最小化显示,在mainwindow设置topmost=true时,正常显示计算器并置顶. /// <summary> /// 获取窗体的句柄函 ...

  4. 查看docker的挂载目录

    docker inspect container_name | grep Mounts -A 20docker inspect container_id | grep Mounts -A 20

  5. Codeforces Round #622 (Div. 2)C2 Skyscrapers最大"尖"性矩形,思维||分治

    题:https://codeforces.com/contest/1313/problem/C2 题意:给出n个数,分别代表第i个位置所能搭建的最大高度,问以哪一个位置的塔的高度为基准向左的每一个塔都 ...

  6. Pmw大控件(二)

    Pmw大控件英文名Pmw Python megawidgets 官方参考文档:Pmw 1.3 Python megawidgets 一,如何使用Pmw大控件 下面以创建一个计数器(Counter)为例 ...

  7. cmake 中的 compile_commands.json 文件

    cmake 是支持多种编译方式的工具,产生多种编译工具可以使用的编译文件,例如常用的gdb. 但是对于clang 编译工具,还需要一个compile_commands.json 这个文件是由cmake ...

  8. Feign整合测试

    1.测试使用 (1)服务调用方引入依赖 <dependency> <groupId>org.springframework.cloud</groupId> < ...

  9. 关于 SQL Server 数据库批量备份与还原的一些 Tips

    一.前提 最近需要将服务器 A 上的数据库全部备份,并在服务器 B 上进行还原,30多个数据库一个一个地用鼠标点,先是 backup,之后时 restore……整个过程实在是太浪费时间了!于是直接写一 ...

  10. php开启opcache

    OPcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销. 一.php.ini配置opchche ...