首页 理论教育 H2O原理:深入解析水的神奇之处

H2O原理:深入解析水的神奇之处

时间:2023-06-28 理论教育 版权反馈
【摘要】:H2O遵循多层前馈神经网络模型来进行预测性建模。本节详细地描述H2O的深度学习特征、参数配置,以及计算机实现。特征概要H2O的深度学习功能包括:1)用于回归与分类任务的纯监督训练协议。表11.1 激活函数可选的损失函数列于表11.2。H2O深度学习是可扩展的并且能够利用一大簇计算结点。正则化H2O的深度学习框架支持正则化技巧来防止过拟合。优化H2O在优化阶段,有手动模式与自动模式。

H2O原理:深入解析水的神奇之处

H2O遵循多层前馈神经网络模型来进行预测性建模。本节详细地描述H2O的深度学习特征、参数配置,以及计算机实现。

(1)特征概要

H2O的深度学习功能包括:

1)用于回归与分类任务的纯监督训练协议。

2)快速以及高效利用存储的JAVA实现,这种实现基于柱状压缩以及精细地图/微量递减。

3)在单结点或者一簇多重结点上进行多线程的分布式并行计算

4)全自动的单神经元自适应学习速率,以求快速收敛。

5)可选的学习速率规格、退火以及动量选项。

6)正则化选项包括L1、L2、dropout,Hogwild以及平均化模型,这些选项用来防止过拟合。

……

(2)训练

1)初始化。多种深度学习架构结合了非监督预训练与监督训练,但是H2O使用单纯的监督训练协议。默认初始化方案是清一色的自适应选项,这些选项是基于网络规模进行了优化的。另一方面,可以选择服从均匀分布或者正态分布的随机初始化,对此,要说明换算因数。

2)激活函数与损失函数。可选的激活函数总结于表11.1。表中,xiwi分别代表神经元的输入值和权重值;978-7-111-57073-8-Chapter11-6.jpg

11.1 激活函数

978-7-111-57073-8-Chapter11-7.jpg

可选的损失函数列于表11.2。

11.2 损失函数

978-7-111-57073-8-Chapter11-8.jpg

3)精调。使损失函数值最小化的过程类似于随机梯度下降(Stochastic Gradient Descent,SGD)。微调过程如下:

初始化:W,B。

迭代:

获取第i个训练样本;

修改wikbki

978-7-111-57073-8-Chapter11-9.jpg

直到满足收敛条件。

其中,α表示学习速率,它控制着梯度下降中的步长。

4)训练算法。在H2O中使用SGD进行分布式多线程训练,以下是一个算法概要:

步骤1.初始化全局模型参数W、B。

步骤2.跨结点分布训练数据T(结点可以不交,也可以重复)。(www.xing528.com)

步骤3.迭代。

对训练子集Tn上的n个节点进行并行计算:

1)获取全局参数WnBn的副本。

2)选择子集TnaTn

3)通过核ncTna划分为Tnac

4)对节点n的核nc,并行计算:

4.1)获取第i个训练样本,iTnac

4.2)修改所有权重wikwn偏移量bikBn

978-7-111-57073-8-Chapter11-10.jpg

978-7-111-57073-8-Chapter11-11.jpg

直到满足收敛条件。

步骤4.根据验证集分数优化模型。

5)指定每步迭代的样本数。H2O深度学习是可扩展的并且能够利用一大簇计算结点。一共有三种运行模式。默认行为是,让每个结点在整个数据集上训练,但是自动为每步迭代分配训练数据。

(3)正则化

H2O的深度学习框架支持正则化技巧来防止过拟合。L1与L2正则化方法都修改了损失函数为

L′(W,B|j)=L(W,B|j)+λ1R1(W,B|j)+λ2R2(W,B|j

还有一种正则化方法称为dropout。

(4)优化

H2O在优化阶段,有手动模式与自动模式。手动模式特性包括动量训练和学习速率退火,而自动模式自适应调整学习速率。

动量训练:动量训练修改了反向传播,它允许前步迭代影响目前的更新。专门定义一个向量V来对更新进行修改如下:

978-7-111-57073-8-Chapter11-12.jpg

其中,θ代表W、B参数;μ代表动量系数;α代表学习速率。

(5)数据下载

当用R下载在使用H2O时需要的数据,这和通常的方法稍有些不同,即必须将数据集转化为H2OParsedData对象。例如,在Http://bit.ly/1yywZzi.下载天气数据,首先下载数据到R调试环境的当前工作目录,接着运行如下命令:

weather.hex=h20.uploadFile(h20_server.path="weather.csv",header=true.

sep=".",key="weather.hex")

快速概览数据,运行如下命令:

summary(weather.hex)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈