自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程引的专栏

上海交通大学自动化系,关注模式识别,机器学习,算法研究,人工智能, 移动互联网等学科和产业,希望结识更多同道中人。

  • 博客(56)
  • 资源 (2)
  • 收藏
  • 关注

原创 『RNN 监督序列标注』笔记-第四章 LSTM(Long Short-Term Memory)

『RNN 监督序列标注』笔记-第四章 LSTM(Long Short-Term Memory)标准 RNN 在实际使用中能够有效利用的上下文范围很有限,这是由于经过若干次迭代,隐含层权重值要么消失要么爆炸。Long Short-Term Memory (LSTM)结构解决了这一问题。网络结构LSTM 具有记忆单元,每个单元含有记忆细胞和3个倍增单元(输入、输出以及遗忘门)。如图所示: 展示

2015-11-17 09:57:05 10001 1

原创 『RNN 监督序列标注』笔记-第三章 神经网络

『RNN 监督序列标注』笔记-第三章 神经网络多层感知机(Multilayer Perceptrons)多层感知机的输出仅仅取决于当前的输入,因此 MLPs 更适用于模式分类而非序列标注任务。仅仅具有单隐含层的 MLPs 就具有了以任意精度逼近任意连续函数的能力,因此也被成为通用函数拟合器(universal function approximators)。前向过程前向过程可以描述为 ah=∑i=

2015-11-16 00:38:27 8187 1

原创 谈谈深度学习中的 Batch_Size

谈谈深度学习中的 Batch_SizeBatch_Size(批尺寸)是机器学习中一个重要参数,涉及诸多矛盾,下面逐一展开。首先,为什么需要有 Batch_Size 这个参数?Batch 的选择,首先决定的是下降的方向。如果数据集比较小,完全可以采用全数据集 ( Full Batch Learning )的形式,这样做至少有 2 个好处:其一,由全数据集确定的方向能够更好地代表样本总体,从而更准确地朝

2015-11-12 19:59:38 138941 18

原创 『RNN 监督序列标注』笔记-第一/二章 监督序列标注

『RNN 监督序列标注』笔记-第一/二章 监督序列标注 监督序列标注(Supervised Sequence Labeling)与传统的监督模式分类(supervised pattern classification)的不同之处在与样本点不能被当作是独立的。序列标注的特点输入和标签都具有强相关性。 输入与标签的对应关系是未知的。RNNs的优点与缺陷优点上下文信息非常灵活(因为它们能够学

2015-11-11 23:58:43 9524

翻译 理解LSTM网络

理解LSTM网络周期神经网络(Recurrent Neural Networks)。人类并非每一秒都在从头开始思考问题。当你阅读这篇文章时,你是基于之前的单词来理解每个单词。你并不会把所有内容都抛弃掉,然后从头开始理解。你的思考具有持久性。传统的神经网络并不能做到这一点,这似乎是其一个主要的缺点。例如,想象你要把一部电影里面每个时间点所正在发生的事情进行分类。

2015-09-28 23:16:30 26831 10

翻译 深度学习(Deep Learning),自然语言处理(NLP)及其表达(Representation)

深度学习(Deep Learning),自然语言处理(NLP)及其表达(Representation)简介过去几年中,深度神经网络在模式识别领域占据着统治地位。他们在诸多计算机视觉任务领域,将之前的最好算法彻底击败。语言识别也正朝着这个方向发展。 They blew the previous state of the art out of the water for many computer

2015-09-17 12:33:39 25329

原创 Neural Networks for Machine Learning by Geoffrey Hinton (7)序列建模与RNN

序列建模用机器学习对序列建模的意义将输入序列变化到另一个域上的输出序列,例如: 将声压信号转化成单词序列。若没有目标序列,可以通过预测输入序列中的下一段来作为学习信号。 这种方法介于监督学习与无监督学习之间,它使用了监督学习的训练方法,但并不需要一个单独的学习信号。序列的无记忆模型自回归模型(Autoregressive models)通过使用固定数量的历史序列项,来预测未来序列项。即所

2015-09-08 00:07:54 7354

原创 Neural Networks for Machine Learning by Geoffrey Hinton (6)

Overview of mini-batch gradient descent错误面Full Batch Learning 的收敛性问题学习率问题随机梯度下降法2类学习算法基本批梯度下降法各种批梯度下降法中的小技巧权重值初始化中心化输入Shifting the inputs均一化输入Scaling the inputs更彻底的方法去除相关性多层神经网络中容易出现的问题4种加

2015-08-26 14:22:20 9108

原创 Neural Networks for Machine Learning by Geoffrey Hinton (5)

Neural Networks for Machine Learning by Geoffrey Hinton (5)为什么物体识别很困难? 图像分割(Segmentation):实际场景中总是掺杂着其他物体。物体光照(Lighting):像素的值被物体光照所显著影响。图像变形(Deformation):物体有时会变形成非仿射(non-affine)的形式。情景支持(Affordances)

2015-08-25 12:15:45 7288

原创 Neural Networks for Machine Learning by Geoffrey Hinton (4)

一种可以学习家谱关系的简单神经网络血缘一共有12种关系: son, daughter, nephew, niece, father, mother, uncle, aunt, brother, sister, husband, wife有1个英国家庭以及1个意大利家庭,每个家庭有12个人。各种家庭关系都是可用三元数组表示,即( Agent / Relation / Patient ) 结构:

2015-08-24 14:43:08 6067

原创 Alex / OverFeat / VGG 中的卷积参数

研究需要,统计了一些经典CNN结构的卷积层参数。 Alexnet Layer Input Kernel Output Stride Pad 1 256 * 3 * 227 * 227 48 * 3 * 11 * 11 256 * 48 * 55 * 55 4 0 2 256 * 48 * 27 * 27 128 * 48 *

2015-08-20 19:00:06 10867

原创 Neural Networks for Machine Learning by Geoffrey Hinton (3)

Neural Networks for Machine Learning by Geoffrey Hinton训练感知机的方法并不能用以训练隐含层训练感知机的方式是每次直接修正权重,最终得到满足所有凸锥里的权重。可行解的平均一定还是可行解。对多层神经网络而言,2个可行解的平均并不一定是可行解。 They should never have been called mul

2015-08-19 13:37:40 5889

原创 Neural Networks for Machine Learning by Geoffrey Hinton (1~2)

机器学习能良好解决的问题识别模式识别异常预测大脑工作模式人类有个神经元,每个包含个权重,带宽要远好于工作站。神经元的不同类型Linear (线性)神经元 Binary threshold (二值)神经元 ReLu(Rectified Linear Units) 神经元  

2015-08-17 15:27:18 6665

原创 在LaTeX中插入visio图片

在文件选项卡上,单击选项,然后在导航窗格中,单击自定义功能区主选项卡的窗格中,单击以选择开发人员选项,然后单击确定。在开发人员选项卡上,单击显示 ShapeSheet,然后单击页面。在ShapeSheet打印属性部分中,设置为0的下列值:PageLeftMarginPageRightMarginPageTopMarginPageBottomMargin再次在设计选项卡上的大小组中单

2015-01-18 20:34:14 15262

原创 让Caffe生成的数据集能在Theano上直接运行(一)——lmdb与protobuf

不论使用何种框架进行CNNs训练,共有3种数据集:Training Set用于训练网络。Validation Set用于训练时测试网络准确率。Test Set用于测试网络训练完成后的最终正确率。 Caffe生成的数据分为2种格式:Lmdb和Leveldb。它们都是键/值对(Key/Value Pair)嵌入式数据库管理系统编程库。虽然lmdb的内存消耗是leveldb的

2014-10-22 01:10:55 11414 6

原创 Caffe——清晰高效的深度学习(Deep Learning)框架

Caffe(http://caffe.berkeleyvision.org/)是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的贾扬清(http://daggerfs.com/),他目前在Google工作。 Caffe是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口;可以在CPU和GPU直接无缝切换:Caffe::set_mode(Caffe

2014-09-30 11:14:01 17856 2

原创 Theano学习笔记(六)——载入与保存、条件

载入与保存Python标准的保存类别实体并重新载入它们的途径是pickle机制。许多Theano对象可以由此被序列化(或者反序列化),然而pickle的局限性在于,被序列化的类别实例的代码或者数据并没有被同时保存。因此重新载入先前版本的类可能会出问题。因此,需要寻求基于预期保存和重新载入的耗时的不同机制。对于短期(比如临时文件和网络转录),Theano的pickle是可行的。对于长

2014-09-04 22:26:11 8426

原创 概率图模型(PGM)学习笔记(五)——模板模型

模板模型(Template Models)主要包括模板变量(TemplateVariables)和语言(Language)。 模板模型可以应用于无限大的贝叶斯网络;模板变量是被多次复用的变量:如:地点(时间)、基因型(人物)、标签(像素)、难度(课程),等等。 语言用来描述模板变量如何从模板中继承依赖关系。语言有很多种,各种语言都有各种应用条件,从而构造出大

2014-09-03 20:23:02 10161

原创 Theano学习笔记(五)——配置设置与编译模型

配置config模块包含了各种用于修改Theano的属性。在Theano导入时,许多属性都会被检查,而有些属性是只读模式。一般约定,在用户代码内部config模块的属性不应当被修改。Theano的这些属性都有默认值,但是你也可以在你的.theanorc文件里面修改,并且使用THEANO_FLAGS的环境变量进行修改。优先顺序是:1. theano.config.的赋值2.

2014-09-02 19:33:13 21135 1

原创 Theano学习笔记(四)——导数

导数使用T.grad计算。这里使用pp()打印梯度的符号表达式。第3行输出是打印了经过优化器简化的符号梯度表达式,与第1个输出相比确实简单多了。fill((x** TensorConstant{2}), TensorConstant{1.0})指创建一个x**2大小的矩阵,并填充1。importtheano.tensor as Tfromtheano import ppfr

2014-08-29 18:34:15 10425 1

原创 Theano学习笔记(三)——图结构

图结构(Graph Structures)是了解Theano内在工作原理的基础。Theano编程的核心是用符号占位符把数学关系表示出来。 图结构的组成部分如图实现了这段代码:importtheano.tensor as Tx= T.matrix('x')y= T.matrix('y')z= x + y变量节点(variable nodes)红色表示

2014-08-29 10:13:59 6122

原创 Theano学习笔记(二)——逻辑回归函数解析

有了前面的准备,可以用Theano实现一个逻辑回归程序,逻辑回归是典型的有监督学习。为了形象,这里我们假设分类任务是区分人与狗的照片。 首先是生成随机数对象importnumpyimporttheanoimporttheano.tensor as Trng= numpy.random数据初始化有400张照片,这些照片不是人的就是狗的。每张照片是28*28=78

2014-08-28 21:46:13 4593

原创 Theano学习笔记(一)——代数

标量相加import theano.tensor as Tfrom theano import functionx = T.dscalar('x')y = T.dscalar('y')z = x + yf = function([x, y], z)输入定义两个符号变量来代替数值,输出是一个0维的numpy.ndarray数组。 矩阵相加把输入类型换一下就行了,矩阵如果

2014-08-28 15:29:22 9147 8

原创 隐马尔科夫模型(HMM)及其实现

马尔科夫模型马尔科夫模型是单重随机过程,是一个2元组:(S,A)。其中S是状态集合,A是状态转移矩阵。只用状态转移来描述随机过程。 马尔科夫模型的2个假设有限历史性假设:t+l时刻系统状态的概率分布只与t时刻的状态有关,与t时刻以前的状态无关;齐次性假设:从t时刻到t+l时刻的状态转移与t的值无关。 以天气模型为例天气变化有3中状态S:{1(阴),2(云),

2014-08-27 10:01:16 6866 6

原创 Python学习笔记(二)——NumPy

Python可以用List当数组用,但是由于List的元素可以是任意对象,因此保存一个List需要保存所有指针和元素。非常消耗内存。本文学习博客:用Python做科学计算 整理笔记,以待备用。首先是NumPy函数库导入importnumpy as np创建数组array使用array可以创建多维数组a = np.array([[1, 2, 3, 4],[4, 5,

2014-08-25 21:53:10 4113 3

原创 Python学习笔记(一)

List与TuplePython内置2种有序列表。List是可变数组,Tuple是不可变数组。List范例:                                     Girls =['LiuJingjing','ZhangHuixin','YeFei']-用len()函数获得list元素个数。-索引位置从0开始,最后一个元素的索引是-1Girls[-1]

2014-08-25 10:43:40 1793

原创 卡尔曼滤波模型及其Matlab实现

卡尔曼滤波建立在隐马尔科夫模型上,是一种递归估计。也就是说,只需要知道上一个状态的估计值,以及当前状态的观测值,就能计算当前状态的最优估计值。而不需要更早的历史信息。 卡尔曼滤波器的2个状态1.最优估计2.误差协方差矩阵这两个变量迭代计算,初始值多少,其实没有影响。反正最后都能收敛到最优估计。 预测过程F是状态转移矩阵,B是控制矩阵(也可以不需要)。Q是过程噪声

2014-08-20 17:12:26 11266

原创 Linux Shell脚本与Vim常用操作笔记

本篇笔记记录最最基本的vim和shell操作。 ShellScript能干什么Shellscript类似与Windows的批处理,可以把很多指令汇总到一起,于是可以很容易地通过一个操作执行多个命令。很轻量,有效率。 在Vim中编写Vim/Vi编辑器很强大,功能非常多,快捷键、指令更多,只需要知道最常用的就够了。 Vi有3种工作模式1.命令模式进去之后的默认模

2014-08-18 19:39:58 3829

原创 卷积特征提取与池化(Pooling)——处理大型图像

在之前的章节中,我们已经很好地解决了手写体识别问题(维数为28*28)。但如果是更大的图像(维数为96*96)呢?如果你还是要学习400个特征,那么网络权重参数就有400*96*96即近400万个。  卷积特征提取如果我们从大型彩色图像(64*64*3)中随机抽取一些小patch(8*8),学到了一些特征,然后用这些特作为滤波器去扫过整张大图,即逐行逐列做卷积。这样做可以大幅减小网

2014-08-18 16:49:37 18011 2

原创 线性解码器——解决数据缩放问题

稀疏自编码器效果不错,但是有个固有缺陷:必须对输入数据的范围缩放到(0,1)。 设想一个图像如果不经预处理,直接把大于1的值输入稀疏自编码器,那么被sigmoid一下,就成了(0,1)的范围了,再被sigmoid一下,还是在(0,1)范围。这样残差根本没办法算,因为经过了sigmoid变换之后的数据已经不可能与输入数据相等了。 但是如果我们把第三层,原先的sigmoid函数换成恒等

2014-08-16 13:49:29 2897

原创 从自我学习到深层网络——建立你的第1个深度网络分类器

自我学习就是稀疏编码器串联一个Softmax分类器,上一节看到,训练400次,准确率为98.2%在此基础上,我们可以搭建我们的第一个深度网络:栈式自编码(2层)+Softmax分类器 简单地说,我们把稀疏自编码器的输出作为更高一层稀疏自编码器的输入。和自我学习很像,似乎就是新加了一层,但是其实不然:新技巧在于,我们这里有个微调的过程,让残差从最高层向输入层传递,微调整个网络权重

2014-08-16 11:32:40 3269 1

原创 自我学习(Self-Taught Learning)

自我学习就是把稀疏自编码器与Softmax回归分类器串联起来。稀疏编码器是用来无监督学习的,使用无标签数据。Softmax回归分类器是有监督学习,使用标签数据。 实际生活中,我们能轻松获得大量无标签数据(如从网上随机下载海量图片)难以获得大量有标签数据(有标签的数据库通常不会太大,而且很贵) 如果我们手头上只有少量标签数据,但是有大量的无标签数据,这是就可以采用自我

2014-08-13 12:36:08 7936 2

原创 Softmax回归——识别MINST数据库

Softmax回归就是推广版本的逻辑回归。只不过逻辑回归是个2分类问题,而Softmax是多分类问题,仅此而已。Softmax回归在2分类情况下就蜕化成了逻辑回归。逻辑回归的代价函数考虑到权重衰减,修改一下就是Softmax回归的代价函数了这里的权重衰减项是必须的,因为原先的代价函数不是严格凸函数,有无穷个极小值。现在加了这个权重衰减项,函数变成了严格凸函数。L

2014-08-12 16:30:01 4017 1

原创 主成分分析与白化预处理

上一节介绍了主成分分析应用于2维数据。现在使用高维的图像数据来试试效果。原始图像如图1所示。图1每个图片都是12*12的小patch,原始数据是一个144*10000的矩阵x。在使用了PCA旋转之后,可以检查一下此时的协方差矩阵是否已经成功变成对角阵了,如图2所示。avg=mean(x,1);x=x-repmat(avg,size(x,1),1);xRot = ze

2014-08-11 19:40:40 2837

原创 主成分分析(PCA)——以2维图像为例

这一节不论是思想还是实现都比较容易。主成分分析(PCA)就是模式识别里面说的K-L变换,思想是完全相同的。详情可见我的博文:特征选择(三)-K-L变换这里简单介绍几个概念。顺便贴出代码和效果图。xRot = zeros(size(x));xRot=u'*x;figure(2);scatter(xRot(1, :), xRot(2, :));title('xRot');得到原

2014-08-11 15:20:51 15026

原创 矢量化编程——以MNIST为例

矢量化编程就是用矢量运算取代所有的显式for循环。上一节所用的是512*512*10的数据集很小,我们取的patch很小(8*8),学来的特征很少(25),而我又注释掉了梯度校验(偷懒),所以程序用了1分钟就跑完了(i5处理器)。 但实际上我们遇到的问题规模比这个打太多了,稍微大一点的数据集比如说MNIST,这个数据库是另外一个更大的手写体数据库NIST的子集,包含60000个训练例子

2014-08-11 10:05:19 3473

原创 稀疏自编码器及其实现——如何搞基

自编码器是什么?自编码器本身就是一种BP神经网络。它是一种无监督学习算法。我们都知道神经网络可以从任意精度逼近任意函数,这里我们让神经网络目标值等于输出值x,也就是模拟一个恒等函数:太无聊了,是吗?输入等于输出,这网络有什么意义?但是,当我们把自编码神经网络加入某些限制,事情就发生了变化。如图1所示,这就是一个基本的自编码神经网络,可以看到隐含层节点数量要少于输入层节点数量。

2014-08-09 10:57:30 21525 7

原创 谷歌技术面试要点(Google面试)(14年5月20日交大专场)

技术面试的主题1.简要自我介绍:姓名、学校、专业做过的项目与实习个人主要成就 2.技术评估:构建与开发算法编程计算机基础知识数据结构现实世界问题解决能力设计问题(主要针对博士生)没有脑筋急转弯问题(因为这不能反映你的编程能力) 3.你对面试官的问题 如何准备技术面试复习计算机基础知识-回想你大一那年复习算法和数据结构练习写

2014-05-20 19:43:53 6504 9

原创 概率图模型(PGM)学习笔记(四)-贝叶斯网络-伯努利贝叶斯-多项式贝叶斯

之前忘记强调了一个重要区别:条件概率链式法则和贝叶斯网络链式法则的区别条件概率链式法则 贝叶斯网络链式法则,如图1图1 乍一看很容易觉得贝叶斯网络链式法则不就是大家以前学的链式法则么,其实不然,后面详述。 上一讲谈到了概率分布的因式分解可以看到条件概率的独立性可以直接从概率分布表达式看出来。 我们已经用概率图模型把

2014-05-18 23:14:22 10371 4

原创 句法模式识别(二)-正规文法、上下文无关文法

正规文法的特性1.所有长度有限的语言都是正规的。2.用正规文法当然能产生无限长串,其中周期重复部分的长度不大于非终止符的长度。举个例子在此规则之下,能生成句子其中周期重复部分为ab,这个例子的非终止符的元素个数为2,故满足2不大于2. 自嵌入特性我们把上下文无关文法中的正规文法去掉,剩下的那部分我们叫做真正的上下文无关文法。自嵌入特性是区分真正的上下文无

2014-05-17 23:52:35 9797 1

Cterm wiki 定义

Cterm wiki 定义

2016-11-10

VIM 词库,为常用词汇和托福词汇的综合

VIM 词库,为常用词汇和托福词汇的综合

2016-11-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除