摘要: Deep Learning学习笔记:Deep learning:五十一(CNN的反向求导及练习)Deep learning:五十(Deconvolution Network简单理解)Deep learning:四十九(RNN-RBM简单理解)Deep learning:四十八(Contractive... 阅读全文
posted @ 2012-06-24 19:39 tornadomeet 阅读(44459) 评论(25) 推荐(18) 编辑
  2014年7月28日
摘要: 好吧,已经有半年没有动笔写博客了,一是毕业季事情比较多没时间写,既要写毕业论文、又要学车、还得关注Machine Learning的进展,时不时的恶补一些数学;二是这阶段都是比较泛的学一些东西,没有什么可记录的;第三点当然就是写博文的动力不足;连很多网友在博客下面的留言也没来得及回复,非常抱歉... 阅读全文
posted @ 2014-07-28 23:56 tornadomeet 阅读(15474) 评论(29) 推荐(6) 编辑
  2014年1月13日
摘要: 前言: 本次实验是用EM来学习HMM中的参数,并用学好了的HMM对一些kinect数据进行动作分类。实验内容请参考coursera课程:Probabilistic Graphical Models 中的的最后一个assignmnet.实验用的是kinect关节点数据,由于HMM是一个时序模型,且含有隐变量,所以这个实验不是很好做。大家对HMM不熟悉的话可以参考网友的实验:code. kinect人体关节数据中, 每个关节点由3个坐标数据构成,多个关节点数据(实验中为10个)构成一个pose,多个pose构成一个action,每个action所包含的pose个数可能不等。其示意图如下: ... 阅读全文
posted @ 2014-01-13 20:35 tornadomeet 阅读(19155) 评论(7) 推荐(3) 编辑
  2014年1月11日
摘要: 前言: 本次实验包含了2部分:贝叶斯模型参数的学习以及贝叶斯模型结构的学习,在前面的博文PGM练习七:CRF中参数的学习 中我们已经知道怎样学习马尔科夫模型(CRF)的参数,那个实验采用的是优化方法,而这里贝叶斯模型参数的学习是先假定样本符合某种分布,然后使用统计的方法去学习这些分布的参数,来达到学习模型参数的目的。实验内容请参考coursera课程:Probabilistic Graphical Models中的assignmnet 8,实验code可参考网友的:code 实验中所用到的body pose表现形式如下: 共有10个节点,每个节点由2个坐标变量和1个方向变量构成。... 阅读全文
posted @ 2014-01-11 23:53 tornadomeet 阅读(13843) 评论(1) 推荐(1) 编辑
  2014年1月10日
摘要: 前言: 本次实验主要任务是学习CRF模型的参数,实验例子和PGM练习3中的一样,用CRF模型来预测多张图片所组成的单词,我们知道在graph model的推理中,使用较多的是factor,而在graph model参数的学习中,则使用较多的是指数线性模型,本实验的CRF使用的是log-linear模型,实验内容请参考coursera课程:Probabilistic Graphical Models中的assignmnet 7. 实验code可参考网友的:code实验对应的模型示意图如下: CRF参数求解过程: 本实验中CRF模型所表示的条件概率计算公式为: 其中的分母为划分函... 阅读全文
posted @ 2014-01-10 21:38 tornadomeet 阅读(18753) 评论(3) 推荐(2) 编辑
  2014年1月9日
摘要: 前言: 本次实验是将一些简单的决策理论和PGM推理结合,实验内容相对前面的图模型推理要简单些。决策理论采用的是influence diagrams,和常见图模型本质一样,其中的决策节点也可以用CPD来描述,做决策时一般是采用最大期望效用准则(MEU)。实验内容参考参考的内容是coursera课程:Probabilistic Graphical Models中的assignment 5. 实验code可参考网友的:code. 实验中一些函数简单说明: Fnew = VariableElimination(F, Z): 给定factorlist F和需要消除的变量集Z,采用sum-pr... 阅读全文
posted @ 2014-01-09 15:56 tornadomeet 阅读(3884) 评论(0) 推荐(0) 编辑
  2014年1月8日
摘要: 前言: 这次练习完成的是图模型的近似推理,参考的内容是coursera课程:Probabilistic Graphical Models.上次实验PGM练习四:图模型的精确推理 中介绍的是图模型的精确推理,但在大多数graph上,其精确推理是NP-hard的,所以有必要采用计算上可行的近似推理... 阅读全文
posted @ 2014-01-08 17:19 tornadomeet 阅读(8231) 评论(7) 推荐(0) 编辑
  2014年1月4日
摘要: 前言: 这次实验完成的是图模型的精确推理。exact inference分为2种,求边缘概率和求MAP,分别对应sum-product和max-sum算法。这次实验涉及到的知识点很多,不仅需要熟悉图模型的representation,而且还需明白图模型的inference理论,大家可参考cou... 阅读全文
posted @ 2014-01-04 15:34 tornadomeet 阅读(14291) 评论(0) 推荐(3) 编辑
  2013年12月19日
摘要: 前言: 接着coursera课程:Probabilistic Graphical Models上的实验3,本次实验是利用马尔科夫网络(CRF模型)来完成单词的OCR识别,每个单词由多个字母组合,每个字母为16×8大小的黑白图片。本次实验简化了很多内容,不需要我们去学这些参数(已提供),不需要掌握推理的方法(也提供了),目的是让大家对CRF模型有个感性认识。马尔科夫网络相比贝叶斯网络的优点就是不用自己去确定那些太明确结构(比如说那些因果关系)。 matlab基础知识: n = norm(X): 计算X的诱导2范数。如果X为向量,则n为它的欧式距离。如果X为矩阵,则n为X的最大特征值。. 阅读全文
posted @ 2013-12-19 22:43 tornadomeet 阅读(11038) 评论(2) 推荐(3) 编辑
  2013年12月18日
摘要: 前言: 这是coursera课程:Probabilistic Graphical Models 上的第二个实验,主要是用贝叶斯网络对基因遗传问题进行一些计算。具体实验内容可参考实验指导教材:bayes network for genetic inheritance. 大家可以去上面的链接去下载实验材料和stard code,如实验内容有难以理解的地方,欢迎私底下讨论。下面是随便写的一些笔记。 完成该实验需要了解一些遗传方面的简单知识,可参考:Introduction to heredity(基因遗传简单介绍) 关于实验的一些约定和术语: 同位基因(也叫等位基因)中有一个显现基因(d... 阅读全文
posted @ 2013-12-18 17:05 tornadomeet 阅读(7549) 评论(1) 推荐(0) 编辑
  2013年12月10日
摘要: 前言: CNN作为DL中最成功的模型之一,有必要对其更进一步研究它。虽然在前面的博文Stacked CNN简单介绍中有大概介绍过CNN的使用,不过那是有个前提的:CNN中的参数必须已提前学习好。而本文的主要目的是介绍CNN参数在使用bp算法时该怎么训练,毕竟CNN中有卷积层和下采样层,虽然和M... 阅读全文
posted @ 2013-12-10 23:36 tornadomeet 阅读(142414) 评论(49) 推荐(10) 编辑
  2013年11月26日
摘要: 深度网络结构是由多个单层网络叠加而成的,而常见的单层网络按照编码解码情况可以分为下面3类:既有encoder部分也有decoder部分:比如常见的RBM系列(由RBM可构成的DBM, DBN等),autoencoder系列(以及由其扩展的sparse autoencoder, denoise a... 阅读全文
posted @ 2013-11-26 21:05 tornadomeet 阅读(34978) 评论(10) 推荐(4) 编辑
  2013年11月23日
摘要: 前言: 本文主要是bengio的deep learning tutorial教程主页中最后一个sample:rnn-rbm in polyphonic music. 即用RNN-RBM来model复调音乐,训练过程中采用的是midi格式的音频文件,接着用建好的model来产生复调音乐。对音乐建模的难点在与每首乐曲中帧间是高度时间相关的(这样样本的维度会很高),用普通的网络模型是不能搞定的(普通设计网络模型没有考虑时间维度,图模型中的HMM有这方面的能力),这种情况下可以采用RNN来处理,这里的RNN为recurrent neural network中文为循环神经网络,另外还有一种RNN为... 阅读全文
posted @ 2013-11-23 21:54 tornadomeet 阅读(90061) 评论(6) 推荐(4) 编辑
  2013年11月20日
摘要: Contractive autoencoder是autoencoder的一个变种,其实就是在autoencoder上加入了一个规则项,它简称CAE(对应中文翻译为?)。通常情况下,对权值进行惩罚后的autoencoder数学表达形式为: 这是直接对W的值进行惩罚的,而今天要讲的CAE其数学表达式同样非常简单,如下: 其中的是隐含层输出值关于权重的雅克比矩阵,而 表示的是该雅克比矩阵的F范数的平方,即雅克比矩阵中每个元素求平方 然后求和,更具体的数学表达式为: 关于雅克比矩阵的介绍可参考雅克比矩阵&行列式——单纯的矩阵和算子,关于F范数可参考我前面的博文Sparse ... 阅读全文
posted @ 2013-11-20 23:37 tornadomeet 阅读(19013) 评论(15) 推荐(1) 编辑
  2013年11月19日
摘要: CNN中卷积完后有个步骤叫pooling, 在ICLR2013上,作者Zeiler提出了另一种pooling手段(最常见的就是mean-pooling和max-pooling),叫stochastic pooling,在他的文章还给出了效果稍差点的probability weighted pooling方法。 stochastic pooling方法非常简单,只需对feature map中的元素按照其概率值大小随机选择,即元素值大的被选中的概率也大。而不像max-pooling那样,永远只取那个最大值元素。 假设feature map中的pooling区域元素值如下: 3*3大小... 阅读全文
posted @ 2013-11-19 19:11 tornadomeet 阅读(27622) 评论(3) 推荐(0) 编辑
  2013年11月18日
摘要: 和maxout(maxout简单理解)一样,DropConnect也是在ICML2013上发表的,同样也是为了提高Deep Network的泛化能力的,两者都号称是对Dropout(Dropout简单理解)的改进。 我们知道,Dropout是在训练过程中以一定概率1-p将隐含层节点的输出值清0,而用bp更新权值时,不再更新与该节点相连的权值。用公式描述如下: 其中v是n*1维的列向量,W是d*n维的矩阵,m是个d*1的01列向量,a(x)是一个满足a(0)=0的激发函数形式。这里的m和a(Wv)相乘是对应元素的相乘。 而DropConnect的思想也很简单,与Dropout不同的是... 阅读全文
posted @ 2013-11-18 21:46 tornadomeet 阅读(24201) 评论(0) 推荐(0) 编辑
摘要: maxout出现在ICML2013上,作者Goodfellow将maxout和dropout结合后,号称在MNIST, CIFAR-10, CIFAR-100, SVHN这4个数据上都取得了start-of-art的识别率。 从论文中可以看出,maxout其实一种激发函数形式。通常情况下,如果激发函数采用sigmoid函数的话,在前向传播过程中,隐含层节点的输出表达式为: 其中W一般是2维的,这里表示取出的是第i列,下标i前的省略号表示对应第i列中的所有行。但如果是maxout激发函数,则其隐含层节点的输出表达式为: 这里的W是3维的,尺寸为d*m*k,其中d表示输入层节... 阅读全文
posted @ 2013-11-18 10:10 tornadomeet 阅读(59632) 评论(13) 推荐(3) 编辑
  2013年11月14日
摘要: 前言: 听说Pylearn2是个蛮适合搞深度学习的库,它建立在Theano之上,支持GPU(估计得以后工作才玩这个,现在木有这个硬件条件)运算,由DL大牛Bengio小组弄出来的,再加上Pylearn2里面已经集成了一部分常见的DL算法,本着很想读读这些算法的源码和细节这一想法,打算学习下Pylearn2的使用. 网上这方面的中文资料简直是太少了,虽然本博文没什么实质内容,但也写贴出来,说不定可以帮到一些初学者。 从Bengio的一篇paper: Pylearn2: a machine learning research library可以看出,Pylearn2主要是针对机器学习开发者... 阅读全文
posted @ 2013-11-14 23:49 tornadomeet 阅读(15511) 评论(13) 推荐(2) 编辑
  2013年10月29日
摘要: 前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着科技的不断发展... 阅读全文
posted @ 2013-10-29 23:15 tornadomeet 阅读(216599) 评论(26) 推荐(42) 编辑
  2013年9月27日
摘要: 前言: 找工作需要,最近看了下一些C++的基本概念,为范磊的《零起点学通C++》,以下是一些笔记。 内容: delete p;只是删除指针p指向内存区,并不是删除指针p,所以p还是可以用的。删除空指针所指向内存是可以的。 堆中的变量和对象时匿名的,没有名称,只能通过指针来访问。 在堆中创建对象时,在分配内存的同时会调用类的构造函数,在删除堆中对象时,会调用类的析构函数。 为了避免内存泄露,在删除一个指针后应该将其其值赋为0。 常量指针是指针指向的内存区域地址不能改变,但是该内存地址里保存的值是可以改变的,比如int a; int * const p = &a; 指向常量的... 阅读全文
posted @ 2013-09-27 11:15 tornadomeet 阅读(6168) 评论(1) 推荐(0) 编辑
  2013年9月3日
摘要: 没有系统学过数学优化,但是机器学习中又常用到这些工具和技巧,机器学习中最常见的优化当属凸优化了,这些可以参考Ng的教学资料:http://cs229.stanford.edu/section/cs229-cvxopt.pdf,从中我们可以大致了解到一些凸优化的概念,比如凸集,凸函数,凸优化问题,线性规划,二次规划,二次约束二次规划,半正定规划等,从而对凸优化问题有个初步的认识。以下是几个重要相关概念的笔记。 凸集的定义为: 其几何意义表示为:如果集合C中任意2个元素连线上的点也在集合C中,则C为凸集。其示意图如下所示: 常见的凸集有: n维实数空间;一些范数约束形式的集合;... 阅读全文
posted @ 2013-09-03 23:28 tornadomeet 阅读(25390) 评论(6) 推荐(1) 编辑
  2013年8月23日
摘要: 为了对GMM-HMM在语音识别上的应用有个宏观认识,花了些时间读了下HTK(用htk完成简单的孤立词识别)的部分源码,对该算法总算有了点大概认识,达到了预期我想要的。不得不说,网络上关于语音识别的通俗易懂教程太少,都是各种公式满天飞,很少有说具体细节的,当然了,那需要有实战经验才行。下面总结以下几点,对其有个宏观印象即可(以孤立词识别为例)。 一、每个单词的读音都对应一个HMM模型,大家都知道HMM模型中有个状态集S,那么每个状态用什么来表示呢,数字?向量?矩阵?其实这个状态集中的状态没有具体的数学要求,只是一个名称而已,你可以用’1’, ’2’, ‘3’…表示,也可以用’a’, ‘b’... 阅读全文
posted @ 2013-08-23 07:34 tornadomeet 阅读(37724) 评论(1) 推荐(6) 编辑
  2013年8月22日
摘要: 最近在看图模型中著名的HMM算法,对应的一些理论公式也能看懂个大概,就是不太明白怎样在一个具体的机器学习问题(比如分类,回归)中使用HMM,特别是一些有关状态变量、观察变量和实际问题中变量的对应关系,因此目前急需一个实际例子来加深对HMM算法的仰慕,大家如有好的例子来具体学HMM算法的话,欢迎分享!众所周知,著名的HMM开源库为Hidden Markov Model Toolkit(以下简称HTK),而HTK在语音识别领域应用很成功,这2天花了些时间学习了HTK的使用,完成的是最简单孤立词的识别,即Yes、No的语音识别,网上这方面的教程纵多,见参考资料部分。 当然了,进行实验的前提是正... 阅读全文
posted @ 2013-08-22 07:43 tornadomeet 阅读(12143) 评论(2) 推荐(3) 编辑
  2013年8月19日
摘要: 目前,深度网络(Deep Nets)权值训练的主流方法还是梯度下降法(结合BP算法),当然在此之前可以用无监督的方法(比如说RBM,Autoencoder)来预训练参数的权值,而梯度下降法应用在深度网络中的一个缺点是权值的迭代变化值会很小,很容易收敛到的局部最优点;另一个缺点是梯度下降法不能很好的处理有病态的曲率(比如Rosenbrock函数)的误差函数。而本文中所介绍的Hessian Free方法(以下简称HF)可以不用预训练网络的权值,效果也还不错,且其适用范围更广(可以用于RNN等网络的学习),同时克服了上面梯度下降法的那2个缺点。HF的主要思想类似于牛顿迭代法,只是并没有显示的去计.. 阅读全文
posted @ 2013-08-19 11:20 tornadomeet 阅读(13680) 评论(5) 推荐(1) 编辑
  2013年8月17日
摘要: 数学优化方法在机器学习算法中至关重要,本篇博客主要来简单介绍下Conjugate Gradient(共轭梯度法,以下简称CG)算法,内容是参考的文献为:An Introduction to the Conjugate Gradient Method Without the Agonizing Pain,具体细节大家还需仔细阅读那篇文章,这篇博客并不是重现那篇论文的内容,只是简单的梳理下CG算法的流程,以及它的重要思路,方便大家理解CG算法。 首先我们需要解决的问题是:求满足线性方程(1):的解x. 那么有人就这么认为了:这个解x不就是吗?对,这样说也不能算错,但是如果A不可逆那么x这样... 阅读全文
posted @ 2013-08-17 21:54 tornadomeet 阅读(12272) 评论(3) 推荐(0) 编辑
  2013年8月16日
摘要: 前言: 当采用无监督的方法分层预训练深度网络的权值时,为了学习到较鲁棒的特征,可以在网络的可视层(即数据的输入层)引入随机噪声,这种方法称为Denoise Autoencoder(简称dAE),由Bengio在08年提出,见其文章Extracting and composing robust features with denoising autoencoders.使用dAE时,可以用被破坏的输入数据重构出原始的数据(指没被破坏的数据),所以它训练出来的特征会更鲁棒。本篇博文主要是根据Benigio的那篇文章简单介绍下dAE,然后通过2个简单的实验来说明实际编程中该怎样应用dAE。这2个... 阅读全文
posted @ 2013-08-16 08:02 tornadomeet 阅读(75167) 评论(6) 推荐(1) 编辑
  2013年8月14日
摘要: 前言 训练神经网络模型时,如果训练样本较少,为了防止模型过拟合,Dropout可以作为一种trikc供选择。Dropout是hintion最近2年提出的,源于其文章Improving neural networks by preventing co-adaptation of feature detectors.中文大意为:通过阻止特征检测器的共同作用来提高神经网络的性能。本篇博文就是按照这篇论文简单介绍下Dropout的思想,以及从用一个简单的例子来说明该如何使用dropout。 基础知识: Dropout是指在模型训练时随机让网络某些隐含层节点的权重不工作,不工作的那些节点可以暂... 阅读全文
posted @ 2013-08-14 19:14 tornadomeet 阅读(159950) 评论(20) 推荐(11) 编辑
  2013年7月27日
摘要: 单链表的逆序方法有很多种,求职过程中会碰到类似的题。比如进栈出栈;变量链表放入数组后利用数组的逆序重构链表;遍历链表时每次访问的节点都指向它的前节点;递归调用等。本次实验是用递归的方法实现单链表的逆序,网上有很多类似的code. 这次实验主要要注意的是指针引用的使用,要充分理解引用是个别名,指针的引用可以参考其它网友的一篇博文:指针的引用 实验内容是先构造一个随机指定长度的单链表,将其输出,然后逆序后输出。 代码如下:// reverse_list.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #inc 阅读全文
posted @ 2013-07-27 13:15 tornadomeet 阅读(4854) 评论(0) 推荐(0) 编辑
  2013年7月14日
摘要: 头脑一热,坐几十个小时的硬座北上去天津大学去听了门4天的深度学习课程,课程预先的计划内容见:http://cs.tju.edu.cn/web/courseIntro.html。上课老师为微软研究院的大牛——邓力,群(qq群介绍见:Deep learning高质量交流群)里面有人戏称邓力(拼音简称DL)老师是天生注定能够在DL(Deep learning)领域有所成就的,它的个人主页见:http://research.microsoft.com/en-us/people/deng/。这次我花费这么大的力气参加这个课程,是期望能达到3个目的的:一、把DL中一些常见基础算法弄明白,特别是跟能量模.. 阅读全文
posted @ 2013-07-14 19:09 tornadomeet 阅读(24187) 评论(17) 推荐(2) 编辑
  2013年6月18日
摘要: 前言: 节主要是给出BST,AVL和红黑树的C++代码,方便自己以后的查阅,其代码依旧是data structures and algorithm analysis in c++ (second edition)一书的作者所给,关于这3中二叉树在前面的博文算法设计和数据结构学习_4(《数据结构和问题求解》part4笔记)中已经有所介绍。这里不会去详细介绍它们的实现和规则,一是因为这方面的介绍性资料超非常多,另外这3种树的难点都在插入和删除部分,其规则本身并不多,但是要用文字和图形解释其实还蛮耗时的。所以,我们在看教程时,主要是要抓住这几种树的思想,然后对照对应的代码来看就ok了,能把代码... 阅读全文
posted @ 2013-06-18 09:46 tornadomeet 阅读(2969) 评论(0) 推荐(0) 编辑
  2013年6月15日
摘要: 前言: 高斯过程回归(GPR)和贝叶斯线性回归类似,区别在于高斯过程回归中用核函数代替了贝叶斯线性回归中的基函数(其实也是核函数,线性核)。采用核函数可以定义高斯过程回归是一个比贝叶斯线性回归更通用的模型,应用非常广泛。本文参考的资料为视频http://www.youtube.com/playlist?list=PLD0Z06AA0D2E8ZZBA中相关的部分以及论文Gaussian Processes for Regression A Quick Introduction. 基础知识: 首先来看看Bayesian linear regression(贝叶斯线性回归)模型: 其... 阅读全文
posted @ 2013-06-15 10:31 tornadomeet 阅读(40158) 评论(5) 推荐(4) 编辑
  2013年6月14日
摘要: 前言: GP(高斯过程)是一种自然界中普遍存在且重要的随机过程,也叫正态随机过程,在ML等领域应用比较广泛。本次实验目的是简单理解下GP,特别是要体验到GP的一个sample不再是一个普通的点,而是一个函数。实验部分完成了常见的GP的一维和二维sample的显示,常见的GP有线性GP,布朗运动... 阅读全文
posted @ 2013-06-14 12:15 tornadomeet 阅读(35015) 评论(14) 推荐(5) 编辑
  2013年6月11日
摘要: 前言: 数据结构这种东西,快速看了也只能概念上多理解了点,关键还是后续实践中的使用。好吧,本节依旧是data structures and algorithm analysis in c++ (second edition)中的笔记蜓点水般的笔记,书中第4部分的笔记,第3部分内容暂时先跳过(那是一些具体的应用例子)。本次的内容有栈和队列,链表,树,搜索二叉树,hash表,二叉堆。其中的队列,链表比较简单,树,二叉堆和hash表比较难。 Chap16: 如果类的数据成员是first-class(比如vector)的,则针对它的Big-Three会自动实现,不需要再去完成它。如果要实现c... 阅读全文
posted @ 2013-06-11 22:37 tornadomeet 阅读(2175) 评论(0) 推荐(1) 编辑
  2013年6月4日
摘要: 前言: 本节是data structures and algorithm analysis in c++ (second edition)中第2大部分的随手笔记,主要内容有算法复杂度分析,标准模板库介绍,递归思想和算法,常见的排序算法及其分析,随机数产生器和随机算法等。 Chap6: 一个算法的复杂度与输入数据量的大小,算法本身,编译器优化性能,所运行机器硬件的性能,算法本身等因素相关。从这些方面来看,即使是已经确定的2个算法F和G,我们也不能说2个算法的运行时间永远满足F(N)=G(N). 一是当N比较小时,两者的相差太小以至于感觉不出来,二是当N大到一定程度时,F(N)和G(N)... 阅读全文
posted @ 2013-06-04 20:40 tornadomeet 阅读(2253) 评论(0) 推荐(0) 编辑
  2013年5月30日
摘要: 前言: C++,数据结构,算法,这些知识在互联网行业求职过程中是必备的,而本科电路硬件出身的我这些基本就没学过,也用得比较少,为了以后的饭碗,从现在开始还是花点时间来看下这些东西吧。本节是mark allen Weiss数据结构书籍data structures and algorithm analysis in c++ (second edition)中第一大部分的笔记(随手写的,供自己以后参考),这部分主要是讲解一些C++的知识,比如面向对象概念,继承,多态,重载,虚函数,模板,设计模式等等。 Chap1: 本章主要是讲一些array,string,struct,pointer的... 阅读全文
posted @ 2013-05-30 15:22 tornadomeet 阅读(2816) 评论(2) 推荐(0) 编辑
  2013年5月26日
摘要: 前言: 这次的内容是Ng关于machine learning关于svm部分的一些笔记。以前也学过一些svm理论,并且用过libsvm,不过这次一听Ng的内容,确实收获不少,隐约可以看到从logistic model到svm model的过程。 基础内容: 使用linear模型进行分类时,可以将参数向量看成一个变量,如果代价函数用MSE表示,则代价函数的图形类似抛物线(以新的变量为自变量);如果代价函数用交叉对数公式表示时,则其代价函数曲线如下: 在Logistic回归中其代价函数可以表示为如下: 其中第一项是训练样本的误差,第二项是权值系数的惩罚项,λ为权值惩罚系数,其中... 阅读全文
posted @ 2013-05-26 23:01 tornadomeet 阅读(10967) 评论(3) 推荐(1) 编辑
  2013年5月12日
摘要: 前言: 以前在coursera上选过一门PGM的课(概率图模型),今天上去才发现4月份已经开课了,6月份就要结束了,虽然最近没什么时间,挤一点算一点,所以得抓紧时间学下。另外因为报名这些课程的时候,开课老师是不允许将课程资料和code贴在网上的,所以作为学生还是要听从老师的要求,所以这个系列的笔记只是简单的写下,完全留给自己看的,内容估计不会很完整的。 笔记: 模型的表示其来源可以由相应领域的专家给出,也可以直接从数据中学习到。如下所示: 模型的准确性具有不确定性主要是因为:对现实世界的描述不全面;观察到的数据有噪声;模型只是体现大部分的数据,对某些特例不会考虑;模型固有的不确... 阅读全文
posted @ 2013-05-12 17:25 tornadomeet 阅读(9114) 评论(2) 推荐(1) 编辑
  2013年5月7日
摘要: 前言: 本次主要是练习下ICA模型,关于ICA模型的理论知识可以参考前面的博文:Deep learning:三十三(ICA模型)。本次实验的内容和步骤可以是参考UFLDL上的教程:Exercise:Independent Component Analysis。本次实验完成的内容和前面的很多练习类似,即学习STL-10数据库的ICA特征。当然了,这些数据已经是以patches的形式给出,共2w个patch,8*8大小的。 实验基础: 步骤分为下面几步:设置网络的参数,其中的输入样本的维数为8*8*3=192。对输入的样本集进行白化,比如说ZCA白化,但是一定要将其中的参数eplison... 阅读全文
posted @ 2013-05-07 22:56 tornadomeet 阅读(9327) 评论(17) 推荐(3) 编辑
  2013年5月5日
摘要: 前言: 本节主要是来简单介绍下stacked CNN(深度卷积网络),起源于本人在构建SAE网络时的一点困惑:见Deep learning:三十六(关于构建深度卷积SAE网络的一点困惑)。因为有时候针对大图片进行recognition时,需要用到无监督学习的方法去pre-training(预训练)stacked CNN的每层网络,然后用BP算法对整个网络进行fine-tuning(微调),并且上一层的输出作为下一层的输入。这几句话说起来很简单,可是真的这么容易吗?对于初学者来说,在实际实现这个流程时并不是那么顺利,因为这其中要涉及到很多细节问题。这里不打算细讲deep statcked网... 阅读全文
posted @ 2013-05-05 20:27 tornadomeet 阅读(81804) 评论(53) 推荐(11) 编辑
  2013年5月2日
摘要: 最近Deep Learning特别火,但是发现网上很少有专门针对DL讨论的论坛等,所以交流起来特别不方便。独学而无友,则孤陋而寡闻,本人刚开始接触DL,菜鸟一枚,希望和各位志同道合的朋友多多交流,特建立了一个Deep Learning高质量交流qq群,欢迎加入,群号为:209306058(大家加入群时需验证,请用一句话简单说下你对DL的认识,以防乱加,哈哈,谢谢!) 规定(必须执行) 1. 杜绝不文明言论 2. 严禁广告 3. 严禁跑题 引导(参考执行) 1. 群中讨论的内容 为了保证群内交流的质量请大家尽量讨论Deep Learning为主的算法,以及与其相关的ML,DM,... 阅读全文
posted @ 2013-05-02 23:28 tornadomeet 阅读(14546) 评论(13) 推荐(2) 编辑
摘要: 内容: 本文主要是参考论文:On optimization methods for deep learning,文章内容主要是笔记SGD(随机梯度下降),LBFGS(受限的BFGS),CG(共轭梯度法)三种常见优化算法的在deep learning体系中的性能。下面是一些读完的笔记。 SGD优点:实现简单,当训练样本足够多时优化速度非常快。 SGD缺点:需要人为调整很多参数,比如学习率,收敛准则等。另外,它是序列的方法,不利于GPU并行或分布式处理。 各种deep learning中常见方法(比如说Autoencoder,RBM,DBN,ICA,Sparse coding)的区别是... 阅读全文
posted @ 2013-05-02 00:04 tornadomeet 阅读(28402) 评论(1) 推荐(2) 编辑

阿萨德发斯蒂芬