全部版块 我的主页
论坛 数据科学与人工智能 人工智能 机器学习
3128 1
2017-09-18
前言

很多人都在质疑,作为老牌的统计分析编辑语言到底能不能胜任深度学习这个新任务。不可否认,在“某度”上,R语言的深度学习资料确实不多,我想这主要是应用群体的关系。因此,我们开始搜索英文原始资料,希望能够搜罗到尽可能多的R语言深度学习解决方案(有朋友劝我,要不你换个编程语言?我说算了吧,以前用过C,学过VB,换过PB,也编过Matlab,年纪一把了,实在懒得再换语法了)。

Keras简介


下面我们开始言归正传,首先什么是Keras? Keras的中文文档是这么介绍的:

Keras是一个高层神经网络API,Keras由纯Python编写而成并基Tensorflow、Theano以及CNTK后端。Keras 为支持快速实验而生,能够把你的idea迅速转换为结果,如果你有如下需求,请选择Keras:

  • 简易和快速的原型设计(keras具有高度模块化,极简,和可扩充特性)
  • 支持CNN和RNN,或二者的结合
  • 无缝CPU和GPU切换

https://keras-cn.readthedocs.io/en/latest/

读到这里,我心中窃喜,呵呵,果断没必要学习Python了,能调用就好了啊。




如何在R中调用Keras

要学习如何调用Keras,你可以在https://keras.rstudio.com/中找到非常详细的说明,当然是全英文的(做DA不会英语不行啊)。下面我们就以网站上的例子来讲解如何运用在R中运用Keras进行深度学习。

以下为个人理解版,要看原文的直接点击链接https://keras.rstudio.com/


步骤1 安装Keras包

复制代码

这里的代码很好理解,安装和调用。最后一行install_keras()是默认安装keras功能,这种情况下默认安装的是tensorflow作为后端,具体如下

复制代码

此外,默认情况都是安装的CPU版本,当然,哪位土豪配置了NVIDIA® GPU,那么你就可以用下面的命令安装GPU版本。

复制代码

MNIST算例:MNIST是非常著名的一个手写数字算例数据集,纠结细节的同学可以移步http://yann.lecun.com/exdb/mnist/,简单的来说,我们就是要运用深度学习方法来识别手写数字,比如:

9-18-4.png



步骤2 导入数据

复制代码


步骤3 调整数据结构

#改变数据形状,矩阵转向量
复制代码

这些工作是为了满足模型输入的需求,其中to_categorical是将对应的分类转化为向量,例如

to_categorical(2, 4)

上述代码分类是2,从0开始,所以2是第3个。4表示总共4个分类,所以输出的结果是

复制代码


步骤4 定义模型

复制代码

这里的%>%表示向右传递的管道函数。


步骤5 设置优化项

复制代码

这里定义了损失、优化和度量方式。


步骤6 运行

复制代码


9-18--5.png 9-18-6.png 9-18-7.png

到这里,我们的介绍就差不多了,这篇短文并不是深度学习的理论介绍,所以没有太多概念的说明。本文的用意只是抛砖引玉,希望有更多的R语言爱好者能够分享更多的R语言深度学习解决方案。

编后语

本文是R语言数据分析系列中的第2篇,我们将继续推出R语言语法、统计分析数据挖掘等一系列文章。你的点赞和关注使我们最大的动力。


原文:https://zhuanlan.zhihu.com/p/292 ... l&from=timeline
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-9-23 22:26:03
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群