给初学者准备的 R 语言深度学习教程

您所在的位置:网站首页 r语言神经网络的预测实例 给初学者准备的 R 语言深度学习教程

给初学者准备的 R 语言深度学习教程

2024-07-11 10:02| 来源: 网络整理| 查看: 265

机器学习 给初学者准备的 R 语言深度学习教程 庄亮亮

关键词:深度学习

审稿人 何通

简介 R 语言深度学习 配置工作环境 简单神经网络建模 加载包 加载数据 数据处理 构建模型 编译模型 拟合模型 评估模型 存储/加载模型 相关拓展 相关教程 相关案例

近年来深度学习在人工智能领域飞速发展,各行业的学者、研究人员纷纷涌入研究热潮。本文将从 R 语言角度来介绍深度学习并解决以下几个问题:

什么是深度学习? 相关深度学习包有哪些? 如何配置工作环境? 如何使用神经网络建立模型?

并在文末给出一些学习资料供大家参考、学习。

简介

深度学习是机器学习领域一个新的研究方向,通过模型模拟人类大脑的神经连接结构,进而给出数据的解释。图 1 给出了人工智能、机器学习和深度学习三者的关系。

深度学习之所以被称为 “深度”,是相对于其他”浅层”学习的方法(支持向量机、提升方法 、最大熵方法等)而言的。浅层学习依靠人工经验抽取样本特征,网络模型学习后获得的单层或双层的特征;而深度学习通过对原始数据进行逐层特征变换,将样本在原空间的特征表示变换到新的特征空间,自动地学习得到层次化的特征表示,从而更有利于分类或特征的可视化。

图1:人工智能、机器学习和深度学习的关系1

目前,深度学习已经被应用于诸多领域中,例如:医疗保健、社会网络分析、音频和语音处理(识别和增强)、视觉数据处理方法(多媒体数据分析和计算机视觉)、自然语言处理(翻译和句子分类)等。

R 语言深度学习

随着 R 的不断发展,利用 R 进行深度学习比以往更容易。并且 R 易学易用,不要求很扎实的编程基础,如今它被广泛地应用于机器学习实践和教学中。即使对 R 语言不是很了解的用户也可以通过一些包来搭建深度学习网络。

CRAN 的机器学习与统计学习任务视图中与 R 语言深度学习相关的第三方包有:

R 包 描述 nnet 构建单隐藏层的前馈神经网络,多项对数线性模型。 h2o H2O 的 R 脚本功能。 RSNNS Stuttgart 神经网络模拟器(SNNS)接口。 tensorflow TensorFlow 接口。 deepnet R 中的深度学习工具包(前馈神经网络,受限的玻尔兹曼机,深度信念网络,堆叠的自编码器)。 RcppDL 实现多层的机器学习方法,包括去噪自编码器,堆叠去噪自编码器,限制玻尔兹曼机和深度信念网络。 torch 实现 libtorch 库的接口。

如果读者对这些包感兴趣,可以直接点击名称进入学习。或者阅读程显毅老师的中文书籍《深度学习与 R 语言》,该书介绍了各种 R 语言深度学习包并结合实例分析。

本文主要使用深度学习框架 Keras,并将 TensorFlow 作为后端引擎。与其他包相比,Keras 的优点在于它的易用性。它是最流行和发展最快的深度学习框架之一,被广泛推荐为入门深度学习的最佳工具。它能够在 TensorFlow,CNTK,Theano 或 MXNet 上运行。

配置工作环境

在使用 R 进行深度学习前,需要在系统上安装以下东西:

R 和 RStudio TensorFlow Keras

本文默认读者为 R 语言爱好者,已经安装好了 R 和 RStudio。并且 Anaconda 的安装,也不将在本文介绍,需要读者自行解决。

安装 TensorFlow 包: install.packages("tensorflow")

如果在上一步中尚未安装 Anaconda,此时将被要求安装 Miniconda。 读者需要接受并等待所有软件包安装。

使用 install_tensorflow() 函数安装 TensorFlow。 library(tensorflow) install_tensorflow() 确认是否安装成功: library(tensorflow) tf$constant("Hellow Tensorflow") ## tf.Tensor(b'Hellow Tensorflow', shape=(), dtype=string)

此时,默认安装了适用于 R 的 TensorFlow 版本。

安装并加载 keras 包: install.packages('keras') library(keras) install_keras()

默认安装 CPU 版本的 Keras。如果需要安装 GPU 版本,则应使用此命令:

install_keras(tensorflow = 'gpu') 确认是否安装成功: packageVersion('keras') packageVersion('tensorflow')

当工作环境搭建完毕后,就可以开始利用 R 语言做深度学习了。

简单神经网络建模

本节将从一个简单的回归例子来介绍如何在 R 中使用 keras 包进行深度学习。

该案例是在 CPU 下进行的。如果你的设备有 GPU,并想用 GPU 训练模型。你不需要修改以下的代码,只需前期安装 GPU 版本的 TensorFlow,默认情况下,运算会优先使用 GPU。

知识点包括:

数据导入与数据处理。 构建神经网络。 训练神经网络。 评估模型的准确性。 保存并恢复创建的模型。 加载包 library(keras) library(mlbench) #使用内部数据 library(dplyr) library(magrittr) 加载数据

使用 1970 年波士顿 506 个人口普查区的住房数据作为例子。该数据集一共有14列,506 行。其中,因变量为 medv(自有住房的中位数报价, 单位 1000 美元),自变量为其他 13 个变量,包括:CRIM (城镇人均犯罪率)、ZN(占地面积超过 25000 平方英尺的住宅用地比例)、INDUS (每个城镇非零售业务的比例)等。

data("BostonHousing") data


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3