R语言深度学习-1-深度学习入门(H2O包安装报错解决及接入/H2O包连接数据集)

本教程参考《RDeepLearningEssential》

1.1 深度学习概念

深度学习是机器学习的一个子集,它特别指的是那些试图模拟人脑工作原理的算法和技术。这种类型的机器学习通过使用多层的人工神经网络来学习和表示数据的内在规律和层次结构。深度学习已经在多个领域取得了显著的成功,特别是在图像和语音识别、自然语言处理以及推荐系统等方面。之前学习深度学习,我一直使用python,但是实际上R语言也是不错的选择,作为简单语言实现复杂功能的尝试。本教程主要聚焦于神经网络的学习。

1.2神经网络概念

深度学习是一种特殊的机器学习方法,它基于人工神经网络的原理,特别是那些具有多层结构的神经网络模型。神经网络,又称为人工神经网络或模拟神经网络,是由大量神经元(或称为节点)相互连接而成的网络结构,旨在模仿人类大脑处理和记忆信息的方式。

在深度学习中,神经网络通常包含输入层、隐藏层和输出层等多个层级,每一层都由若干个神经元组成,相邻层之间通过权重连接。训练这样一个神经网络的关键在于调整这些连接的权重来优化模型的性能,使其能够在给定的数据集上学到有效的特征表示和复杂的模式。

以一个简单的房价预测网络为例,输入层接收房屋的各种属性作为输入,经过隐藏层的处理后,输出层给出房价的预测结果。在这个过程中,隐藏层能够自动从输入数据中提取出有用的特征,并在一定程度上模拟了人类专家在分析类似问题时所依赖的直觉和经验。

经常选择的激活函数是sigmoid函数: 以及双曲正切函数

1.3基于深度学习的R包

我们需要安装一些深度学习的包,如RCurl、jsonlite、caret、e1071、statmod、MASS、H2O、nnet等,我们一口气安装一下:其中h2o包的安装和运行比较复杂,报错不要慌

install.packages('RCurl')
install.packages('jsonlite')
install.packages('caret')
install.packages('e1071')
install.packages('statmod')
install.packages('MASS')
install.packages('nnet')
install.packages('neuralnet')
install.packages('deepnet')
install.packages('h2o')

1.4 H2O包安装的报错解决方案

H2O包在直接用install安装可能会报错,因为包有点大,比如这样: Warning in install.packages : 下载程序包'h2o'时出了问题

我们尝试官网给出的解决方法:Downloading & Installing H2O --- H2O 3.44.0.3 documentation

#以下两个命令删除以前为 R 安装的任何 H2O 包。
if ("package:h2o" %in% search()) { detach("package:h2o", unload=TRUE) }
if ("h2o" %in% rownames(installed.packages())) { remove.packages("h2o") }

#接下来,下载 H2O 依赖的软件包
pkgs <- c("RCurl","jsonlite")
for (pkg in pkgs) {
  if (! (pkg %in% rownames(installed.packages()))) { install.packages(pkg) }
}

#安装最新及适合的包
install.packages("h2o", type="source", repos=(c("http://h2o-release.s3.amazonaws.com/h2o/latest_stable_R")))

如果也报错的话就在本地安装,这是本地下载链接:下载后运行代码本地安装:Download H2O 3.47.0.6510 (h2o-release.s3.amazonaws.com)

install.packages("C:/Users/Huzhuocheng/Desktop/h2o_3.47.0.6510.tar.gz", repos = NULL, type = "source")

这样就安装成功了。

1.5 H2O包的初始化和接入(包括报错解决)

library(h2o)
c1 <- h2o.init(
  max_mem_size = '3G',
  nthreads = 2
)

这样就完成了初始化,当然你也会遇到报错:

Error in h2o.init(max_mem_size = "3G", nthreads = 2) : H2O failed to start, stopping execution.

这一般是电脑防火墙或者IP地址的问题,那么就运行:

h2o.init(nthreads = 2, max_mem_size = '3g', ip = "127.0.0.1", port = 54321)

然后在自己的浏览器中输入网址接入H2O

http://127.0.0.1:54321/flow/index.html

1.6 H2O连接数据集

我们可以在R语言中导入后使用as.h2o()函数载入,示例一下:

hdata <- as.h2o(iris[1:100, 1])

但是我们可以不用这么复杂,我们也可以让H2O读取数据

write.csv(mtcars , 'C:/Users/Huzhuocheng/Desktop/mtcar.csv')
hdata <- h2o.importFile(path = 'C:/Users/Huzhuocheng/Desktop/mtcar.csv')

1.7小结

我们安装了深度学习所需要的包,学习了深度学习的一般概念,下一篇我们将开始训练自己的神经网络并进行预测!

相关推荐
赵钰老师2 小时前
【R语言遥感技术】“R+遥感”的水环境综合评价方法
开发语言·数据分析·r语言
学术头条2 小时前
清华、智谱团队:探索 RLHF 的 scaling laws
人工智能·深度学习·算法·机器学习·语言模型·计算语言学
18号房客2 小时前
一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·sklearn
Ven%2 小时前
如何在防火墙上指定ip访问服务器上任何端口呢
linux·服务器·网络·深度学习·tcp/ip
生信圆桌2 小时前
【生信圆桌x教程系列】如何安装 seurat V5版本R包,最详细安装手册
开发语言·r语言
IT猿手2 小时前
最新高性能多目标优化算法:多目标麋鹿优化算法(MOEHO)求解TP1-TP10及工程应用---盘式制动器设计,提供完整MATLAB代码
开发语言·深度学习·算法·机器学习·matlab·多目标算法
强哥之神3 小时前
Nexa AI发布OmniAudio-2.6B:一款快速的音频语言模型,专为边缘部署设计
人工智能·深度学习·机器学习·语言模型·自然语言处理·音视频·openai
18号房客3 小时前
一个简单的深度学习模型例程,使用Keras(基于TensorFlow)构建一个卷积神经网络(CNN)来分类MNIST手写数字数据集。
人工智能·深度学习·机器学习·生成对抗网络·语言模型·自然语言处理·tensorflow
Biomamba生信基地3 小时前
R语言基础| 功效分析
开发语言·python·r语言·医药
神秘的土鸡3 小时前
神经网络图像隐写术:用AI隐藏信息的艺术
人工智能·深度学习·神经网络