GrowNet:梯度提升神经网络

GrowNet:梯度提升神经网络

简介

GrowNet是一个新颖的梯度提升框架,它使用梯度提升技术,从浅层深度神经网络中建立复杂的神经网络。浅层深度神经网络被用作弱学习者。如今,GrowNets在不同的领域中都有应用。

梯度提升算法的简要复习

梯度提升是按顺序建立模型的技术,这些模型试图减少以前的模型产生的错误。这是通过在前一个模型产生的残差或误差上建立一个模型来实现的。它可以利用数值方法的优化来估计一个函数。最常见的梯度提升函数类型是决策树,其中每个决策都是通过拟合前一个树的负梯度来建模的。

梯度提升可以是回归任务的梯度提升调节器,也可以是分类任务的梯度提升分类器。

GrowNet–一种应用于神经网络的新型提升理念

梯度提升算法的主要概念或想法是,它使用较低级别的简单模型作为构件,通过一种被称为顺序梯度提升的技术,使用一阶和二阶梯度导数来建立更强大和强大的模型,一般是高阶的。在这样的模型中,弱的学习者提高了高阶模型的性能。

在每个提升步骤中,初始输入特征为

原始输入特征被扩展到当前迭代的前一层输出。这个合并的特征集被用作输入,使用基于提升的机制,用现在的残差来训练下一组弱学习器。所有依次训练的模型的输出都经过加权和合并,以得到最终的输出。

我们假设一个数据集有m个特征,每个特征有d个维度,那么

GrowNet:梯度提升神经网络

假设Grownet需要N次迭代。

GrowNet:梯度提升神经网络

其中F=空间的乘数,αn=步长的大小。F n代表每个有输出层的浅层NN。

如果l是可微分的损失函数,那么,目标函数为最小化以下公式

GrowNet:梯度提升神经网络

我们可以进一步增加一个正则化。

GrowNet:梯度提升神经网络

为xi样本在t-1阶段的Grownet产出,那么

GrowNet:梯度提升神经网络

弱学习者的目标函数将被赋予如下。

GrowNet:梯度提升神经网络

其中,

GrowNet:梯度提升神经网络

corrective step的介绍

在每一步(提升阶段)t,对第t个弱学习者的参数进行更新,所有之前的(t-1)弱学习者都不改变。在这个过程中,模型在学习过程中可能会陷入局部最小值,而αn可以缓解这个问题。因此,我们引入了一个纠正步骤,在每个纠正步骤中,允许t-1个学习者通过反向传播更新参数。

GrowNets的应用

GrowNets可用于回归和分类。

对于回归

回归任务采用的是MSE损失函数。如果l是获得yi的一阶和二阶的t阶段的平均平方损失是

GrowNet:梯度提升神经网络

GrowNet:梯度提升神经网络

然后对每个xi,yi ,i =1,,2……的弱学习器进行最小平方回归训练,并在纠正状态下使用MSE损失再次更新GrowNet的所有模型参数。

用于分类

在二元交叉熵的例子中,交叉熵损失函数是可分的。以标签yi∈{-1, +1}为例,在任何一个点t上,一阶梯度为{-1, +1}。的情况下,在任何一点t,一阶梯度为

GrowNet:梯度提升神经网络

GrowNet:梯度提升神经网络

即将到来的弱学习者通过使用二阶导数的最小二乘法进行回归拟合。所有函数的参数最后使用二元交叉熵损失进行更新。

总结

GrowNet是一种非常新的方法,它将梯度提升技术应用于深度神经网络,我们可以在一个框架下灵活地使用机器学习完成许多任务。它是简单的深层神经网络的一个更好的选择,因为它能提供更好的性能,也需要更少的训练时间。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程