星期三, 十一月 25, 2015

基于深度LSTM的中文分词

本例尝试的用多层LSTM来玩中文分词,大部分代码和之前的文章是一样的。不一样的就是使用了更复杂的模型,用了多个LSTM叠加在一起。这对于句子这种有时序特征的数据更有帮助。在前面部分的代码是计算了字向量,但是发现是没有太大必要。除了用多层LSTM,后面还尝试了双向LSTM,效果也还可以。

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
view raw deep_lstm.ipynb hosted with ❤ by GitHub

星期二, 十一月 24, 2015

自夸


李舰和我合写的一本书在2015年的7月份上市了,今天来自推一下这本书。此书是面向于初学者,提供宽而浅的导论性质读物。

http://book.douban.com/subject/26576631/

数据科学是将数据转化为行动的艺术,是综合了统计学、计算机科学和领域知识的新兴学科。数据科学与很多传统学科的最大区别在于其为应用而生,因此本书一切从实际应用出发,以R语言为核心工具,介绍了各类分析方法的实现及其在各领域的应用情况。

如果是初学者,可以从“编程篇”开始阅读,了解R语言的基本特点。如果是程序员,在迅速掌握语法后,可以深入研究“模型篇”,学习如何用统计学和其他流行的分析方法来描绘复杂的数据世界。如果关心数据价值的落地,“应用篇”必不负你所望,金融、制药、文本挖掘、社交网络、地理信息、高性能计算、可重复研究,这些最热门的行业和应用领域的案例将会为你带来数据应用的最真实的体验。

本书适用于所有对数据应用感兴趣的读者,也适合作为统计和数据分析的实务操作型课程的教材。

星期六, 十一月 21, 2015

深度学习入门资源索引

深度学习(Deep Learning)属于非常前沿的学科,没有现成的的综合型教材,主要是通过阅读大量论文和代码练习来学习。值得读的经典论文很多,下面介绍的一些教程中多少都有提及,另外就是去google重要文献。代码方面推荐使用python为基础的theano框架,因为它比较偏底层,可以从细节掌握如何构建一个深度学习模块,而且方便结合python在数据领域的其它积累,例如numpy。当然到了生产环境你可以再考虑torch之类的框架。从代码角度切入学习的好处是,理解起来不会像理论切入那么枯燥,可以很快做起一个好玩的东西。当然,最后你还是得补充理论的。下面精选介绍一些本人在学习时遇到的好教程。

1、入门首选:
http://deeplearning.net/tutorial/
该站提供了一系列的theano代码示范,通过研究模仿,就可以学会包括NN/DBN/CNN/RNN在内的大部分主流技术。其中也有很多文献连接以供参考。

2、BP神经网络:
http://neuralnetworksanddeeplearning.com/
第1部分的教程中,神经网格的参数是theano自动求导的,如果想深入了解细节,还得手动推导加代码实现一遍。该教程对BP神经网络的理论细节讲的非常好。

3、理论补充:
http://goodfeli.github.io/dlbook/
该书内容比较广泛,虽未最终完成,但已初见气象。用来完善理论知识是再好不过。

4、图像处理中的卷积神经网络:
http://vision.stanford.edu/teaching/cs231n/syllabus.html
前面三部分相当于导论,比较宽泛一些,该教程则是专注于卷积神经网络在图像视觉领域的运用,CNN方面知识由此深入。

5、自然语言处理中的深度学习:
http://cs224d.stanford.edu/
本教程则偏重于深度学习在自然语言处理领域的运用,词向量等方面知识由此深入。

6、递归神经网络:
http://www.wildml.com/
该博客讲的RNN是非常棒的系列,不可不读。

7、keras框架:
http://keras.io/
keras框架是基于theano的上层框架,容易快速出原型,网站中提供的大量实例也是非常难得的研究资料。

8、深度学习和NLP
https://github.com/nreimers/deeplearning4nlp-tutorial/tree/master/2015-10_Lecture
该教程是第5部分的补充,理论讲的不多,theano和keras代码讲的很多,附带的代码笔记很有参考价值。

9、机器学习教程
https://www.cs.ox.ac.uk/people/nando.defreitas/machinelearning/
牛津大学的机器学习课程,讲到了大量深度学习和强化学习的内容,适合于复习过一遍。

10、搭建硬件平台
http://xccds1977.blogspot.com/2015/10/blog-post.html
到这里,你的理论和代码功力应该差不多入门了,可以组个GPU机器来大干一场了。可以参考笔者这个博客来攒个机器。

11、去kaggle实战玩玩吧
http://www.kaggle.com/

12、最后补充一个比较新的资源,udacity上的一门深度学习公开课
https://www.udacity.com/course/deep-learning--ud730

星期四, 十一月 19, 2015

使用深度学习库keras做文本分类

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
view raw keras_cnn.ipynb hosted with ❤ by GitHub