数据科学中的R和Python

Data Science with R and Python

Latest articles

艺术风格的神经网络算法实验

2015年九月的时候出现了一篇很趣的论文《A Neural Algorithm of Artistic Style》。论文中提出了一种算法,可以将一张普通的图片,转换成具有某种艺术家的风格。用语言来描述计算流程如下:1、首先用一个给定参数的卷积神经网络(VGG网络),将原始的内容图片和风格图片进行函数映射,这个任务不需要网络后面的全连接层,只需要中间一些卷积层的输出即可,而且将网络中的max_pool改成了avg_pool。2、可以利用这些中间输出,将其定义为内容输出和风格输出。内容输出是网络中较上层的映射结果,而风格输出是一些较低层映射的相关矩阵,用一个Gram矩阵计算表示。3、将内容图片加噪音,这个将做为网络的输入,将网络的输出和内容输出进行对比,计算出内容损失函数(像素值取差值,再平方和),和风格输出进行对比,计算出风格损失函数,再整合两个损失形成总损失。4、训练目标是总损失最小化,训练参数是第3步中的输入图片,这样得到一个图片,使内容和原来的内容图片相似,而风格和风格图片一致。内容图片如下:风格图片如下:初始的输入是一个内容图片加噪音:最后结果图片如下:参考资料:http://arxiv.org/pdf/1508.06576v...

TensorFlow初体验

以前玩深度学习一直是用的theano和keras,做为谷粉不能不试一下大热的TensorFlow。首先安装起来。TensorFlow的安装指南非常详细,我是python的anaconda环境,所以直接先创建一个新环境,创建前先更新一下condaconda update condaconda update anaconda看一下目前计算机上有哪些环境conda info --env目前只有root环境,所以新建一个专门为TensorFlow的环境,并将root中的包克隆过来conda create --name tensorflow --clone root激活使用环境source activate tensorflow退出环境source deactivate使用pip来安装pip install...

标签传播算法

因为标注成本比较高,当你的训练数据集只有一部分数据是有标注的情况下,使用监督学习你只能扔掉那些没有标注的X。而实际上,有标注的样本和无标注的样本之间是有关系的,这种关系信息也可以用来帮助学习。这就是半监督学习标签传播(Label Propagation)算法的思路。它的基本逻辑是借助于近朱者赤的思路,也就是KNN的思路,如果A和B在X空间上很接近,那么A的Y标签就可以传给B。进一步迭代下去,如果C和B也很接近,C的标签也应该和B一样。所以基本计算逻辑就是两步,第一步是计算样本间的距离,构建转移矩阵,第二步是将转移矩阵和Y矩阵相乘,Y里面包括了已标注和未标注的两部分,通过相乘可以将已标注的Y转播给未标注的Y。具体论文可以看这里。在sklearn模块中已经内置了这种算法,文档示例可以看这里。下面是用python的numpy模块实现的一个toy...

值乎?

刚开通了值乎,有趣的数据问题可以来问我,当然一分钟比较短啦。有严肃的长问题还是去知乎问我吧。

python中的数据工具箱

最近参加了第九届北京R语言大会,做了一个关于python的简单介绍。相关ppt在如下连接,需要的下载。链接: http://pan.baidu.com/s/1dEGl63f 密码: k3y6博客,只要有时间,我还是会继续坚持的。

基于深度LSTM的中文分词

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

自夸

李舰和我合写的一本书在2015年的7月份上市了,今天来自推一下这本书。此书是面向于初学者,提供宽而浅的导论性质读物。http://book.douban.com/subject/26576631/数据科学是将数据转化为行动的艺术,是综合了统计学、计算机科学和领域知识的新兴学科。数据科学与很多传统学科的最大区别在于其为应用而生,因此本书一切从实际应用出发,以R语言为核心工具,介绍了各类分析方法的实现及其在各领域的应用情况。如果是初学者,可以从“编程篇”开始阅读,了解R语言的基本特点。如果是程序员,在迅速掌握语法后,可以深入研究“模型篇”,学习如何用统计学和其他流行的分析方法来描绘复杂的数据世界。如果关心数据价值的落地,“应用篇”必不负你所望,金融、制药、文本挖掘、社交网络、地理信息、高性能计算、可重复研究,这些最热门的行业和应用领域的案例将会为你带来数据应用的最真实的体验。本书适用于所有对数据应用感兴趣的读者,也适合作为统计和数据分析的实务操作型课程的教材。

深度学习入门资源索引

深度学习(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神经网络的...

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

如何搭建一台深度学习服务器

在计算机时代的早期,一名极客的满足感很大程度上来源于能DIY一台机器。到了深度学习的时代,前面那句话仍然是对的。缘起在2013年,MIT科技评论将深度学习列为当年十大科技突破之首。其原因在于,模型有其为庞大的网络结构,参数够多,学习能力够强,能配合大数据达到惊人的效果。而且,能自动学习特征,避免了“特征工程”这种繁琐的手工劳动。对于图像、音频和文字处理领域有极大的意义。因为最近在尝试用深度学习做文本挖掘,所以需要一台深度学习服务器(相信我,如果用CPU来跑,你的人生显得好短)。那么就有三个选择项:A、购买组装好的服务器,例如NVIDIA DIGITS DEVBOXB、购买云服务,例如Amazon的GPU服务C、自己攒一台深度学习服务器。A项从性价比上不合算,而且不一定买的到。B项的云服务对于研究探索性质工作而言也比较贵,机器配置也不一定合适,所以我们就C项了。硬件选择:基本思路是单显卡机器,保留升级空间显卡选择:先解释一点,深度学习为什么需要显卡计算?GPU...

Discover, share and read the best on the web

Subscribe to RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters! Get unfiltered news feeds or filter them to your liking.

Get Inoreader
Inoreader - Subscribe to RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters!