Sparsity稀疏编码(三)
稀疏编码(sparse coding)和低秩矩阵(low rank)的区别
上两个小结介绍了稀疏编码的生命科学解释,也给出一些稀疏编码模型的原型(比如LASSO),稀疏编码之前的探讨文章就不说了,今天开始进入机器学习领域的稀疏表达。稀疏编码进入机器学习领域后,出现了很多应用,比如计算视觉领域的图像去噪,去模糊,物体检测,目标识别和互联网领域的推荐系统(Collaborative filtering)用到的low rank,其实sparsecoding和low rank有点区别,前者是稀疏系数,后者是稀疏基。就统称他们为稀疏表达吧。接下来简单的阐述下sparse coding和low rank的区别:
Sparsecoding就是围绕着开展工作,比如找到稀疏字典D和稀疏系数 alpha,如果X是人脸图像,训练的目标就是为了找到合适的字典基和一些系数的线性组合可以重建人脸X,假设训练样本有K类(即为K个人),每类有N个样本,那么D可表达为:
,其中下标i表示第i类。
不过还是要强调一下d表示一张图像向量,假设维度为m。这样某个样本可以表示为:
,其中
,这下终于和sparse coding扯上关系咯,alpha是稀疏的,好多0啊
。如果假设图像还有一些噪声,那么再扩展一下,可以继续表示为:
到此位置机器学习的sparse coding模型基本就搭建好了,接着要做的就是对它求解,不得不说的是公式中都是未知数,看上去解很多,不过还有一个约束没用上,就是让alpha和e的非零个数尽可能的少,稀疏嘛,因此最终建立模型(公式一)所示:
(公式一)
对其优化求解就行了,常用的方法有coordinate descent和Orthogonal Matching Pursuit(OMP)方法,求解的alpha和e是稀疏的,但是求解方法主要看优化,各种优化算法层出不穷,这个话题就打住吧。
现在来看下low rank,先来看一个经典问题,如(图一)所示:
(图一)
(图一)是stanford人工智能教授andrew ng的课件截图,说的是四个人对不同电影打分,其中Alice和Bob偏向于喜欢看言情的浪漫电影,而Carol和Dave偏向于动作片和武侠片,可以推测出Alice和Bob是女的吧,而Carol和Dave则可能是男的。矩阵Y中也可以大概的看出这种规律,矩阵前两行数据(男同学打的分)很相似,可以把他们看成同一个轴,而下面两行看成另外一个轴,这两个轴构成了打分空间,因此轴就是基,类似于稀疏编码的字典。但是基是稀疏的,而系数不是稀疏的。其实现实中有很多类似的数据,比如你把对齐的同一个人脸数据按照这样的矩阵排放,同样是类似规律。同学们可能在找系数在哪,系数如(图二)所示:
(图二)
优化求解模型如(公式二)所示:
(公式二)
没错,和上面一样,又要求X又要求theta,求解方法仍然可以采用 coordinate descent,但也有其他求解方法,其他方法主要从凸优化的角度来考虑,数学界的新星陶哲轩证明了在RIP条件下L0范数(就是计算元素数的)优化和 L1范数优化具有相同的解,然后L1范数是个凸优化问题,顺便松弛到trace norm来求解,背后有很多数学证明,今天就说到这了,优化求解方法以后慢慢来触及吧。
对于稀疏表示的应用可以看看一篇名为“稀疏表达”的上中下博文
转载请注明链接:http://blog.csdn.net/cuoqu/article/details/9040731
Sparsity稀疏编码(三)的更多相关文章
- Sparsity稀疏编码(二)
为了更进一步的清晰理解大脑皮层对信号编码的工作机制(策略),需要把他们转成数学语言,因为数学语言作为一种严谨的语言,可以利用它推导出期望和要寻找的程式.本节就使用概率推理(bayes v ...
- Sparsity稀疏编码(一)
稀疏编码来源于神经科学,计算机科学和机器学习领域一般一开始就从稀疏编码算法讲起,上来就是找基向量(超完备基),但是我觉得其源头也比较有意思,知道根基的情况下,拓展其应用也比较有底气.哲学.神经科学.计 ...
- 稀疏编码概率解释(基于1996年Olshausen与Field的理论 )
一.Sparse Coding稀疏编码 稀疏编码算法是一种无监督学习方法,它用来寻找一组“超完备”基向量来更高效地表示样本数据.稀疏编码算法的目的就是找到一组基向量 ,使得我们能将输入向量 表示为这些 ...
- UFLDL深度学习笔记 (七)拓扑稀疏编码与矩阵化
UFLDL深度学习笔记 (七)拓扑稀疏编码与矩阵化 主要思路 前面几篇所讲的都是围绕神经网络展开的,一个标志就是激活函数非线性:在前人的研究中,也存在线性激活函数的稀疏编码,该方法试图直接学习数据的特 ...
- 稀疏编码(Sparse Coding)的前世今生(一) 转自http://blog.csdn.net/marvin521/article/details/8980853
稀疏编码来源于神经科学,计算机科学和机器学习领域一般一开始就从稀疏编码算法讲起,上来就是找基向量(超完备基),但是我觉得其源头也比较有意思,知道根基的情况下,拓展其应用也比较有底气.哲学.神经科学.计 ...
- 稀疏编码(Sparse Coding)的前世今生(二)
为了更进一步的清晰理解大脑皮层对信号编码的工作机制(策略),须要把他们转成数学语言,由于数学语言作为一种严谨的语言,能够利用它推导出期望和要寻找的程式.本节就使用概率推理(bayes views)的方 ...
- 转载 deep learning:八(SparseCoding稀疏编码)
转载 http://blog.sina.com.cn/s/blog_4a1853330102v0mr.html Sparse coding: 本节将简单介绍下sparse coding(稀疏编码),因 ...
- 稀疏编码直方图----一种超越HOG的轮廓特征
该论文是一篇来自CMU 的CVPR2013文章,提出了一种基于稀疏编码的轮廓特征,简称HSC(Histogram of Sparse Code),并在目标检测中全面超越了HOG(Histogram o ...
- 基于字典SR各种方法【稀疏编码多种方法】
基于字典的图像超分辨率实现 - CSDN博客 http://blog.csdn.net/u011630458/article/details/65635155 简介 这段时间在看基于字典的单帧图像超分 ...
随机推荐
- Spring------SpringBoot参考书籍
转载: http://download.csdn.net/download/plus_dy/8972653
- java总结(1)——java的特点
之前学习java仅仅是单纯的学习,老师要求学习.所以就学习.可是没有细致考虑过java的一些特别之处,比方,我们为什么要学习java而不是其它的语言,它必定有选择它的特点.所以,从如今開始,仅仅有埋头 ...
- python2.0_s12_day12_html介绍
html 就像一个裸体的人css 就像是人穿的衣服js 就像是人做的动作一.网页文件HTML的构成 1.对应规则的选择,就如同我们写python时#!/usr/bin/env python3.5 这么 ...
- laravel 使用 vue (gulp)
1)首先要安装 gulp 看这里 http://www.cnblogs.com/tujia/p/6397779.html 2)编辑js 默认 laravel 里有一个 /resources/asset ...
- docker tag 详解
docker tag 用于给镜像打标签,语法如下: docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] ① 比如我现在有一个 centos 镜像: [ro ...
- Nutch URL过滤配置规则
nutch网上有不少有它的源码解析,但是采集这块还是不太让人容易理解.今天终于知道怎么,弄的.现在把crawl-urlfilter.txt文件贴出来,让大家一块交流,也给自己备忘录一个. # Lice ...
- background-clip和background-origin
background-clip 修剪:背景颜色从哪些区域开始显示,默认从border开始该属性指定了背景在哪些区域可以显示,但与背景开始绘制的位置无关,背景的绘制的位置可以出现在不显示背景的区域,这时 ...
- MQTT协议笔记之发布流程
MQTT协议笔记之发布流程 前言 这次要讲到客户端/服务器的发布消息行为,与PUBLISH相关的消息类型,会在这里看到. PUBLISH 客户端发布消息经由服务器分发到所有对应的订阅者那里.一个订阅者 ...
- FlipClock.js时钟,计数,3D翻转插件
1.FlipClock.js能够自动定义计数,时钟的翻牌效果,调用简单,下面简单记录下用法 2.官网地址:http://www.flipclockjs.com/ 3.调用2个文件 <link h ...
- 【BZOJ2142】礼物 组合数+CRT
[BZOJ2142]礼物 Description 小E从商店中购买了n件礼物,打算送给m个人,其中送给第i个人礼物数量为wi.请你帮忙计算出送礼物的方案数(两个方案被认为是不同的,当且仅当存在某个人在 ...