sparse coding稀疏表达入门
最近在看sparse and redundant representations这本书,进度比较慢,不过力争看过的都懂,不把时间浪费掉。才看完了不到3页吧,书上基本给出了稀疏表达的概念以及传统的求法。我也用书中的例子来引入吧。
1:矩阵A(n*m),其中n远远小于m,一副图片经过缩小或者模糊处理导致该图片所占用的空间变小了,此时用向量b来表示,A表示图片所经过的处理,X代表原图片,那么这个就可以表示成为:
Ax=b
2:因为A是欠定的,一般情况下x的解有很多种,而我们要的是那种最稀疏的x。个人理解这个就是稀疏表达吧。
3:接下来文章引入了如何求x的方法,假定j(x)是求x最稀疏的函数,并且前提条件是Ax=b。用数学表达也就是
Min j(x) s.t. Ax=b
4:为了求出这个j(x),一般情况下这个j(x)对应的是x的范数||x||右下角2的平方最小值,为了求出||x||右下角2的平方最小值,我们引入了拉格朗日乘数。关于拉格朗日乘数,我在下面补充,省的再去找资料看了。

拉格朗日乘数:它是专门为某变量在其他约束条件下求极值的问题解决方案,当m个变量在K个约束条件下求极值的话,它把变成k+m个数来求变量的极值,给约束条件加一个乘子即可。也就是我们上面的列出来的。
为了求出x的最小值,对x求偏导(当导数为0的地方时极值点)最终得到结果如下:

那么X的最优化的解就是(是让上式为0得到的):

把该值代入最初的Ax=b中可以求得拉姆达的值,然后就得到X最优化的解为:

补充:个人对稀疏表达的理解是,如果输入为一个很复杂的A,为了得到稀疏的表达b,那么经过一系列的操作x得到b,我觉得目的是为了得到稀疏表达的b,但是书中给出的例子是这样,也可能我对信号处理这些地方从没有过接触,导致的不太理解。。目前看了3页书,实在觉得太难看下去了,看到一个点都要去复习几天的书,才能够连贯起来。。
sparse coding稀疏表达入门的更多相关文章
- {Reship}{Sparse Representation}稀疏表示入门
声明:本人属于绝对的新手,刚刚接触“稀疏表示”这个领域.之所以写下以下的若干个连载,是鼓励自己不要急功近利,而要步步为赢!所以下文肯定有所纰漏,敬请指出,我们共同进步! 踏入“稀疏表达”(Sparse ...
- 理解sparse coding
理解sparse coding 稀疏编码系列: (一)----Spatial Pyramid 小结 (二)----图像的稀疏表示——ScSPM和LLC的总结 (三)----理解sparse codin ...
- sparse coding
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- 稀疏编码(Sparse Coding)的前世今生(一) 转自http://blog.csdn.net/marvin521/article/details/8980853
稀疏编码来源于神经科学,计算机科学和机器学习领域一般一开始就从稀疏编码算法讲起,上来就是找基向量(超完备基),但是我觉得其源头也比较有意思,知道根基的情况下,拓展其应用也比较有底气.哲学.神经科学.计 ...
- 稀疏表达是要求信号在该模型下的sparse code,只有少数的non-zero elements
为什么sparse representation比起其它成分分析方法(DFT,Wavelet)能得到更好的效果? - 知乎 https://www.zhihu.com/question/241241 ...
- [综] Sparse Representation 稀疏表示 压缩感知
稀疏表示 分为 2个过程:1. 获得字典(训练优化字典:直接给出字典),其中字典学习又分为2个步骤:Sparse Coding和Dictionary Update:2. 用得到超完备字典后,对测试数据 ...
- {Reship}{Sparse Representation}稀疏表示
===================================================== http://blog.sina.com.cn/s/blog_6d0e97bb01015wo ...
- Study notes for Sparse Coding
Sparse Coding Sparse coding is a class of unsupervised methods for learning sets of over-complete ba ...
- [Paper] **Before GAN: sparse coding
读罢[UFLDL] ConvNet,为了知识体系的完整,看来需要实战几篇论文深入理解一些原理. 如下是未来博文系列的初步设想,为了hold住 GAN而必备的知识体系,也是必经之路. [Paper] B ...
随机推荐
- JS中的this用法详解
随着对js的深入学习和使用,你会发现它里面包含了很多令人困惑的机制,比如对象.闭包.原型链继承等等,而这其中肯定包含令你现在或者曾经费解的this,如果你不把心一横,花点时间还真不明白这个this的用 ...
- 如何判断PHP 是ts还是nts版的
通过phpinfo(); 查看其中的 Thread Safety 项,这个项目就是查看是否是线程安全,如果是:enabled,一般来说应该是ts版,否则是nts版.
- JS判断鼠标从什么方向进入一个容器
偶然将想到的一个如何判断鼠标从哪个方向进入一个容器的问题.首先想到的是给容器的四个边添加几个块,然后看鼠标进入的时候哪个块先监听到鼠标事件.不过这样麻烦太多了.google了一下找到了一个不错的解决方 ...
- Android L Ripple的使用
声明:Demo并不是有本人所写,本人只是总结在这里 工程源码: RippleDemo.zip ---------------------------------------------------- ...
- highchars
var drawChart = function(sourceUrl) { $.ajax({ "type" : "post", "url" ...
- mysql基本知识---20151127-1
2015年11月27日,作为PHPer的我开始全面学习mysql数据库. 基本语法: 1.连接服务器: mysql>mysql -h host -u root -p 回车 输入密码(本地环境可以 ...
- python之函数嵌套
python很多特性与JavaScript是相似甚至相同的: 1. 无类型 2. 函数亦对象 .... 自然: python也允许函数嵌套, 这与JavaScript中函数闭包的作用一样....
- Nginx模块开发-理解HTTP配置
理解HTTP配置 相关数据结构 先明白Nginx下述数据结构,再理解 HTTP配置的解析与合并过程 ngx_module_t 官方API typedef struct{ NGX_MODULE_V1; ...
- C#调用Python 脚本语言
1. 安装IronPython http://pan.baidu.com/s/1qW4jNJ2 下载IronPython 2.7 安装下载下来的安装包 2. 创建项目 创建一个C#的Windows窗 ...
- ThinkPHP学习笔记 实例化模型的四种方法
创建Action类 [php] <?php class NewObjectAction extends Action{ public function index(){ ...