随笔分类 -  机器学习

上一页 1 2 3 4 5 下一页
Deep learning:二十八(使用BP算法思想求解Sparse coding中矩阵范数导数)
摘要:前言: 关于Sparse coding目标函数的优化会涉及到矩阵求数问题,因为里面有好多矩阵范数的导数,加上自己对矩阵运算不熟悉,推导前面博文Deep learning:二十六(Sparse coding简单理解)中关于拓扑(非拓扑的要简单很多)Sparse coding代价函数对特征变量s导数的公式时,在草稿纸上推导了大半天也没有正确结果。该公式表达式为: 后面继续看UFLDL教程,发现这篇文章Deriving gradients using the backpropagation idea中已经给出了我想要的答案,作者是应用BP神经网络中求网络代价函数导数的思想,将上述代价函... 阅读全文
posted @ 2013-04-15 16:26 tornadomeet 阅读(9878) 评论(1) 推荐(1) 编辑
Deep learning:二十七(Sparse coding中关于矩阵的范数求导)
摘要:前言: 由于在sparse coding模型中求系统代价函数偏导数时需要用到矩阵的范数求导,这在其它模型中应该也很常见,比如说对一个矩阵内的元素值进行惩罚,使其值不能过大,则可以使用F范数(下面将介绍)约束,查阅了下矩阵范数求导的相关资料,本节就简单介绍下。 首先,网络上有大把的人把2范数和F=2时的范数混为一谈,或者说把矩阵p范数和诱导p范数混淆了(也有可能是因为各个版本书所定义的不同吧)。下面我还是以矩阵中权威教材the matrix cookbook和matlab内嵌函数所用的定义来解释。话说the matrix cookbook是一本非常不错的参考书,查找矩阵相关的公式就像查字... 阅读全文
posted @ 2013-04-14 10:21 tornadomeet 阅读(23601) 评论(5) 推荐(0) 编辑
Deep learning:二十六(Sparse coding简单理解)
摘要:Sparse coding: 本节将简单介绍下sparse coding(稀疏编码),因为sparse coding也是deep learning中一个重要的分支,同样能够提取出数据集很好的特征。本文的内容是参考斯坦福deep learning教程:Sparse Coding,Sparse Coding: Autoencoder Interpretation,对应的中文教程见稀疏编码,稀疏编码自编码表达。 在次之前,我们需要对凸优化有些了解,百度百科解释为:”凸优化“ 是指一种比较特殊的优化,是指目标函数为凸函数且由约束条件得到的定义域为凸集的优化问题,也就是说目标函数和约束条件都是”... 阅读全文
posted @ 2013-04-13 13:39 tornadomeet 阅读(45588) 评论(19) 推荐(2) 编辑
Deep learning:二十五(Kmeans单层网络识别性能)
摘要:前言: 本文是用kmeans方法来分析单层网络的性能,主要是用在CIFAR-10图像识别数据库上。关于单层网络的性能可以参考前面的博文:Deep learning:二十(无监督特征学习中关于单层网络的分析)。当然了,本文依旧是参考论文An Analysis of Single-Layer Ne... 阅读全文
posted @ 2013-04-12 11:34 tornadomeet 阅读(15833) 评论(19) 推荐(3) 编辑
Deep learning:二十四(stacked autoencoder练习)
摘要:前言: 本次是练习2个隐含层的网络的训练方法,每个网络层都是用的sparse autoencoder思想,利用两个隐含层的网络来提取出输入数据的特征。本次实验验要完成的任务是对MINST进行手写数字识别,实验内容及步骤参考网页教程Exercise: Implement deep networks for digit classification。当提取出手写数字图片的特征后,就用softmax进行对其进行分类。关于MINST的介绍可以参考网页:MNIST Dataset。本文的理论介绍也可以参考前面的博文:Deep learning:十六(deep networks)。 实验基础: ... 阅读全文
posted @ 2013-04-09 22:05 tornadomeet 阅读(31394) 评论(77) 推荐(1) 编辑
Deep learning:二十三(Convolution和Pooling练习)
摘要:前言: 本次实验是练习convolution和pooling的使用,更深一层的理解怎样对大的图片采用convolution得到每个特征的输出结果,然后采用pooling方法对这些结果进行计算,使之具有平移不变等特性。实验参考的是斯坦福网页教程:Exercise:Convolution and Pooling。也可以参考前面的博客:Deep learning:十七(Linear Decoders,Convolution和Pooling),且本次试验是在前面博文Deep learning:二十二(linear decoder练习)的学习到的特征提取网络上进行的。 实验基础: 首先来看看整... 阅读全文
posted @ 2013-04-09 12:38 tornadomeet 阅读(34362) 评论(56) 推荐(3) 编辑
Deep learning:二十二(linear decoder练习)
摘要:前言: 本节是练习Linear decoder的应用,关于Linear decoder的相关知识介绍请参考:Deep learning:十七(Linear Decoders,Convolution和Pooling),实验步骤参考Exercise: Implement deep networks for digit classification。本次实验是用linear decoder的sparse autoencoder来训练出stl-10数据库图片的patch特征。并且这次的训练权值是针对rgb图像块的。 基础知识: PCA Whitening是保证数据各维度的方差为1,而ZCA ... 阅读全文
posted @ 2013-04-08 14:34 tornadomeet 阅读(11952) 评论(29) 推荐(1) 编辑
Deep learning:二十一(随机初始化在无监督特征学习中的作用)
摘要:这又是Ng团队的一篇有趣的paper。Ng团队在上篇博客文章Deep learning:二十(无监督特征学习中关于单层网络的分析)中给出的结论是:网络中隐含节点的个数,convolution尺寸和移动步伐等参数比网络的层次比网络参数的学习算法本身还要重要,也就是说即使是使用单层的网络,只要隐含层的节点数够大,convolution尺寸和移动步伐较小,用简单的算法(比如kmeans算法)也可取得不亚于其它复杂的deep learning最优效果算法。而在本文On random weights and unsupervised feature learning中又提出了个新观点:即根本就无需通.. 阅读全文
posted @ 2013-04-03 17:03 tornadomeet 阅读(8830) 评论(0) 推荐(2) 编辑
Deep learning:二十(无监督特征学习中关于单层网络的分析)
摘要:本文是读Ng团队的论文” An Analysis of Single-Layer Networks in Unsupervised Feature Learning”后的分析,主要是针对一个隐含层的网络结构进行分析的,分别对比了4种网络结构,k-means, sparse autoencoder, sparse rbm, gmm。最后作者得出了下面几个结论:1. 网络中隐含层神经元节点的个数,采集的密度(也就是convolution时的移动步伐)和感知区域大小对最终特征提取效果的影响很大,甚至比网络的层次数,deep learning学习算法本身还要重要。2. Whitening在预处理过.. 阅读全文
posted @ 2013-04-02 23:47 tornadomeet 阅读(16145) 评论(1) 推荐(1) 编辑
Deep learning:十九(RBM简单理解)
摘要:这篇博客主要用来简单介绍下RBM网络,因为deep learning中的一个重要网络结构DBN就可以由RBM网络叠加而成,所以对RBM的理解有利于我们对DBN算法以及deep learning算法的进一步理解。Deep learning是从06年开始火得,得益于大牛Hinton的文章,不过这位大牛的文章比较晦涩难懂,公式太多,对于我这种菜鸟级别来说读懂它的paper压力太大。纵观大部分介绍RBM的paper,都会提到能量函数。因此有必要先了解下能量函数的概念。参考网页http://202.197.191.225:8080/30/text/chapter06/6_2t24.htm关于能量函数.. 阅读全文
posted @ 2013-03-27 15:31 tornadomeet 阅读(86487) 评论(21) 推荐(3) 编辑
Deep learning:十八(关于随机采样)
摘要:由于最近在看deep learning中的RBMs网络,而RBMs中本身就有各种公式不好理解,再来几个Gibbs采样,就更令人头疼了。所以还是觉得先看下Gibbs采样的理论知识。经过调查发现Gibbs是随机采样中的一种。所以本节也主要是简单层次的理解下随机采用知识。参考的知识是博客随机模拟的基本思想和常用采样方法(sampling),该博文是网上找到的解释得最通俗的。其实学校各种带数学公式的知识时,最好有学者能用通俗易懂的语言介绍,这对入门学者来说极其重要。当然了,还参考了网页http://www.jdl.ac.cn/user/lyqing/StatLearning/StatlLearni.. 阅读全文
posted @ 2013-03-26 15:39 tornadomeet 阅读(36558) 评论(0) 推荐(2) 编辑
Deep learning:十七(Linear Decoders,Convolution和Pooling)
摘要:本文主要是学习下Linear Decoder已经在大图片中经常采用的技术convolution和pooling,分别参考网页http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial中对应的章节部分。 Linear Decoders: 以三层的稀疏编码神经网络而言,在sparse autoencoder中的输出层满足下面的公式: 从公式中可以看出,a3的输出值是f函数的输出,而在普通的sparse autoencoder中f函数一般为sigmoid函数,所以其输出值的范围为(0,1),所以可以知道a3的输出值范围也... 阅读全文
posted @ 2013-03-25 14:44 tornadomeet 阅读(23080) 评论(4) 推荐(1) 编辑
Deep learning:十六(deep networks)
摘要:本节参考的是网页http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial中关于Building Deep Networks for Classification一节的介绍。分下面2大部分内容: 1. 从self-taught到deep networks: 从前面的关于self-taught learning介绍(Deep learning:十五(Self-Taught Learning练习))可以看到,该ML方法在特征提取方面是完全用的无监督方法,本次要讲的就是在上面的基础上再用有监督的方法继续对网络的参数进行微调,这... 阅读全文
posted @ 2013-03-25 11:09 tornadomeet 阅读(24537) 评论(8) 推荐(0) 编辑
Deep learning:十五(Self-Taught Learning练习)
摘要:前言: 本次实验主要是练习soft- taught learning的实现。参考的资料为网页:http://deeplearning.stanford.edu/wiki/index.php/Exercise:Self-Taught_Learning。Soft-taught leaning是用的无监督学习来学习到特征提取的参数,然后用有监督学习来训练分类器。这里分别是用的sparse autoencoder和softmax regression。实验的数据依旧是手写数字数据库MNIST Dataset. 实验基础: 从前面的知识可以知道,sparse autoencoder的输出应该是... 阅读全文
posted @ 2013-03-24 17:57 tornadomeet 阅读(22216) 评论(55) 推荐(1) 编辑
Deep learning:十四(Softmax Regression练习)
摘要:前言: 这篇文章主要是用来练习softmax regression在多分类器中的应用,关于该部分的理论知识已经在前面的博文中Deep learning:十三(Softmax Regression)有所介绍。本次的实验内容是参考网页:http://deeplearning.stanford.edu/wiki/index.php/Exercise:Softmax_Regression。主要完成的是手写数字识别,采用的是MNIST手写数字数据库,其中训练样本有6万个,测试样本有1万个,且数字是0~9这10个。每个样本是一张小图片,大小为28*28的。 实验环境:matlab2012a 实验... 阅读全文
posted @ 2013-03-23 20:17 tornadomeet 阅读(28461) 评论(74) 推荐(0) 编辑
Deep learning:十三(Softmax Regression)
摘要:在前面的logistic regression博文Deep learning:四(logistic regression练习) 中,我们知道logistic regression很适合做一些非线性方面的分类问题,不过它只适合处理二分类的问题,且在给出分类结果时还会给出结果的概率。那么如果需要用类似的方法(这里类似的方法指的是输出分类结果并且给出概率值)来处理多分类问题的话该怎么扩展呢?本次要讲的就是对logstic regression扩展的一种多分类器,softmax regression。参考的内容为网页:http://deeplearning.stanford.edu/wiki/in.. 阅读全文
posted @ 2013-03-22 17:15 tornadomeet 阅读(67361) 评论(11) 推荐(3) 编辑
Deep learning:十二(PCA和whitening在二自然图像中的练习)
摘要:前言: 现在来用PCA,PCA Whitening对自然图像进行处理。这些理论知识参考前面的博文:Deep learning:十(PCA和whitening)。而本次试验的数据,步骤,要求等参考网页:http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial 。实验数据是从自然图像中随机选取10000个12*12的patch,然后对这些patch进行99%的方差保留的PCA计算,最后对这些patch做PCA Whitening和ZCA Whitening,并进行比较。 实验环境:matlab2012a 实验过程及结果:... 阅读全文
posted @ 2013-03-22 14:04 tornadomeet 阅读(19738) 评论(5) 推荐(1) 编辑
Deep learning:十一(PCA和whitening在二维数据中的练习)
摘要:前言: 这节主要是练习下PCA,PCA Whitening以及ZCA Whitening在2D数据上的使用,2D的数据集是45个数据点,每个数据点是2维的。参考的资料是:Exercise:PCA in 2D。结合前面的博文Deep learning:十(PCA和whitening)理论知识,来进一步理解PCA和Whitening的作用。 matlab某些函数: scatter: scatter(X,Y,,,’’); – 点的大小控制,设为和X,Y同长度一维向量,则值决定点的大小;设为常数或缺省,则所有点大小统一。 – 点的颜色控制,设为和X,Y同长度一维向量,则色彩由值大小... 阅读全文
posted @ 2013-03-21 16:07 tornadomeet 阅读(15538) 评论(8) 推荐(2) 编辑
Deep learning:十(PCA和whitening)
摘要:PCA: PCA的具有2个功能,一是维数约简(可以加快算法的训练速度,减小内存消耗等),一是数据的可视化。 PCA并不是线性回归,因为线性回归是保证得到的函数是y值方面误差最小,而PCA是保证得到的函数到所降的维度上的误差最小。另外线性回归是通过x值来预测y值,而PCA中是将所有的x样本都同等对待。 在使用PCA前需要对数据进行预处理,首先是均值化,即对每个特征维,都减掉该维的平均值,然后就是将不同维的数据范围归一化到同一范围,方法一般都是除以最大值。但是比较奇怪的是,在对自然图像进行均值处理时并不是不是减去该维的平均值,而是减去这张图片本身的平均值。因为PCA的预处理是按照不同应用... 阅读全文
posted @ 2013-03-21 13:34 tornadomeet 阅读(25411) 评论(1) 推荐(2) 编辑
Deep learning:九(Sparse Autoencoder练习)
摘要:前言: 现在来进入sparse autoencoder的一个实例练习,参考Ng的网页教程:Exercise:Sparse Autoencoder。这个例子所要实现的内容大概如下:从给定的很多张自然图片中截取出大小为8*8的小patches图片共10000张,现在需要用sparse autoencoder的方法训练出一个隐含层网络所学习到的特征。该网络共有3层,输入层是64个节点,隐含层是25个节点,输出层当然也是64个节点了。 实验基础: 其实实现该功能的主要步骤还是需要计算出网络的损失函数以及其偏导数,具体的公式可以参考前面的博文Deep learning:八(Sparse Aut... 阅读全文
posted @ 2013-03-20 10:58 tornadomeet 阅读(53971) 评论(105) 推荐(4) 编辑

上一页 1 2 3 4 5 下一页

阿萨德发斯蒂芬