2013年5月1日
摘要: 前言: 最近一直在思考,如果我使用SCSAE(即stacked convolution sparse autoendoer)算法来训练一个的deep model的话,其网络的第二层开始后续所有网络层的训练数据从哪里来呢?其实如果在这个问题中,当我们的样本大小(指提供的最原始数据,比如大的图片集)和我们所训练第一个网络的输入维度是一样的话,那么第二层网络的输入即第一层网络的输出(后续的网络依次类推),但是这种情况下根本就不会涉及到convolution(一般有convolution的地方也会有pooling),所以不属于我想要讨论的SCSAE框架。后面根据自己对deep learning的... 阅读全文
posted @ 2013-05-01 15:32 tornadomeet 阅读(21799) 评论(11) 推荐(1) 编辑
  2013年4月30日
摘要: 前言: 本文是针对上篇博文Deep learning:三十四(用NN实现数据的降维)的练习部分,也就是Hition大牛science文章reducing the dimensionality of data with neural networks的code部分,其code下载见:http:/... 阅读全文
posted @ 2013-04-30 20:03 tornadomeet 阅读(25494) 评论(75) 推荐(8) 编辑
  2013年4月29日
摘要: 数据降维的重要性就不必说了,而用NN(神经网络)来对数据进行大量的降维是从2006开始的,这起源于2006年science上的一篇文章:reducing the dimensionality of data with neural networks,作者就是鼎鼎有名的Hinton,这篇文章也标志着deep learning进入火热的时代。 今天花了点时间读了下这篇文章,下面是一点笔记: 多层感知机其实在上世纪已经被提出来了,但是为什么它没有得到广泛应用呢?其原因在于对多层非线性网络进行权值优化时很难得到全局的参数。因为一般使用数值优化算法(比如BP算法)时需要随机给网络赋一个值,而当这... 阅读全文
posted @ 2013-04-29 22:52 tornadomeet 阅读(15825) 评论(3) 推荐(1) 编辑
  2013年4月25日
摘要: 基础知识: 在sparse coding(可参考Deep learning:二十六(Sparse coding简单理解),Deep learning:二十九(Sparse coding练习))模型中,学习到的基是超完备集的,也就是说基集中基的个数比数据的维数还要大,那么对一个数据而言,将其分解为基的线性组合时,这些基之间本身就是线性相关的。如果我们想要得到线性无关的基集,那么基集中元素的个数必须小于或等于样本的维数,本节所讲的ICA(Independent Component Analysis,独立成分分析)模型就可以完成这一要求,它学习到的基之间不仅保证线性无关,还保证了相互正交。本节... 阅读全文
posted @ 2013-04-25 11:03 tornadomeet 阅读(10954) 评论(4) 推荐(1) 编辑
摘要: 前言: 本次主要是重新复习下Sparse autoencoder基础知识,并且加入点自己的理解。关于sparse autoencoder在前面的博文Deep learning:八(Sparse Autoencoder)中已有所介绍。 基础知识: 首先来看看为什么sparse autoencoder能够学习到输入数据的特征呢?当使用autoencoder时,隐含层节点的个数会比输入层小(一般情况下),而autoencoder又要能够重构输入数据,说明隐含层节点压缩了原始数据,既然这个压缩是有效的,则它就代表了输入数据(因为输入数据每个分量值并不是相互独立的)的一部分特征了。如果对隐含节... 阅读全文
posted @ 2013-04-25 00:14 tornadomeet 阅读(7208) 评论(3) 推荐(0) 编辑
  2013年4月24日
摘要: 前言: 本节主要是来练习下在machine learning(不仅仅是deep learning)设计前的一些数据预处理步骤,关于数据预处理的一些基本要点在前面的博文Deep learning:三十(关于数据预处理的相关技巧)中已有所介绍,无非就是数据的归一化和数据的白化,而数据的归一化又分为尺度归一化,均值方差归一化等。数据的白化常见的也有PCA白化和ZCA白化。 实验基础: 本次实验所用的数据为ASL手势识别的数据,数据可以在网站http://personal.ee.surrey.ac.uk/Personal/N.Pugeault/index.php?section=Finger... 阅读全文
posted @ 2013-04-24 09:47 tornadomeet 阅读(17420) 评论(7) 推荐(1) 编辑
  2013年4月20日
摘要: 前言: 本文主要是介绍下在一个实际的机器学习系统中,该怎样对数据进行预处理。个人感觉数据预处理部分在整个系统设计中的工作量占了至少1/3。首先数据的采集就非常的费时费力,因为这些数据需要考虑各种因素,然后有时还需对数据进行繁琐的标注。当这些都有了后,就相当于我们有了元素的raw数据,然后就可以进行下面的数据预处理部分了。本文是参考的UFLDL网页教程:Data Preprocessing,在该网页的底部可以找到其对应的中文版。 基础知识: 一般来说,算法的好坏一定程度上和数据是否归一化,是否白化有关。但是在具体问题中,这些数据预处理中的参数其实还是很难准确得到的,当然了,除非你对对应... 阅读全文
posted @ 2013-04-20 21:05 tornadomeet 阅读(18717) 评论(1) 推荐(2) 编辑
  2013年4月18日
摘要: 一般约定我们是按照从小到大的顺序排序。按照向量的形式来参考排序中数组元素的相对位置,行向量中最左边为数组的第一个元素,且称为前面。列向量中最上面的元素为数组的第一个元素,也是称为前边。对常见的排序算法的思想要有个认识,比如说:冒泡排序,选择排序,插入排序,快速排序,shell排序,堆排序,归并排序,基排序。算法的稳定性是看原先数据中相同的元素值的顺序在排序后是否改变了?如果依旧保持不变,则说明该算法是稳定的。比如说,选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。选择排序是每次找到数据中最大的或者最小的数,然后和第一个数交换,每 阅读全文
posted @ 2013-04-18 00:04 tornadomeet 阅读(3344) 评论(0) 推荐(0) 编辑
  2013年4月16日
摘要: 前言 本节主要是练习下斯坦福DL网络教程UFLDL关于Sparse coding那一部分,具体的网页教程参考:Exercise:Sparse Coding。该实验的主要内容是从2w个自然图像的patches中分别采用sparse coding和拓扑的sparse coding方法进行学习,并观察学习到的这些图像基图像的特征。训练数据时自然图片IMAGE,在给出的教程网站上有。 实验基础 Sparse coding的主要是思想学习输入数据集”基数据”,一旦获得这些”基数据”,输入数据集中的每个数据都可以用这些”基数据”的线性组合表示,而稀疏性则体现在这些线性组合系数是系数的,即大部分的... 阅读全文
posted @ 2013-04-16 16:41 tornadomeet 阅读(19960) 评论(66) 推荐(3) 编辑
  2013年4月15日
摘要: 前言: 关于Sparse coding目标函数的优化会涉及到矩阵求数问题,因为里面有好多矩阵范数的导数,加上自己对矩阵运算不熟悉,推导前面博文Deep learning:二十六(Sparse coding简单理解)中关于拓扑(非拓扑的要简单很多)Sparse coding代价函数对特征变量s导数的公式时,在草稿纸上推导了大半天也没有正确结果。该公式表达式为: 后面继续看UFLDL教程,发现这篇文章Deriving gradients using the backpropagation idea中已经给出了我想要的答案,作者是应用BP神经网络中求网络代价函数导数的思想,将上述代价函... 阅读全文
posted @ 2013-04-15 16:26 tornadomeet 阅读(9862) 评论(1) 推荐(1) 编辑
  2013年4月14日
摘要: 前言: 由于在sparse coding模型中求系统代价函数偏导数时需要用到矩阵的范数求导,这在其它模型中应该也很常见,比如说对一个矩阵内的元素值进行惩罚,使其值不能过大,则可以使用F范数(下面将介绍)约束,查阅了下矩阵范数求导的相关资料,本节就简单介绍下。 首先,网络上有大把的人把2范数和F=2时的范数混为一谈,或者说把矩阵p范数和诱导p范数混淆了(也有可能是因为各个版本书所定义的不同吧)。下面我还是以矩阵中权威教材the matrix cookbook和matlab内嵌函数所用的定义来解释。话说the matrix cookbook是一本非常不错的参考书,查找矩阵相关的公式就像查字... 阅读全文
posted @ 2013-04-14 10:21 tornadomeet 阅读(23558) 评论(5) 推荐(0) 编辑
  2013年4月13日
摘要: Sparse coding: 本节将简单介绍下sparse coding(稀疏编码),因为sparse coding也是deep learning中一个重要的分支,同样能够提取出数据集很好的特征。本文的内容是参考斯坦福deep learning教程:Sparse Coding,Sparse Coding: Autoencoder Interpretation,对应的中文教程见稀疏编码,稀疏编码自编码表达。 在次之前,我们需要对凸优化有些了解,百度百科解释为:”凸优化“ 是指一种比较特殊的优化,是指目标函数为凸函数且由约束条件得到的定义域为凸集的优化问题,也就是说目标函数和约束条件都是”... 阅读全文
posted @ 2013-04-13 13:39 tornadomeet 阅读(45451) 评论(19) 推荐(2) 编辑
  2013年4月12日
摘要: 前言: 本文是用kmeans方法来分析单层网络的性能,主要是用在CIFAR-10图像识别数据库上。关于单层网络的性能可以参考前面的博文:Deep learning:二十(无监督特征学习中关于单层网络的分析)。当然了,本文依旧是参考论文An Analysis of Single-Layer Ne... 阅读全文
posted @ 2013-04-12 11:34 tornadomeet 阅读(15815) 评论(19) 推荐(3) 编辑
  2013年4月9日
摘要: 前言: 本次是练习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 阅读(31361) 评论(77) 推荐(1) 编辑
摘要: 前言: 本次实验是练习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 阅读(34338) 评论(56) 推荐(3) 编辑
  2013年4月8日
摘要: 前言: 本节是练习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 阅读(11941) 评论(29) 推荐(1) 编辑
  2013年4月4日
摘要: 装win7系统的背景: 当年买这个笔记本时系统是自带的win7家庭版,后面升级到了旗舰版,用了不到半年感觉系统越来越卡,再加上那时候自认为xp的兼容性要比win7强些,对搞程序开发的人来说要方便点,而是后面就换成xp系统了,一直用到现在,当然了,这个系统也是越用越卡。中间因为卡也重装过。 最近需要弄点机器学习的matlab程序,由于训练数据大小上百兆很常见,所以程序中对数组的要求也很高。而本人本事就只有2G物体内存,在32bit的xp下使用32bit的matlab,经常出现out of memory问题,甚是烦人。即使加大虚拟内存,且打开xp系统的3GB开关也改善不了多少。因为在mat... 阅读全文
posted @ 2013-04-04 22:27 tornadomeet 阅读(6851) 评论(0) 推荐(0) 编辑
  2013年4月3日
摘要: 这又是Ng团队的一篇有趣的paper。Ng团队在上篇博客文章Deep learning:二十(无监督特征学习中关于单层网络的分析)中给出的结论是:网络中隐含节点的个数,convolution尺寸和移动步伐等参数比网络的层次比网络参数的学习算法本身还要重要,也就是说即使是使用单层的网络,只要隐含层的节点数够大,convolution尺寸和移动步伐较小,用简单的算法(比如kmeans算法)也可取得不亚于其它复杂的deep learning最优效果算法。而在本文On random weights and unsupervised feature learning中又提出了个新观点:即根本就无需通.. 阅读全文
posted @ 2013-04-03 17:03 tornadomeet 阅读(8821) 评论(0) 推荐(2) 编辑
  2013年4月2日
摘要: 本文是读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 阅读(16132) 评论(1) 推荐(1) 编辑
  2013年3月27日
摘要: 这篇博客主要用来简单介绍下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 阅读(86411) 评论(21) 推荐(3) 编辑
  2013年3月26日
摘要: 由于最近在看deep learning中的RBMs网络,而RBMs中本身就有各种公式不好理解,再来几个Gibbs采样,就更令人头疼了。所以还是觉得先看下Gibbs采样的理论知识。经过调查发现Gibbs是随机采样中的一种。所以本节也主要是简单层次的理解下随机采用知识。参考的知识是博客随机模拟的基本思想和常用采样方法(sampling),该博文是网上找到的解释得最通俗的。其实学校各种带数学公式的知识时,最好有学者能用通俗易懂的语言介绍,这对入门学者来说极其重要。当然了,还参考了网页http://www.jdl.ac.cn/user/lyqing/StatLearning/StatlLearni.. 阅读全文
posted @ 2013-03-26 15:39 tornadomeet 阅读(36456) 评论(0) 推荐(2) 编辑
  2013年3月25日
摘要: 本文主要是学习下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 阅读(23072) 评论(4) 推荐(1) 编辑
摘要: 本节参考的是网页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 阅读(24518) 评论(8) 推荐(0) 编辑
  2013年3月24日
摘要: 前言: 本次实验主要是练习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 阅读(22183) 评论(55) 推荐(1) 编辑
摘要: 最近在用matlab处理稍大的数据时,老是出现out of memory红色字眼,恼火死了。因为自己使用的是XP系统,物体内存只有2G。XP系统默认情况下只允许给一个进程分配最大2G的内存,所以即使是增加了系统的虚拟内存,那么在matlab下这些内存也是用不到的。其实最近碰到的倒不是内存不够,而是有时候需要定义一个比较大的数组,而这些数组在matlab内存使用时又必须占用连续的内存,所以有时候虽然内存总量够,不过也不能保证就一定能够分配该数组。在matlab命令行使用了pack命令后也无济于事(pack命令大概而已理解为是用来把一些琐碎的内存整合在一起的)。 最近在网上看到有使用3GB开... 阅读全文
posted @ 2013-03-24 11:58 tornadomeet 阅读(11294) 评论(0) 推荐(1) 编辑
  2013年3月23日
摘要: 前言: 这篇文章主要是用来练习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 阅读(28448) 评论(74) 推荐(0) 编辑
  2013年3月22日
摘要: 在前面的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 阅读(67344) 评论(11) 推荐(3) 编辑
摘要: 前言: 现在来用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 阅读(19721) 评论(5) 推荐(1) 编辑
  2013年3月21日
摘要: 前言: 这节主要是练习下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 阅读(15526) 评论(8) 推荐(2) 编辑
摘要: PCA: PCA的具有2个功能,一是维数约简(可以加快算法的训练速度,减小内存消耗等),一是数据的可视化。 PCA并不是线性回归,因为线性回归是保证得到的函数是y值方面误差最小,而PCA是保证得到的函数到所降的维度上的误差最小。另外线性回归是通过x值来预测y值,而PCA中是将所有的x样本都同等对待。 在使用PCA前需要对数据进行预处理,首先是均值化,即对每个特征维,都减掉该维的平均值,然后就是将不同维的数据范围归一化到同一范围,方法一般都是除以最大值。但是比较奇怪的是,在对自然图像进行均值处理时并不是不是减去该维的平均值,而是减去这张图片本身的平均值。因为PCA的预处理是按照不同应用... 阅读全文
posted @ 2013-03-21 13:34 tornadomeet 阅读(25378) 评论(1) 推荐(2) 编辑
  2013年3月20日
摘要: 前言: 现在来进入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 阅读(53921) 评论(105) 推荐(4) 编辑
  2013年3月19日
摘要: 前言: 这节课来学习下Deep learning领域比较出名的一类算法——sparse autoencoder,即稀疏模式的自动编码。我们知道,deep learning也叫做unsupervised learning,所以这里的sparse autoencoder也应是无监督的。按照前面的博文:Deep learning:一(基础知识_1),Deep learning:七(基础知识_2)所讲,如果是有监督的学习的话,在神经网络中,我们只需要确定神经网络的结构就可以求出损失函数的表达式了(当然,该表达式需对网络的参数进行”惩罚”,以便使每个参数不要太大),同时也能够求出损失函数偏导函数的... 阅读全文
posted @ 2013-03-19 22:01 tornadomeet 阅读(47795) 评论(13) 推荐(3) 编辑
  2013年3月18日
摘要: 前面的文章已经介绍过了2种经典的机器学习算法:线性回归和logistic回归,并且在后面的练习中也能够感觉到这2种方法在一些问题的求解中能够取得很好的效果。现在开始来看看另一种机器学习算法——神经网络。线性回归或者logistic回归问题理论上不是可以解决所有的回归和分类问题么,那么为什么还有其它各种各样的机器学习算法呢?比如这里马上要讲的神经网络算法。其实原因很简单,在前面的一系列博文练习中可以发现,那些样本点的输入特征维数都非常小(比如说2到3维),在使用logistic回归求解时,需要把原始样本特征重新映射到高维空间中,如果特征是3维,且指数最高为3时,得到的系数最高维数应该是2... 阅读全文
posted @ 2013-03-18 15:05 tornadomeet 阅读(20883) 评论(13) 推荐(2) 编辑
  2013年3月17日
摘要: 前言: 在上一讲Deep learning:五(regularized线性回归练习)中已经介绍了regularization项在线性回归问题中的应用,这节主要是练习regularization项在logistic回归中的应用,并使用牛顿法来求解模型的参数。参考的网页资料为:http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=DeepLearning&doc=exercises/ex5/ex5.html。要解决的问题是,给出了具有2个特征的一堆训练数据集,从该数据的分布可以看出它们并不是非常线性可分的, 阅读全文
posted @ 2013-03-17 20:04 tornadomeet 阅读(15291) 评论(5) 推荐(0) 编辑
摘要: 前言: 本节主要是练习regularization项的使用原则。因为在机器学习的一些模型中,如果模型的参数太多,而训练样本又太少的话,这样训练出来的模型很容易产生过拟合现象。因此在模型的损失函数中,需要对模型的参数进行“惩罚”,这样的话这些参数就不会太大,而越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象。本文参考的资料参考网页:http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=DeepLearning&doc=exercises/ex5/ex5.html。主要是给定7个训练样本点,需 阅读全文
posted @ 2013-03-17 15:15 tornadomeet 阅读(16765) 评论(6) 推荐(0) 编辑
  2013年3月16日
摘要: 前言: 本节来练习下logistic regression相关内容,参考的资料为网页:http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=DeepLearning&doc=exercises/ex4/ex4.html。这里给出的训练样本的特征为80个学生的两门功课的分数,样本值为对应的同学是否允许被上大学,如果是允许的话则用’1’表示,否则不允许就用’0’表示,这是一个典型的二分类问题。在此问题中,给出的80个样本中正负样本各占40个。而这节采用的是logistic regression来求解,该求解 阅读全文
posted @ 2013-03-16 21:59 tornadomeet 阅读(30184) 评论(12) 推荐(3) 编辑
  2013年3月15日
摘要: 前言: 本文主要是来练习多变量线性回归问题(其实本文也就3个变量),参考资料见网页:http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=DeepLearning&doc=exercises/ex3/ex3.html.其实在上一篇博文Deep learning:二(linear regression练习)中已经简单介绍过一元线性回归问题的求解,但是那个时候用梯度下降法求解时,给出的学习率是固定的0.7.而本次实验中学习率需要自己来选择,因此我们应该从小到大(比如从0.001到10)来选择,通过观察损失值 阅读全文
posted @ 2013-03-15 20:55 tornadomeet 阅读(23002) 评论(19) 推荐(2) 编辑
摘要: 前言 本文是多元线性回归的练习,这里练习的是最简单的二元线性回归,参考斯坦福大学的教学网http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=DeepLearning&doc=exercises/ex2/ex2.html。本题给出的是50个数据样本点,其中x为这50个小朋友到的年龄,年龄为2岁到8岁,年龄可有小数形式呈现。Y为这50个小朋友对应的身高,当然也是小数形式表示的。现在的问题是要根据这50个训练样本,估计出3.5岁和7岁时小孩子的身高。通过画出训练样本点的分布凭直觉可以发现这是一个典型的线性回 阅读全文
posted @ 2013-03-15 16:20 tornadomeet 阅读(38822) 评论(25) 推荐(4) 编辑
  2013年3月14日
摘要: 前言: 最近打算稍微系统的学习下deep learing的一些理论知识,打算采用Andrew Ng的网页教程UFLDL Tutorial,据说这个教程写得浅显易懂,也不太长。不过在这这之前还是复习下machine learning的基础知识,见网页:http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=DeepLearning。内容其实很短,每小节就那么几分钟,且讲得非常棒。 教程中的一些术语: Model representation: 其实就是指学习到的函数的表达形式,可以用矩阵表示。 Vecto... 阅读全文
posted @ 2013-03-14 12:48 tornadomeet 阅读(89773) 评论(14) 推荐(20) 编辑
  2013年2月27日
摘要: 通过前面的博文ChaLearn Gesture Challenge_1:CGD数据库简单介绍分析可以看出,CGD数据库是2011年建立的,且在2012年利用该数据库进行了两轮One shot learning的挑战赛,从官网上给的CGD数据库可以推断出组织方是花费了很大的精力来收集这些数据的,不仅而此,组织方还给出了很多sample代码以及一些对应数据采集界面,方便大家共同扩大该数据库。CGD数据库目前有50000多个关于手势视频,共500个batch,每个batch都是同一个人在相同环境下的手势动作,只是手势内容不同而已。且每个batch都分为训练部分和测试部分。训练部分的每个视频只包含.. 阅读全文
posted @ 2013-02-27 22:01 tornadomeet 阅读(2038) 评论(0) 推荐(1) 编辑

阿萨德发斯蒂芬