楼主: Studio-R
3169 1

R语言深度学习——他山之石(Keras来了) [推广有奖]

  • 5关注
  • 12粉丝

已卖:265份资源

教授

34%

还不是VIP/贵宾

-

威望
0
论坛币
37824 个
通用积分
2636.2859
学术水平
31 点
热心指数
30 点
信用等级
18 点
经验
26195 点
帖子
814
精华
1
在线时间
1402 小时
注册时间
2016-11-4
最后登录
2025-12-8

楼主
Studio-R 在职认证  发表于 2017-9-18 10:24:37 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
前言

很多人都在质疑,作为老牌的统计分析编辑语言到底能不能胜任深度学习这个新任务。不可否认,在“某度”上,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包

  1. install.packages("keras")
复制代码

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

  1. install_keras(method = c("virtualenv", "conda"), conda = "auto",  tensorflow = "default", extra_packages = NULL)
复制代码

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

  1. install_keras(tensorflow = "gpu")
复制代码

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

9-18-4.png



步骤2 导入数据

  1. mnist <- dataset_mnist()  #导入mnist数据集
复制代码


步骤3 调整数据结构

#改变数据形状,矩阵转向量
  1. dim(x_train) <- c(nrow(x_train), 784)
复制代码

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

to_categorical(2, 4)

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

  1. > to_categorical(2, 4)     [,1] [,2] [,3] [,4][1,]    0    0    1    0
复制代码


步骤4 定义模型

  1. model <- keras_model_sequential() model %>%   
复制代码

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


步骤5 设置优化项

  1. model %>% compile(  loss = 'categorical_crossentropy',  optimizer = optimizer_rmsprop(),  metrics = c('accuracy'))
复制代码

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


步骤6 运行

  1. history <- model %>% fit(  x_train, y_train,   epochs = 30, batch_size = 128,   validation_split = 0.2)
复制代码


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
二维码

扫码加我 拉你入群

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

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

关键词:深度学习 他山之石 RAS Era R语言

[url=https://edu.cda.cn/page/110][/url]

沙发
soccy 发表于 2017-9-23 22:26:03

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-1 17:31