[z]Deeplearning原文作者Hinton代码注解

跑Hinton最初代码时看到这篇注释文章,很少细心,待研究。。。 原文地址:>http://www.cnblogs.com/BeDPS/p/3182725.html Matlab示例代码为两部分,分别对应不同的论文:    1. Reducing the Dimensionality of data with neural networks       ministdeepauto.m   backprop.m   rbmhidlinear.m    2. A fast learing algorithm for deep belief net      mnistclassify.m   backpropclassfy.m       其余部分代码通用。    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    mnistclassify.m    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    clear all    close all    maxepoch=50;    %迭代次数    numhid=500; numpen=500; numpen2=2000;     fprintf(1,’Converting Raw files into Matlab format \n’);    converter;      fprintf(1,’Pretraining a deep autoencoder. \n’);    fprintf(1,’The Science paper used 50 epochs. This uses %3i \n’, maxepoch);    makebatches;%分批数据     [numcases numdims numbatches]=size(batchdata); %获取batchdata数据大小    … 继续阅读

20130913 深度学习@ICTCAS

余凯(Deep Learning): 介绍百度DL进展,今年报告李彦宏(Robin)相信技术的力量,提出技术难题:1:自然图片Ocr,2:语音识别和理解,3:图像搜索 业界趋势:移动互联网带入识图时代;siri,微软DL,google,科大迅飞,baidu语音识别 DL 被评为MIT2013十大技术之首 imageNet 2012 Hinton参赛74%->85%,13年3月份加入google   4700W$ 深度学习更接近人脑 人工智能新范式:大数据+深度学习 ICML Andrw Ng 100亿个参数 2012年夏天投入研发,用GPU提高运算效率,语音,OCR,人脸识别,全网相似图片搜索,全流量上线广告CTR预估 语音识别PKgoogle @中文,Google同时在做30多种语言 人脸识别成功产品 百度魔图 。 图片的相似搜索,何为相似?如何定义!「百度识图」,已上线的产品,基于DL 新产品 「拍照写诗」 思考:DL第一次不分类别的大数据图像识别尝试 大数据+计算能力+统计模型+应用创新 图像识别训练数据数千万 Q:硬件问题 A:GPU不完美,可考虑FPGA 张长水(深度学习模型、发展历史与一些思考): 三种模型: Restricted Boltzmann Machine,layerwise Pre-training Autoencoder Neural Network,sparse … 继续阅读

基于LDA的变种Topic Model

转自:http://hi.baidu.com/batmanfly/item/0ae75e4c75c95daede2a9f7a 基于LDA的Topic Model变形最近几年来,随着LDA的产生和发展,涌现出了一批搞Topic Model的牛人。我主要关注了下面这位大牛和他的学生: David M. BleiLDA的创始者,04年博士毕业。一篇关于Topic Model的博士论文充分体现其精深的数学概率功底;而其自己实现的LDA又可体现其不俗的编程能力。说人无用,有论文为证: J. Chang and D. Blei. Relational Topic Models for Document Networks. Artificial Intelligence and Statistics, 2009. [PDF] 基本LDA模型,当然假设文档之间是可交换的,那么在原始的LDA中文档之间其实是认为条件独立的。而在实际情况中,往往不是这个样子的,文档间也许会存 在“social network”的这样的网络性质。如何结合内容和“social network”这两个特征也许是一个非常有意思的话题。这篇论文就是给出了一个解决方法。它为两个文档之间增加了一个二元随机变量,根据其内容特征,来 刻画这种隐含的链接关系。 关于显示的链接关系是过去今年内,人们追逐研究的对象,进而产生PageRank、HITS等等一大批优秀的链接关系算法。那么如何利用隐含的链接呢?什 么是隐含的链接呢?一个最简单的隐含链接就是基于内容相似度构建的图。这个被人们用的不亦乐乎,比如在文摘中的LexRank等。O Kurland在SIGIR中发了两篇大概都是类似的文章,本质思想貌似就是在利用内容之间的“超链接”。 另外一个比较新颖的研究点,就是如何基于“social network”来挖掘内容特征? Mei Qiaozhu的一篇论文就是利用“social network”的网络结构特征最为规则化因子,重新修正了原始的PLSA模型。想法非常的新颖。 D. Blei and J. … 继续阅读

ML&DM&AI&IR&NLP top conferences

【Machine Learning(机器学习)】: conf.: ICML, NIPS journal: JMLR, ML 【Data Minning(数据挖掘)】: conf.: KDD, ICDM, SDM 【Artificial Intelligence(人工智能)】: conf.: IJCAI, AAAI, UAI 【Information Retrieval(信息检索)】: conf.: SIGIR, CIKM, WWW, ECIR 【Natural Language Process(自然语言处理)】: conf.: ACL, NAACL, EMNLP, EACL, COLING —————————————————— 【Computer vision(计算机视觉)】: conf.: ICCV, CVPR, ECCV 【其他相关关注】:ACMMM(多媒体领域), WSDM(社交媒体领域),VLDB(大数据领域), 【国内会议】: CNCCL(China National … 继续阅读

Generative Model vs.Discriminative Model

再假如你的任务是识别一个语音属于哪种语言。例如对面一个人走过来,和你说了一句话,你需要识别出她说的到底是汉语、英语还是法语等。那么你可以有两种方法达到这个目的: 1、学习每一种语言,你花了大量精力把汉语、英语和法语等都学会了,我指的学会是你知道什么样的语音对应什么样的语言。然后再有人过来对你哄,你就可以知道他说的是什么语音,你就可以**他是“**国人还是***了”。(呵呵,切勿将**掺杂在技术里面) 2、不去学习每一种语言,你只学习这些语言模型之间的差别,然后再分类。意思是指我学会了汉语和英语等语言的发音是有差别的,我学会这种差别就好了。 那么第一种方法就是生成方法,第二种方法是判别方法。 生成算法尝试去找到底这个数据是怎么生成的(产生的),然后再对一个信号进行分类。基于你的生成假设,那么那个类别最有可能产生这个信号,这个信号就属于那个类别。判别模型不关心数据是怎么生成的,它只关心信号之间的差别,然后用差别来简单对给定的一个信号进行分类。 [摘自] http://blog.csdn.net/zouxy09/article/details/8195017

[zz]深度学习(Deep Learning)综述

本文是从deeplearning网站上翻译的另一篇综述,主要简述了一些论文、算法以及工具箱。 深度学习是ML研究中的一个新的领域,它被引入到ML中使ML更接近于其原始的目标:AI。查看a brief introduction to Machine Learning for AI 和 an introduction to Deep Learning algorithms. 深度学习是关于学习多个表示和抽象层次,这些层次帮助解释数据,例如图像,声音和文本。对于更多的关于深度学习算法的知识,查看: The monograph or review paper Learning Deep Architectures for AI(Foundations & Trends in Machine Learning, 2009). The ICML 2009 Workshop on Learning Feature … 继续阅读

[ZZ]经典的机器学习方面源代码库

今天给大家介绍一下经典的开源机器学习软件: (非常全,数据挖掘,计算机视觉,模式识别,信息检索相关领域都适用的了) 编程语言:搞实验个人认为当然matlab最灵活了(但是正版很贵),但是更为前途的是python(numpy+scipy+matplotlib)和C/C++,这样组合既可搞研究,也可搞商业开发,易用性不比matlab差,功能组合更为强大,个人认为,当然R和java也不错. 1.机器学习开源软件网(收录了各种机器学习的各种编程语言学术与商业的开源软件) http://mloss.org 2 偶尔找到的机器学习资源网:(也非常全,1和2基本收录了所有ML的经典开源软件了) http://www.dmoz.org/Computers/Artificial_Intelligence/Machine_Learning/Software/ 3 libsvm (支持向量机界最牛的,不用多说了,台湾大学的林教授的杰作) http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 4 WEKA (基于java的机器学习算法最全面最易用的开源软件) http://www.cs.waikato.ac.nz/ml/weka/ 5 scikit (本人最喜欢的一个基于python的机器学习软件,代码写得非常好,而且官方的文档非常全,所有都有例子,算法也齐全,开发也活跃 ,强烈推荐给大家用) http://scikit-learn.org/stable/ 6 OpenCv(最牛的开源计算机视觉库了,前途无可限量,做图像处理与模式识别的一定要用,总不能整天抱着matlab做实验和工业界脱节吧,但是有一定难度) http://opencv.willowgarage.com/wiki/ 7 Orange (基于c++和python接口的机器学习软件,界面漂亮,调用方便,可以同时学习C++和python,还有可视化的功能,) http://orange.biolab.si/ 8 Mallet (基于JAVA实现的机器学习库,主要用于自然语言处理方面,特色是马尔可夫模型和随机域做得好,可和WEKA互补) http://mallet.cs.umass.edu/ 9 NLTK(PYTHON的自然处理开源库,非常易用,也强大,还有几本orelly的经典教程) http://nltk.org/ 10 lucene(基于java的包括nutch,solr,hadoop,mahout等全套,是做信息检索和搜索引擎的同志们必学的开源软件了,学JAVA的必学) http://lucene.apache.org/ 转载地址:http://www.cnblogs.com/kshenf/archive/2012/06/14/2548708.html

关于交叉验证(Cross Validation)

在pattern recognition 与machine learning 的相关研究中, 经常会将dataset分为training跟 test这两个subsets, 前者用以建立model, 后者则用来评估该model 对未知样本进行预测时的精确度, 正规的说法是generalization ability. 在往下叙述之前, 这边就必须点出一个极为重要的观念: 只有training data才可以用在model的训练过程中, test data则必须在model完成之后才被用来评估 model 优劣的依据.   怎么将完整的dataset分为training set与test set也是学问, 必须遵守两个要点:      1. training set中样本数量必须够多, 一般至少大于总样本数的50%.        2. 两组子集必须从完整集合中均匀取样.   其中第2点特别重要, 均匀取样的目的是希望减少training/test set与完整集合之间的偏差(bias), 但却也不易做到. 一般的作法是随机取样, 当样本数量足够时, 便可达到均匀取样的效果. … 继续阅读