深度森林模型开发和训练制造技术

技术编号:30508629 阅读:17 留言:0更新日期:2021-10-27 22:48
用于分析数据的深度森林模型的自动开发和训练包括,使用数据生长决策树的随机森林,确定森林的袋外(OOB)预测,将所述OOB预测附加到数据集,以及使用包括所附加的OOB预测的数据集来生长另外的森林,并且合并该另外的森林的输出,然后利用该模型对训练数据集之外的数据进行分类。据进行分类。据进行分类。

【技术实现步骤摘要】
【国外来华专利技术】深度森林模型开发和训练

技术介绍

[0001]本公开一般地涉及用于开发和训练用于分析数据的模型的系统和方法。本公开尤其涉及使用深度随机森林自动开发和训练模型以分析数据的系统。
[0002]深度学习至少部分由于深度神经网络的成功应用而众所周知,特别是在涉及图像和语音信息的任务中。深度神经网络也具有缺陷。深度神经网络可能需要大量的数据用于训练,这使得深度神经网络不太适合于小规模数据。深度神经网络可以是包括太多超参数的非常复杂的模型。可能需要仔细地调整这些参数以达到期望的学习准确度,使得深度神经网络的训练更像技术,而不是科学或工程学。
[0003]Zhou等人提出了一种新的深度学习方法gcForest(多粒度级联森林)[Z.

H.Zhou和F.Ji.Deep forest:towards an alternative to deep neural networks(深度森林:朝向深度神经网络的替代方案).arXiv:1702.08835v2,2017]。该方法试图通过随机森林的级联结构来实现关键的深度学习想法,即表示学习,其中级联的每个层接收由前一层创建的特征信息,并且将其结果输出到下一层。gcForest可以实现与深度神经网络有竞争力的性能,但是具有较少的上述缺陷。
[0004]随机森林由Breiman在2001年提出[L.Breiman.Random forests(随机森林).Machine Learning(机器学习),45(1):5

32,2001]。它是决策树的集合。当在集合中生长这些决策树时,应用特殊处理。首先,在自举(bootstrap)样本上生长每个树。自举样本通过从训练数据中采样并替换来获得,并且样本大小与训练数据的大小相等。第二,每个树需要在样本上完全生长,直到每个叶节点仅包含相同类的实例,并且不需要修剪。更重要的是,当分割树中的任何节点时,它随机地选择预测因子的一部分,从该部分预测因子中选择具有最佳gini值的预测因子用于分割。
[0005]当对数据实例进行评分时,随机森林使用多数表决来组合来自个体树的预测。例如,考虑具有3个类(c1、c2和c3)的目标变量以及森林中的1000个决策树。假设针对3个类的投票的数量分别是200、300和500。然后,随机森林将报告针对正在评分的实例的类概率的向量,即,[0.2,0.3,0.5]。还将报告c3的标签预测,因为它具有最大预测概率。
[0006]如果实例是训练实例,则随机森林提供生成袋外(Out

of

Bag,OOB)预测的选项。这样的预测是用树的投票计数的结果,这些树尚未将实例包括在它们的自举样本中。继续以上实例,如果存在尚未将实例用于训练的400个树,且c1、c2和c3的投票数目分别为100、100和200,那么所述实例的OOB预测(概率向量)将为[0.25、0.25、0.50]。标签预测将是c3,因为它对应于最大概率。通过将实例标签与对训练数据的OOB标签预测进行比较来计算森林的OOB精确度。
[0007]gcForest的方法使用交叉验证来生成新的特征信息。虽然交叉验证是有效的,但它也带来挑战。首先,gcForest的方法包括每层中的多个随机森林学习器N,并且其需要针对每个学习器的k倍交叉验证。由此,每一层需要总共N*k个学习器。当数据集很大时,由于学习器的数量随着数据集的大小而增加,并且构建甚至单个学习器是昂贵的,所以可能出现性能问题。将需要非常强大的计算设施。第二,由于交叉验证和对从训练数据集导出的验
证数据集的需要,训练数据可能不被完全使用。gcForest的方法将数据分成训练样本和验证样本,并且如果不能提高验证样本的准确度则停止训练。验证样本的使用使得小数据问题甚至更差。

技术实现思路

[0008]可以由利用深度随机森林的系统、方法和计算机程序产品来分析数据,其中该深度随机森林具有减少的超参数集合以及减少的调整要求(tuning requirements)。在一个方面,机器学习模型由随机森林层自动构建。从数据集生长随机森林的决策树。为随机森林确定袋外(OOB)预测和类标签预测。将数据集的每个实例的OOB预测附加到数据集。通过增加更多森林层来扩展该模型。每个新的森林从由前一层生成的数据集的附加版本生长。将合并器层添加到最后的数据附加层,以产生模型输出。
[0009]在一个方面,通过使用其中单个用户提供的超参数是每个森林的树的数量的方法,可以减少计算资源。在这个方面,通过接收训练数据集和每个随机森林的指定数量的决策树,可以自动构建机器学习模型。然后,从该训练数据集生长指定数量的决策树。为训练数据集的每个实例确定OOB预测和类标签。为每个实例将OOB预测附加到训练数据,然后使用附加的数据集生成森林的下一层。使用OOB标签预测确定每一层的OOB精确度。增加另外的层,直到OOB精确度停止随着另外的层显著提高。增加一个合并器,以整合最后一个另外的森林层的输出,并提供模型输出。
[0010]在一个方面,从训练数据集生长森林的决策树。指定将用于生长树的、每个森林的树的个数和类向量的维数。模型具有多层,每层提供一个森林,从而减少分类所需的计算资源。确定森林的袋外(OOB)预测。将OOB预测附加到数据集,作为每个数据集实例的新特征。附加OOB预测提供了用于从每层向后续层增加新特征信息的方式,而不必使用会导致特征信息丢失的模型。为森林确定OOB精确度。通过重复上述步骤并使用前一层的用于训练的附加数据集,来增加单个森林的另外层,直到新层的OOB精确度不再显著提高。OOB精确度的使用消除了在分析中的交叉验证的需求,进一步减少了计算资源。最后一个森林的输出被合并,并使用整个模型从训练数据集外部来分析数据。
附图说明
[0011]图1提供了根据本专利技术的一个实施例的系统的示意图。
[0012]图2提供了描绘根据本专利技术的一个实施例的操作序列的流程图。
[0013]图3描绘了根据本专利技术的一个实施例的数据流。
[0014]图4描绘了根据本专利技术的一个实施例的云计算环境。
[0015]图5描绘了根据本专利技术的一个实施例的抽象模型层。
具体实施方式
[0016]深度神经网络(DNN)结构已成功应用于机器学习应用。DNN可能包括许多超参数,因此可能难以调整到手头的问题和数据集。DNN也可能难以应用于与小数据集有关的应用,因为DNN可能需要大数据集来将模型训练到可接受的精确度水平。DNN结构的操作的复杂性和不透明性可能导致难以在开发或指定DNN结构的情况下在不进行过度实验的情况下在层
数和每层节点方面确定最佳结构以实现期望或必要的精确度的系统。所需要的是一种机器学习模型结构,其即使应用于小数据集,也可以在不需要与DNN相关联的情况下容易地指定和调整,并且当已经实现最佳精确度时可以自动完成模型开发。
[0017]所公开的系统、方法和计算机程序产品提供了机器学习模型开发和训练,由于使用了有替换地选自所提供的训本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于开发和训练用于分析数据的模型的计算机实现的方法,该方法包括:通过以下步骤构造模型:由一个或多个计算机处理器从数据集生长决策树的随机森林;由一个或多个计算机处理器确定对于所述随机森林的袋外(OOB)预测;由一个或多个计算机处理器将所述袋外预测附加到所述数据集;由一个或多个计算机处理器使用具有附加的OOB预测的数据集来生长另外的随机森林;并且由一个或多个计算机处理器用合并器合并所述另外的随机森林的输出。2.根据权利要求1所述的方法,其中,每个随机森林都是从选自下组的数据生长的,该组由以下各项组成:数字、文本、音频、视频、图像数据位置、语音、音乐、娱乐、医疗保健、财务信息、车辆、物流、以及销售数据。3.根据权利要求1所述的方法,其中,使用数据集来生长所述决策树的随机森林包括:使用自举样本来生长决策树,以生长每个树,所述自举样本是有替换地取自所述数据集。4.根据权利要求1所述的方法,进一步包括:确定每个随机森林的OOB精确度,并且添加随机森林,直到所述OOB精确度没有显著提高。5.根据权利要求1所述的方法,其中,所述合并器包括选自由随机森林和梯度提升结构组成的组中的结构。6.根据权利要求1所述的方法,其中,所述模型包括层序列,每层包括单个随机森林。7.一种用于开发和训练用于分析数据的模型的计算机程序产品,所述计算机程序产品包括一个或多个计算机可读存储设备和存储在所述一个或多个计算机可读存储设备上的程序指令,所述程序指令包括:编程指令,当由一个或多个计算机处理器执行时,所述编程指令使所述处理器执行如权利要求1至6中任一项所述的方法的步骤。8.一种用于开发和训练用于分析数据的模型的计算机系统,所述计算机...

【专利技术属性】
技术研发人员:许静王锐马小明杨继辉张雪英J
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1