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小结

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

相关推荐
爱数模的小驴4 小时前
2025 年“认证杯”数学中国数学建模网络挑战赛 C题 化工厂生产流程的预测和控制
深度学习·算法·计算机视觉
凡人的AI工具箱7 小时前
PyTorch深度学习框架60天进阶学习计划 - 第41天:生成对抗网络进阶(三)
人工智能·pytorch·python·深度学习·学习·生成对抗网络
workworkwork勤劳又勇敢7 小时前
Adversarial Attack对抗攻击--李宏毅机器学习笔记
人工智能·笔记·深度学习·机器学习
乌旭7 小时前
从Ampere到Hopper:GPU架构演进对AI模型训练的颠覆性影响
人工智能·pytorch·分布式·深度学习·机器学习·ai·gpu算力
ocr_sinosecu19 小时前
OCR进化史:从传统到深度学习,解锁文字识别新境界
人工智能·深度学习·ocr
Stara05119 小时前
YOLO11改进——融合BAM注意力机制增强图像分类与目标检测能力
人工智能·python·深度学习·目标检测·计算机视觉·yolov11
movigo7_dou9 小时前
关于深度学习局部视野与全局视野的一些思考
人工智能·深度学习
LitchiCheng10 小时前
MuJoCo 机械臂关节路径规划+轨迹优化+末端轨迹可视化(附代码)
人工智能·深度学习·机器人
派可数据BI可视化10 小时前
数据中台、BI业务访谈(三):如何选择合适的访谈对象
大数据·信息可视化·数据挖掘·数据分析·商业智能bi
AronTing11 小时前
DeepSeek 部署中常见问题的系统性解决方案
后端·深度学习