机器学习模型的正则化的制作方法

文档序号:15362178发布日期:2018-09-05 00:56阅读:150来源:国知局

本申请要求于2015年12月4日提交的标题为“regularizationofmachinelearningmodels”的美国临时申请第62/263,340号的权益,其在此通过引用整体并入。



背景技术:

机器学习模型可以被配置为分析预定的标记训练数据集合,然后从训练数据进行某些推断。在模型被训练之后,模型可以被馈送不同的未被标记的数据集合,并且基于在训练阶段期间学习的推断对不同数据集合中的每个项进行概括。

在一些情况下,机器学习模型可基于特定的预定标记训练数据集合仅被训练一次。在其他情况下,机器学习模型可以是在线机器学习模型,其可以在接收新数据时定期更新。

机器学习模型可能对训练数据过度拟合。过度拟合可能被描述为机器学习模型鉴于特定的训练数据集合而变得过于自信。当机器学习模型过度拟合时,它可能会开始做出不良的概括。



技术实现要素:

根据本公开的一个创新方面,公开了一种用于正则化机器学习模型的方法,所述机器学习模型被配置为接收包括多个特征的特征向量作为输入并且从所述特征向量生成预测输出。所述方法可以包括如下动作:获得包括多个训练特征向量的训练数据集合;以及在每个训练特征向量上训练机器学习模型,对于每个特征向量包括:对于特征向量的多个特征中的每一个:确定针对具有特征的特征向量的第一损失;确定针对不具有该特征的特征向量的第二损失;以及使用所述第一损失和第二损失来更新针对所述特征的当前收益分数,其中,针对所述特征的收益分数指示所述特征在生成针对训练特征向量的准确预测结果中的有用性。

根据本公开的各个创新方面,可以通过正则化由机器学习模型维持的特征权重来减少过度拟合。可以通过使用收益分数修改与特征向量的特征相关联的现有特征权重集合来生成正则化特征权重。在一些实现方式中,该方法可以包括为每个训练特征向量选择与满足可以用于训练机器学习模型的预定阈值的收益分数相关联的特征集合。对于每个训练向量,仅选择那些与满足预定阈值的收益分数相关联的特征以训练机器学习模型还提供了减小机器学习模型的大小并提高机器学习模型的效率的优点。

其他方面包括用于执行编码在计算机存储设备上的方法的动作的相应系统、装置和计算机程序。对于被配置为执行特定操作或动作的一个或多个计算机的系统意味着系统已经在其上安装了软件、固件、硬件或其组合,其在操作中使系统执行操作或动作。对于要配置为执行特定操作或动作的一个或多个计算机程序意味着一个或多个程序包括在由数据处理装置执行时使装置执行操作或动作的指令。

这些和其他方面可以可选地包括一个或多个以下特征。例如,更新针对所述特征的当前收益分数可以包括:确定所述第一损失与第二损失之间的差异并使用所述差异更新所述当前收益分数。确定针对具有特征的特征向量的第一损失可以是基于所述特征与在紧接在前的训练迭代中确定的针对所述特征的未正则化特征权重相关联。确定针对不具有所述特征的特征向量的第二损失是基于所述特征通过减少所述特征对由所述机器学习模型生成的结果的影响的权重缩放。

在一些实现方式中,所述方法还可以包括:确定针对特征的收益分数是否满足预定收益阈值;以及响应于确定针对特征的收益分数满足预定收益阈值,基于所述收益分数来缩放与所述特征相关联的未正则化权重。替代地或另外地,所述方法还可以包括:确定针对特征的收益分数是否满足预定收益阈值;以及响应于确定针对特征的收益分数不满足预定收益阈值,将未正则化权重缩放为在进行预测时将特征从机器学习模型的考虑中排除的值。在每个相应替代方案中,所述收益分数可用于确定特征权重被缩放、减小等的程度。

在一些实现方式中,所述方法还可以包括:确定针对特征的收益分数是否满足预定收益阈值;以及基于确定所述收益分数不满足所述预定收益阈值,从所述学习模型中移除所述特征而不使用该特征。

在一些实现方式中,所述方法还可以包括:基于与每个相应特征相关联的收益分数对每个特征进行排序。

在一些实现方式中,所述方法还可以包括:确定要包括在学习模型中的特征的预定数量;以及基于排序选择预定数量的特征。

在一些实现方式中,确定要包括在所述学习模型中的特征的预定数量可以基于用于存储所述学习模型的可用存储空间的量。

在一些实现方式中,所述机器学习模型可以是在线学习模型。

本说明书中描述的主题可以在特定实施例中实现,以便实现以下优点中的一个或多个。例如,本说明书的主题便于与机器学习模型的训练相结合地进行特征选择。本公开的各方面可以包括通过减小模型大小和改进模型精度来实现提高的性能。具体而言,该说明书公开了收益分数的生成以及使用所生成的收益分数来选择对帮助模型实现其目标具有积极影响的特征。因此,如本说明书所述,通过将收益分数合并到模型训练处理中,模型的大小可以减小,同时保持高水平的准确度和性能。这些方法还通过减少过度拟合来提高模型准确度。

附图说明

图1是用于训练机器学习模型的系统的示例的框图。

图2a是提供基于收益分数执行正则化的系统的示例的框图。

图2b是特征向量的累积收益分数向量的示例。

图3是针对训练特征向量的每个特征对特征权重进行正则化的处理的示例。

在附图和下面的描述中阐述这些和其他实施方式的细节。从说明书和附图以及权利要求中,其他特征和优点将显而易见。

具体实施方式

本说明书描述了在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统如何正则化由机器学习模型维持的特征权重。与机器学习模型相关联的特征集合可以包括从数据集合中的示例训练的多个n维特征向量。

在本公开的一个方面中,公开了机器学习模型训练系统,其可被配置为确定机器学习模型的特征集合的每个特征的收益分数(benefitscore)。收益分数可以是指示由机器学习模型维持的n维特征向量的特定特征是否对训练机器学习模型有用以准确预测结果的任何计算值。在本公开的一个方面中,可以通过例如将没有特定特征的损失与具有针对特定特征的完全学习权重的损失之间的差累加,对每个特定特征确定收益分数。在任何训练示例中,当模型中的除正更新的特定特征之外的所有特征使用来自先前训练迭代的正则化权重时,计算每个相应的损失。

图1是用于训练机器学习模型110的机器学习模型训练系统100的示例的框图。机器学习模型可以是例如神经网络、线性回归机器学习模型、逻辑回归模型、任何广义线性回归机器学习模型等。机器学习模型可以是在线机器学习模型、离线或批量机器学习模型等。机器学习模型训练系统100是在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统的示例,其中可以实现下面描述的系统、组件和技术。机器学习模型训练系统100使用来自训练数据项的数据库(或数据集合)120的训练数据项来训练机器学习模型110。训练数据项可以包括多个训练特征向量。每个训练向量可以包括多个值,每个值对应于资源的特定特征。另外,系统维持指定包含在特征向量中的每个特征的相应权重的数据。

机器学习模型110被配置为接收输入训练数据项122并且处理输入训练数据项122以生成输出分类分数。

机器学习模型110可以被配置为接收对应于任何种类的数字数据输入的特征向量,并且基于该输入生成任何种类的分数、预测或分类输出。例如,如果到机器学习模型110的输入是基于已经从图像提取的特征的特征向量,则机器学习模型110为接收的特征向量生成的输出可以是针对对象类别集合中的每一个的分数,其中每个分数表示图像包含属于该类别的对象的图像的估计的可能性。

作为另一示例,如果到机器学习模型110的输入是基于从因特网资源、文档或文档的部分提取的特征的特征向量,则由机器学习模型110为接收的特征向量生成的输出可以是针对主题集合中的每一个的分数,其中每个分数表示因特网资源、文档或文档部分是关于该主题的估计的可能性。

作为另一示例,如果到机器学习模型110的输入是基于针对用户的个性化推荐的特征的特征向量,例如表征推荐的上下文的特征,例如表征用户进行的先前行为的特征,则由机器学习模型110为接收的特征向量生成的输出可以是针对内容项集合中的每一个的分数,其中每个分数表示用户将有利地响应于被推荐该内容项的估计的可能性。在这些示例中的一些中,机器学习模型110是向用户提供内容推荐的强化学习系统的一部分。

作为另一示例,如果到机器学习模型110的输入是基于一种语言的文本的特征的特征向量,则由机器学习模型110为接收的特征向量生成的输出可以是针对另一种语言的文本片段集合中的每一个的分数,其中每个分数表示另一种语言的文本片段是该输入文本到该另一种语言的适当翻译的估计的可能性。

作为另一示例,如果到机器学习模型110的输入是基于口头发言的特征的特征向量,则由机器学习模型110为接收的特征向量生成的输出可以是针对文本片段集合中的每一个的分数,每个分数表示该文本片段是口头发言的正确抄本的估计的可能性。

为了使机器学习模型110能够为接收的数据项生成准确的输出,机器学习模型训练系统100训练机器学习模型110以调整机器学习模型110的参数的值,例如以从初始值确定参数的训练值。

在训练机器学习模型110时,机器学习模型训练系统100使用来自标记训练数据项的数据库(数据集合)120的训练项。数据库120存储多个训练项集合,其中该多个训练项集合中的每个训练项与相应的标记相关联。一般而言,用于训练项的标记识别训练数据项的正确分类(或预测),即,应该通过机器学习模型110生成的分数识别为训练数据项的分类的分类。在一些实现方式中,用于给定训练项的标记数据是由向量表示的分数分布,该分数分布包括标记集合中的每个标记的相应分数,其中分数反映训练项的一个或多个正确标记。参考图1,训练数据项122可以与训练标记124相关联。

机器学习模型训练系统100训练机器学习模型110以优化目标函数。优化目标函数可以包括例如最小化损失函数130。通常,损失函数130是取决于以下的函数:(i)由机器学习模型110通过处理给定的训练数据项122而生成的输出112,以及(ii)用于训练数据项122的标记124,即,机器学习模型110通过处理训练数据项122应当已经生成的目标输出。

常规机器学习模型训练系统100能够通过对来自数据库120的训练数据项执行常规机器学习模型训练技术的多次迭代(例如随机梯度方法、具有反向传播的随机梯度下降等),来迭代地调整机器学习模型110的参数的值,来训练机器学习模型110以最小化(累积)损失函数130。然后,可以将完全训练的机器学习模型110部署为可用于基于未标记的输入数据进行预测的预测模型。

本公开通过使用有助于特征选择与机器学习模型的训练相结合的新颖方法来改进常规机器学习模型训练系统100。该方法提供对机器学习模型和部署的预测模型的大小的控制,并减少过度拟合(overfitting)。为了减少过度拟合并减小机器学习模型的大小,本公开通过使用如关于图2a、图2b和图3所示的收益分数调整由机器学习模型维持的特征权重,来正则化由机器学习模型110维持的特征权重。可基于当在训练期间具有特征的特征向量被机器学习模型处理时由损失函数生成的第一损失、以及当在训练期间不具有特征的特征向量被机器学习模型处理时由损失函数生成的第二损失,针对每个训练特征向量的每个特征计算收益分数。

图2a是提供基于收益分数执行正则化的系统的示例的框图。在一些情况下,基于收益分数的正则化有助于在推断时完全抑制机器学习模型和/或部署的预测模型使用一个或多个特征。图2a描绘机器学习模型训练系统200,其使用来自训练数据项的数据库220的训练数据项训练机器学习模型210。机器学习模型训练系统200可以包括与系统100相同的特征。另外,系统200可以包括用于计算收益分数的子系统240。子系统240可以包括由系统200用来计算收益分数的一个或多个软件算法、由系统200用来计算收益分数的一个或多个计算机或其组合。

系统200可以用于执行包括机器学习模型的训练和正则化的处理。机器学习模型的训练和正则化的处理始于系统200从训练数据项的数据库220获得训练特征向量222。特征向量可以由特征值向量连接(joint)。当机器学习模型处理特征向量时,特征值向量可以用于修改由机器学习模型维持的每个学习权重。

在图2a中,系统200在训练期间将训练特征向量222作为输入提供给机器学习模型210。然后,对于训练特征向量222中的每个特征,机器学习模型210并行处理训练特征向量222,其中在232a处具有特征226,并且在232b处不具有特征226。如特征权重集合322a中所示,通过将由系统对于特征226维持的正则化权重326a设置为由先前的训练迭代确定的其完整的未正则化权重来实现处理具有特征226的训练特征向量222。完整的正则化权重可以包括在先前的训练迭代期间由机器学习模型计算的任何值,其代表特征的326a完整的未正则化权重。替代地,可以使用特征的一些其他形式的权重326a,例如正则化权重。可以将特征权重集合322a中的剩余特征权重设置为它们来自先前训练迭代的当前正则化值。如果当前训练迭代是第一次训练迭代,则处理的特征的未正则化权重以及剩余特征权重的正则化值将为“0”。

以类似的方式,如特征权重集合322b中所示,通过将由系统对于特征226维持的特征权重326b设置为“0”来实现处理不具有特征226的训练特征向量222。可以将特征权重集合322b中的剩余特征权重设置为它们来自先前训练迭代的当前正则化值。替代地,可以使用特征326b权重的减小的量值(reducedmagnitude)。如果当前训练迭代是第一次训练迭代,则剩余特征权重的当前正则化值将为“0”。

然后,机器学习模型提供两个输出212a和212b,它们分别表示当处理具有特征226和不具有特征226的特征向量222时机器学习模型的输出。系统200可以使用损失函数230来基于机器学习模型输出212a和与训练特征向量222相关联的训练标记224来计算第一损失232a。以类似的方式,系统200可以使用损失函数230以并行地基于机器学习模型输出212b和与训练特征向量222相关联的训练标记224计算第二损失232b。

第一损失232a指示:当机器学习模型210处理具有特征226的特征向量222时,存在于输出212a和训练标记224之间的误差量。除了与特征226相关联的由“1”,326a代表的完整的未正则化权重之外,利用剩余特征使用其正则化权重322a来计算第一损失。类似地,第二损失232b指示:当机器学习模型210处理不具有特征的特征向量222时,存在于输出212b和训练标记224之间的误差量。除了被设置为“0”的特征权重326b之外,在特征权重322b的剩余部分被设置为它们的当前正则化值的情况下,计算第二损失。

计算机240被配置为接收(i)基于由机器学习模型210对具有特征226的训练特征向量222的处理由损失函数230计算的第一损失232a、和(ii)基于由机器学习模型210对不具有特征226的训练特征向量222的并行处理由损失函数230计算的第二损失232b。计算机240被配置为基于第一损失232a和第二损失232b生成收益分数250。收益分数250可以包括数值,该数值提供诸如特征226的特定特征对改善机器学习模型210的性能的有用性度量。收益分数250可以基于第一损失232a与第二损失232b之间的差异。

系统200可以用于对每个训练向量的每个特征迭代地执行参考图2a描述的处理,以便计算针对每个训练特征向量的每个特征的收益分数。

图2b是特征向量的累积收益分数向量的示例。而且,图2b提供了训练特征向量222、来自先前训练迭代的未正则化的特征权重集合422以及累积收益分数向量522的示例。

系统240可以计算针对每个训练特征向量的每个特征的收益分数,如参考图2a所描述的。这样的收益分数计算的结果是针对每个特征向量222的累积收益分数向量522。累积收益分数向量522是每个对应于训练特征向量222的特定特征的收益分数值向量。例如,收益分数526“.75”可以对应于特征向量222的特征226。

收益分数526可以用于调整来自针对特征向量222的先前训练迭代的特征权重集合422中的未正则化的特征权重426。例如,可以将收益分数526与预定阈值进行比较。如果确定收益分数526满足预定阈值,则可以使用收益分数526来缩放特征权重426。在一些情况下,确定收益分数526满足预定阈值可以导致系统对于特定特征使用'1'的正则化倍数缩放未正则化权重。替代地,在一些情况下,使用收益分数来缩放特征权重426可以包括缩小特征权重426的值。

然而,如果确定收益分数526不满足预定阈值,则可以减小特征权重426。在一些情况下,特征权重426可以被适度地减小以减少特征226对机器学习模型210推断的影响。在其他情况下,当收益分数526未能满足预定阈值时,特征权重426可被完全减小到“0”。将特征226的特征权重426减小到“0”从用于预测的机器学习模型210特征集合(但不是从训练中更新的特征集合)中去除该特征。调整后的特征权重可以由机器学习模型210维持为正则化的特征权重。因此,每个训练特征向量222的每个特征226可以与未正则化的特征权重426、收益分数526和作为未正则化特征权重426和收益分数526的函数确定的正则化特征权重相关联。部署的预测模型可能忽略其正则化权重减小或减小至“0”的所有特征。

每个相应的未正则化的特征权重可以包括正值、负值或零。收益分数也可以是正的、零或负的。负收益分数意味着使用相应的特征会使目标降级。在一些实现方式中,正则化权重是从未正则化权重和收益分数中导出的。正则化权重不能反向未正则化权重的符号,但可以是较小的量值或“0”。在一些实现方式中,可以使用作为收益分数的函数的缩放器从未正则化权重导出正则化权重。然而,可以使用其他方法来导出正则化权重。例如,当基于未正则化特征权重和收益分数创建正则化权重时,可以使用除乘法之外的数学运算。例如,可以使用特征权重和收益权重的加法。替代地或另外地,可以使用收益分数的sigmoid函数。甚至可以使用其他数学函数来基于特征的未正则化权重和特征的收益分数为特定特征创建正则化权重。

在关于图2a和图2b描述的示例中,讨论了多个向量,包括未正则化特征权重向量422、累积收益分数向量422和正则化特征权重向量322a和322b。虽然这些相应的向量在图2a和图2b中示出为包括特定数值,但是本公开不应限于其中包括的数值,或者存在于上述数值之间的关系。而是,可以使用本说明书所公开的方法来计算或以其他方式确定未正则化特征权重、收益分数和正则化特征权重的值。

图3是使用针对训练特征向量的每个特征对特征权重进行正则化的处理的示例。为了方便,处理300将被描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,诸如机器学习模型训练系统100的系统(也被用作图2a中的系统200)可以根据本说明书适当地编程以执行处理300。

系统可以通过从训练项的数据库获得训练特征向量302来开始执行处理300。维持在训练数据项的数据库中的训练数据项可以从先前标记训练数据项的第三方获得。训练数据项可以包括多个训练特征向量。在一些实现方式中,所获得的训练特征向量与建立训练特征向量的正确分类的标记相关联。该标记可能已由一个或多个人类用户确定。在一些实现方式中,特征向量与针对每个特征的特征值相关联。

接下来,系统通过使用机器学习模型并行地处理具有特定特征和不具有特定特征的所获得的训练特征向量来开始训练处理。通过机器学习模型处理具有特定特征的所获得的训练特征向量包括:处理具有该特征的特定未正则化权重的所获得的训练特征向量。替代地,可以使用正则化权重的其他函数,诸如正则化权重。通过机器学习模型处理不具有特定特征的所获得的训练特征向量包括:处理特定特征权重被设置为“0”或某个小值的所获得的训练特征向量。

作为处理具有特定特征和不具有特定特征的训练特征向量的结果,系统可以使用损失函数来确定具有特定特征的第一损失304a并且还确定不具有特定特征的第二损失304b。使用来自先前训练迭代的特征权重来计算每个相应的损失。当确定具有特定特征的第一损失时,系统使用来自对于除特定特征以外的所有特征的先前训练迭代的正则化特征权重来计算损失。然而,对于特定特征,系统使用来自对于特定特征的先前训练迭代的未正则化特征权重以确定第一损失。然后,当确定不具有特征的第二损失时,系统仅使用来自先前训练迭代的所有其他特征的正则化权重来确定不具有该特征的损失。对于第一次训练迭代,每个特征的未正则化权重、正则化权重和收益分数将为“0”。替代地,在一些实现方式中,每个特征的未正则化权重、正则化权重和收益分数也可以设置为除“0”以外的初始值。系统将使用在304a处计算的具有特征的所确定的损失的函数,以在每次训练迭代结束时更新来自先前训练迭代的模型的未正则化特征权重305。这种损失函数的示例是损失的梯度乘以学习率函数。

在阶段306,系统可使用在304a处确定的具有特定特征的第一损失和在304b处确定的不具有特定特征的第二损失来更新针对特定特征的累积收益分数。例如,更新针对特定特征的累积收益分数包括确定第一损失和第二损失之间的差异。然后,可以基于所确定的第一损失和第二损失之间的差异来更新来自先前迭代的累积收益分数。

在一些但不是全部的实现方式中,系统可以在阶段308确定针对特定特征的收益分数是否满足预定收益分数阈值。这可以包括例如将针对特定特征的更新的累积收益分数与预定收益分数阈值进行比较。预定收益分数阈值可以提供用于控制机器学习模型和部署的预测模型的大小和准确度的机制。这是因为收益分数阈值可以控制在应用机器学习模型用于其目的(分类、预测等)时使用的特征的数量。在一些实现方式中,可以策略性地设置收益分数阈值以确保在用模型执行预测时仅使用改进机器学习模型的结果预测的特征。替代地或另外地,可以选择收益分数阈值来直接控制机器学习模型的大小,如将参考阶段310更详细地描述的。作为副产品,在一些实现方式中,收益分数可以用于对模型中的特征按重要性进行排序,以改进模型性能。

控制机器学习模型的大小在部署完整或部分训练的和正则化的机器学习模型作为预测模型时提供了显著的优势。例如,本公开的各方面允许以特定的方式(例如,较少的特征)定制特定的机器学习模型,用于部署为可能具有有限存储能力的第一类型的设备(例如,智能手表、智能电话、平板电脑、一副智能眼镜等)中的预测模型。替代地,例如,当部署为可以具有更大存储能力的第二类型的设备(例如,膝上型计算机、台式计算机、服务器计算机等)中的预测模型时,本公开还允许当以不同方式(例如,更多特征)来定制相同机器学习模型。替代地或者另外地,更小的更准确的模型也可以部署在具有更大存储能力的设备中。

系统然后可以基于针对特定特征的更新的累积收益分数来调整与特定特征相关联的未正则化特征权重,以创建正则化特征权重310。例如,如果系统确定针对特定特征的更新的累积收益分数满足预定收益分数阈值,则系统可以判定该特定特征对于帮助机器学习模型优化机器学习模型的目标函数是有用的。在这种情况下,系统可以将更大的正则化权重分配给特定特征,从而鼓励机器学习模型在预测结果时依赖于该特定特征。替代地,例如,如果系统确定针对特定特征的更新的累积收益分数不满足预定收益分数阈值,则系统可以判定该特征对于帮助机器学习模型优化机器学习模型的目标函数是无用的。在这样的情况下,系统可以减小与该特定特征相关联的特征权重的量值,以创建正则化特征权重,其阻止机器学习模型在预测结果时依赖于该特定特征。在某些情况下,系统可判定应完全去除作为可由机器学习模型或部署的预测模型使用的特征的特定特征。在这种情况下,系统可以将与特定特征相关联的正则化特征权重的量值减小到“0”。

在一些实现方式中,实际更新的累积收益分数可以用于调整针对特定特征的未正则化特征权重以创建正则化的特征权重。例如,更新的累积收益分数可以使用在应用于未正则化权重的诸如sigmoid函数的数学函数中应用的一个或多个先前的收益分数值来相加,以确定正则化权重。替代地,可以使用累积收益分数来将未正则化权重缩放到一些正则化权重,其中缩放意味着将权重乘以0和1之间的值。在一些实现方式中,可能存在作为由累积收益分数引起的效果增加的结果的单调依赖性。例如,分数越大,包含在正则化权重中的未正则化权重的比率(fraction)就越大。在一些实现方式中,低于预定收益分数阈值的收益分数将从预测中排除相应特征的使用,而收益分数满足阈值的特征将具有正则化权重,所述正则化权重独立于收益分数从未正则化权重确定。在一个示例中,这些权重将等于未正则化权重。在另一示例中,这些权重将取决于更新后的收益分数第一次开始满足阈值后看到的训练示例的数量。

在阶段312,系统可以确定在阶段302中获得的训练特征向量是否包括另一特征。如果训练特征向量包括另一特征,则系统可以针对训练特征向量的每个特征从阶段304a和304b开始再次循环遍历处理300。替代地,如果确定在阶段302获得的训练特征向量不包括另一特征,则处理300可以在阶段316结束。系统可以针对训练特征向量集合中的每个训练特征向量迭代地执行处理300,直到所有训练数据项已经被训练。

在任何时候,当前存储的模型都可以用于预测具有一些特征向量的未看到的示例的标记。标记的预测通过使用示例的特征向量中的所有特征的正则化权重来执行。这种预测所需的模型可以部署为预测模型。部署的预测模型可仅包含正则化权重不为“0”的特征。这在训练终止时特别适用于模型。在这个阶段只需要存储具有不同于0的正则化权重的特征的权重。以这种方式可以控制部署的预测模型的存储大小。

机器学习模型的准确度的改进、机器学习模型或部署的预测模型的大小的减小或两者可以通过调整由系统维持的特征权重来实现。例如,可以通过以下方式来改进模型的准确度:(1)适当地正则化具有较大收益分数的特征的特征权重;(2)在预测中排除具有负收益分数的特征的使用;或者(3)它们的组合。替代地或另外地,可通过增加预定收益分数阈值来减小模型的大小,从而从模型中排除更多特征。例如,对于与下降到低于预定收益分数阈值的收益分数相关联的那些特征,系统可以被编程为将特征权重减小到零。将特征的正则化权重减少到零将防止机器学习模型在推断和预测期间考虑该特征,从而降低训练完成时需要存储的特征的维度。收益分数的单调函数可以基于所使用的收益分数来确定特征的正则化权重的量。替代地或另外地,该函数还可以使用可调节为模型中预期有用特征的比例的参数,以帮助确定用于将未正则化权重正则化为正则化权重的缩放因子。

替代地,可以使用一个或多个处理步骤来在进行推断时仅仅选择机器学习模型或部署的预测模型依赖的特征的子集。例如,系统可以基于每个相应特征的相关联的收益分数来对每个相应训练特征向量中的每个特征进行排序。然后,系统可以只选择具有满足预定收益分数阈值的收益分数的那些特征。然后,机器学习模型只能使用满足预定收益分数阈值的特征向量的特征。

在一些实现方式中,可以为每个特定的特征组建立相应的预定收益分数阈值。对于不同的特征组可以建立不同的阈值。在这样的实现方式中,机器学习模型可以被定制为仅依赖来自每个特定的特征组的最佳特征集合。可以基于与满足相应组的预定收益分数阈值的收益分数相关联的每个相应组的特征来确定最佳特征。

在一些实现方式中,可能不需要实际收益分数的计算和存储。相反,系统可以生成收益分数的数学近似,其可以作为与该特征活动的数据实例的计数组合的学习的特征权重和优化的损失、以及标记计数的函数做出,并且或来自学习算法存储的任何其他量。

本说明书中描述的主题、功能操作和处理的实施例可以以数字电子电路,有形地实施的计算机软件或固件、计算机硬件(包括本说明书中公开的结构及其结构等同物)或它们中的一个或多个的组合来实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即编码在有形非易失性程序载体上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。替代地或另外地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电信号、光信号或电磁信号,该信号被生成以对信息进行编码用于传输到合适的接收机装置以用于数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备,或它们中的一个或多个的组合。

术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。该装置可以包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,该装置还可以包括为所涉及的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或者它们中的一个或多个的组合的代码。

计算机程序(其也可以被称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码)可以以包括编译或解释性语言或声明性或过程性语言的任何形式的编程语言来编写,并且可以以任何形式进行部署,包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其他单元。计算机程序可以但不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的一部分中、专用于所讨论的程序的单个文件中,或者存储在多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可以部署为在一个计算机或多个计算机上执行,这些计算机位于一个站点或跨多个站点分布并通过通信网络互连。

本说明书中描述的处理和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流程也可以由可以实现为专用逻辑电路(例如,fpga(现场可编程门阵列)或asic(专用集成电路))执行,并且装置也可以由其实现。

举例来说,适用于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),以从大容量存储设备接收数据或将数据传送到大容量存储设备或两者。但是,计算机不一定必须具有这种设备。此外,可以将计算机嵌入在例如移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器或便携式存储设备(例如,通用串行总线(usb)闪存驱动器)等的另一设备中。

适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移除盘;磁光盘;以及cd-rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路补充或并入其中。

为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实现,该计算机具有显示设备(例如,crt(阴极射线管)或lcd(液晶显示器)监视器),用于向用户显示信息;以及用户可以通过其向计算机提供输入的键盘和指点设备,例如鼠标或轨迹球。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以包括声音、语音或触觉输入的任何形式接收来自用户的输入。另外,计算机可以通过向用户使用的设备发送文档和从该设备接收文档来与用户交互;例如通过响应于从web浏览器接收的请求,将网页发送到用户的用户设备上的web浏览器。

本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括后端组件,例如作为数据服务器;或者包括中间件组件,例如应用服务器;或者包括前端组件,例如具有图形用户界面或web浏览器的客户端计算机,用户可以通过该图形用户界面或web浏览器与本说明书中描述的主题的实现方式交互;或者一个或多个这样的后端、中间件或者前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”),例如因特网。

计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络进行交互。客户端和服务器之间的关系是通过运行在各个计算机上、并且彼此具有客户端-服务器关系的计算机程序产生的。

虽然本说明书包含许多具体实现细节,但这些细节不应被解释为对可要求保护的范围的限制,而应被解释为可能特定于特定实施例的特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反地,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或以任何合适的子组合来实现。此外,尽管上文可以将特征描述为以某些组合起作用并且甚至最初如此要求,但是来自所要求保护的组合的一个或多个特征可以在一些情况下从组合中删除,并且所要求保护的组合可以针对子组合或子组合的变体。

类似地,尽管在附图中以特定次序描绘了操作,但是这不应被理解为要求以所示出的特定次序或按顺序次序执行这样的操作,或者要执行所有示出的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应当被理解为在所有实施例中都需要这种分离,并且应该理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品中。

已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中列举的动作可以以不同的次序执行并仍然实现期望的结果。作为一个示例,附图中描绘的处理不一定需要所示的特定次序或顺序次序以实现期望的结果。在某些实现方式中,多任务和并行处理可能是有利的。可以提供其他步骤或阶段,或者可以从所描述的处理排除步骤或阶段。因此,其他实现方式在以下权利要求的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1