Deep Learning 系列(4):稀疏编码(sparse coding)和主成分分析(ICA)

一直犹豫稀疏编码怎么写,来来回回看了好几遍的UFLDL。因为这不仅是DL深度学习的重要概念,也是我这段时间一直在研究的stacked ISA 深度特征学习的支柱。

这章将主要介绍一下稀疏编码的主要概念,及主成分分析的方法。

一. 稀疏编码(sparse coding):

稀疏编码算法是一种无监督(unsupervised)学习方法,它用来寻找一组“超完备”基向量来更高效地表示样本数据。(设x的维数为n,则k>n)

超完备基能更有效地找出隐含在输入数据内部的结构与模式。然而,系数a不再由x唯一确定,则,加入“稀疏性”来解决超完备而导致的退化问题。

如:

“稀疏性”为只有很少的几个非零元素或只有很少的几个远大于0的元素。

这里将m个输入向量的稀疏编码代价函数定义为:

其中,S(.)是稀疏代价函数,对远大于0的a进行“惩罚”。通常选择范式代价函数S(a)=|a|及对数代价函数S(a)=log(1+a^2).  通常,为了防止减少a或增加φ,使稀疏惩罚变小,将限制||φ||^2小于常量C。

学习基向量集的方法由1.逐个使用训练样本x来优化系数a,2.一次性处理多个样本来对基向量Φ进行优化。

局限性:即使已经学习得到一组基向量,如果要对新的数据样本进行“编码”,必须再次执行优化过程来得到所需的系数,计算成本增加。

二、 主成分分析(ICA)

稀疏编码得到的基向量之间不一定线性独立。独立主成分分析(ICA)学习的基不仅线性独立,而且还标准正交(ΦΦT=I)

这里,ICA主要学习一组基向量W,通过W将x映射到特征,特征是稀疏的。(与sparse coding相反)。

标准正交ICA的目标函数是:(两种表达)

Minimize   J(W)=|(|Wx|)|

s.t. WW’=I

约束WW’=I 隐含另外两个约束:

1.     基向量的个数须小于输入数据的维度(非超完备),因为要学习一组标准正交基

2.     数据必须无正则ZCA白化。(正则化  值得看!)

优化目标函数,可以使用梯度下降法,并在每一步增加投影步骤:

然而,在UFLDL的教程Deriving
gradientsusing the backpropagation idea
中重建了代价函数为:

套用 BP反向传播求导:(回想UFLDL之反向传导

求偏导公式:

W的正交性公式为:

关于实现代码,可以参见tornadomeet的博客之ICA模型练习。(有改动)

之后,也会上传相关代码。

参考:

1. tornadomeet的博客

2. dark的博客

3. 搜不狐 (正则化和归一化)

4. UFLDL 教程

5. 关于ICA,的文章Natural Image Statistics(Aapo Hyv¨arinen),很长,很经典,值得看!

持续更新中。。。。(PS:CSDN的编辑功能是不是应该升级了呀!不能编辑公式,也不能复制,相当麻烦!)

Deep Learning 系列(4):稀疏编码(sparse coding)和主成分分析(ICA)

时间: 2024-08-04 16:10:38

Deep Learning 系列(4):稀疏编码(sparse coding)和主成分分析(ICA)的相关文章

稀疏编码(Sparse Coding)的前世今生(一) 转自http://blog.csdn.net/marvin521/article/details/8980853

稀疏编码来源于神经科学,计算机科学和机器学习领域一般一开始就从稀疏编码算法讲起,上来就是找基向量(超完备基),但是我觉得其源头也比较有意思,知道根基的情况下,拓展其应用也比较有底气.哲学.神经科学.计算机科学.机器学习科学等领域的砖家.学生都想搞明白人类大脑皮层是如何处理外界信号的,大脑对外界的“印象”到底是什么东东.围绕这个问题,哲学家在那想.神经科学家在那用设备观察.计算机和机器学习科学家则是从数据理论和实验仿真上推倒.仿真.在神经编码和神经计算领域,我所能查到最早关于稀疏编码的文献是199

稀疏编码(Sparse Coding)的前世今生(二)

为了更进一步的清晰理解大脑皮层对信号编码的工作机制(策略),须要把他们转成数学语言,由于数学语言作为一种严谨的语言,能够利用它推导出期望和要寻找的程式.本节就使用概率推理(bayes views)的方式把稀疏编码扩展到随时间变化的图像上,由于人类或者哺乳动物在日常活动中通过眼睛获取的信号是随时间变化而变化的,对于此类信号仍然有一些稀疏系数和基能够描写叙述他们,同类型的处理方式也有慢特征分析(slow features analysis).废话不多说了,进入正题: 我们把图像流(图像序列)看成时空

转:Deep learning系列(十五)有监督和无监督训练

http://m.blog.csdn.net/article/details?id=49591213 1. 前言 在学习深度学习的过程中,主要参考了四份资料: 台湾大学的机器学习技法公开课: Andrew NG的深度学习教程: Li feifei的CNN教程: caffe官网的教程: 对比过这几份资料,突然间产生一个困惑:台大和Andrew的教程中用了很大的篇幅介绍了无监督的自编码神经网络,但在Li feifei的教程和caffe的实现中几乎没有涉及.当时一直搞不清这种现象的原因,直到翻阅了深度

Deep Learning 12_深度学习UFLDL教程:Sparse Coding_exercise(斯坦福大学深度学习教程)

前言 理论知识:UFLDL教程.Deep learning:二十六(Sparse coding简单理解).Deep learning:二十七(Sparse coding中关于矩阵的范数求导).Deep learning:二十九(Sparse coding练习) 实验环境:win7, matlab2015b,16G内存,2T机械硬盘 本节实验比较不好理解也不好做,我看很多人最后也没得出好的结果,所以得花时间仔细理解才行. 实验内容:Exercise:Sparse Coding.从10张512*51

稀疏编码

Deep learning:二十六(Sparse coding简单理解) Sparse coding: 本节将简单介绍下sparse coding(稀疏编码),因为sparse coding也是deep learning中一个重要的分支,同样能够提取出数据集很好的特征.本文的内容是参考斯坦福deep learning教程:Sparse Coding,Sparse Coding: Autoencoder Interpretation,对应的中文教程见稀疏编码,稀疏编码自编码表达. 在次之前,我们需

UFLDL教程笔记及练习答案六(稀疏编码与稀疏编码自编码表达)

稀疏编码(SparseCoding) sparse coding也是deep learning中一个重要的分支,同样能够提取出数据集很好的特征(稀疏的).选择使用具有稀疏性的分量来表示我们的输入数据是有原因的,因为绝大多数的感官数据,比如自然图像,可以被表示成少量基本元素的叠加,在图像中这些基本元素可以是面或者线. 稀疏编码算法的目的就是找到一组基向量使得我们能将输入向量x表示成这些基向量的线性组合: 这里构成的基向量要求是超完备的,即要求k大于n,这样的方程就大多情况会有无穷多个解,此时我们给

Deep Learning论文笔记之(一)K-means特征学习

Deep Learning论文笔记之(一)K-means特征学习 [email protected] http://blog.csdn.net/zouxy09          自己平时看了一些论文,但老感觉看完过后就会慢慢的淡忘,某一天重新拾起来的时候又好像没有看过一样.所以想习惯地把一些感觉有用的论文中的知识点总结整理一下,一方面在整理过程中,自己的理解也会更深,另一方面也方便未来自己的勘察.更好的还可以放到博客上面与大家交流.因为基础有限,所以对论文的一些理解可能不太正确,还望大家不吝指正

转:无监督特征学习——Unsupervised feature learning and deep learning

http://blog.csdn.net/abcjennifer/article/details/7804962 无监督学习近年来很热,先后应用于computer vision, audio classification和 NLP等问题,通过机器进行无监督学习feature得到的结果,其accuracy大多明显优于其他方法进行training.本文将主要针对Andrew的unsupervised learning,结合他的视频:unsupervised feature learning by A

paper 124:【转载】无监督特征学习——Unsupervised feature learning and deep learning

来源:http://blog.csdn.net/abcjennifer/article/details/7804962 无监督学习近年来很热,先后应用于computer vision, audio classification和 NLP等问题,通过机器进行无监督学习feature得到的结果,其accuracy大多明显优于其他方法进行training.本文将主要针对Andrew的unsupervised learning,结合他的视频:unsupervised feature learning b