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

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

相关推荐
AI即插即用16 分钟前
即插即用系列 | 2025 SOTA Strip R-CNN 实战解析:用于遥感目标检测的大条带卷积
人工智能·pytorch·深度学习·目标检测·计算机视觉·cnn·智慧城市
源码之家36 分钟前
基于python新闻数据分析可视化系统 Hadoop 新闻平台 爬虫 情感分析 舆情分析 可视化 Django框架 vue框架 机器学习 大数据毕业设计✅
大数据·爬虫·python·数据分析·毕业设计·情感分析·新闻
IT油腻大叔40 分钟前
DeepSeek-多层注意力计算机制理解
python·深度学习·机器学习
九年义务漏网鲨鱼41 分钟前
【多模态大模型面经】现代大模型架构(一): 组注意力机制(GQA)和 RMSNorm
人工智能·深度学习·算法·架构·大模型·强化学习
O***p6041 小时前
机器学习挑战同时也带来了一系列亟待解决的问题。
人工智能·深度学习·机器学习
饭九钦vlog1 小时前
一键配置kali脚本
r语言
B站_计算机毕业设计之家2 小时前
python手写数字识别系统 CNN算法 卷积神经网络 OpenCV和Keras模型 计算机视觉 (建议收藏)✅
python·深度学习·opencv·机器学习·计算机视觉·cnn
以梦为马mmky2 小时前
25中国矿业大学通信考情数据分析
数据分析·通信考研·信号与系统·中国矿业大学
Valueyou242 小时前
引入基于加权 IoU 的 WiseIoU 回归损失以提升 CT 图像检测鲁棒性
人工智能·python·深度学习·目标检测
这张生成的图像能检测吗2 小时前
(论文速读)SpiralMLP:一个轻量级的视觉MLP架构
图像处理·人工智能·深度学习·计算机视觉·mlp框架·分类、检测、分割