1.本发明总体上涉及预测模型,并且更具体地涉及在机器学习技术中识别最佳权重以改进预测准确度。
背景技术:2.预测建模使用统计来预测结果。最经常地,人们想要预测的事件是在将来的,但是预测建模可以应用于任何类型的未知事件,无论何时发生。例如,预测模型通常用于在事件发生后检测事件并识别事件相关人。
3.在许多情况下,基于检测理论选择模型以试图在给定一组输入数据量的的情况下猜测结果的概率,例如,给定电子邮件确定它是垃圾邮件的可能性。
4.模型可以在试图确定数据集合属于另一个集合的概率时使用一个或多个分类器。例如,可以使用模型来确定电子邮件是垃圾邮件还是“ham”(非垃圾邮件)。
5.取决于定义边界,预测建模与机器学习领域同义或大部分重叠,因为它在学术或研究和开发背景下更常见地被提及。在商业部署时,预测建模通常被称为预测分析。
6.实现更好的预测模型是机器学习技术的研究和实践中的目标。例如,集合方法使用多种学习算法来获得比可以单独从任何组成学习算法获得的预测性能更好的预测性能。这种集合方法包括自举汇聚(bootstrap aggregating)(也称为套袋法(bagging)),增强法(boosting)等。
7.自举汇聚是机器学习集合元算法,其被设计用于提高统计分类和回归中使用的机器学习算法的稳定性和准确性。增强是一种机器学习集合元算法,主要用于减少监督学习中的以及一系列将弱学习者转换为强学习者的机器学习算法中的偏差和方差。
8.在诸如增强之类的这种技术中,增加了错误分类的案例的权重,同时在建模过程期间减少了正确分类的案例的权重。在许多情况下,这种策略(启发式)确实实现更好的预测;但是,可能过度拟合了异常值/噪声。由于过度拟合异常值/噪声,降低了预测精度。
9.因此,增加错误分类的案例的权重并且减少正确分类的案例的权重的启发式策略可能不是用于提高模型的预测准确度的最佳策略。
10.例如,有时,增加正确分类的案例的权重可能更好,因为这样的案例包含应通过机器学习算法学习的非常重要的模式。出于类似原因,降低错误分类的案例(诸如异常值案例)的权重也可能更好。
11.因此,此类技术(如增强)未能针对经分类的案例是识别最优权重,并且因此未能在机器学习技术中实现最优预测准确度。
技术实现要素:12.在本发明的一个实施例中,一种用于在机器学习技术中提高预测准确度的计算机实现的方法包括构建教师模型,其中所述教师模型针对每个数据案例生成权重。所述方法进一步包括使用训练数据和由教师模型产生的权重来训练当前学生模型。所述方法另外包
括由所述当前学生模型生成状态特征。此外,所述方法包括由所述教师模型使用所述状态特征生成新权重。另外,所述方法包括使用所述训练数据和所述新权重训练候选学生模型。此外,所述方法包括通过使用所述训练数据和测试数据将所述当前学生模型与所述候选学生模型进行比较以确定哪个更好地预测观测目标来生成奖励。该方法还包括响应于不满足停止规则而用奖励来更新教师模型。所述方法另外包括响应于满足停止规则向用户返回新权重和当前学生模型,其中返回的学生模型提供观测目标的预测。
13.在本发明的另实施例中,一种用于在机器学习技术中提高预测准确度的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有随其包含的程序代码,所述程序代码包括用于构建教师模型的程序指令,其中所述教师模型针对每个数据案例生成权重。所述程序代码进一步包括用于使用训练数据和由教师模型产生的权重来训练当前学生模型的程序指令。所述程序代码另外包括用于由所述当前学生模型生成状态特征的所述程序指令。此外,所述程序代码包括用于由所述教师模型使用所述状态特征生成新权重的程序指令。此外,所述程序代码包括用于使用所述训练数据和所述新权重来训练候选学生模型的程序指令。此外,所述程序代码包括用于通过使用所述训练数据和测试数据来将所述当前学生模型与所述候选学生模型进行比较以确定哪个更好地预测观测目标来生成奖励的程序指令。所述程序代码进一步包括用于响应于不满足停止规则而用所述奖励更新所述教师模型的程序指令。所述程序代码另外包括用于响应于满足所述停止规则而将所述新权重和所述当前学生模型返回给用户的程序指令,其中所述返回的学生模型提供对所述观察目标的预测。
14.在本发明的另实施例中,一种系统包括:存储器,所述存储器用于存储用于在机器学习技术中提高预测精度的计算机程序;以及处理器,所述处理器连接至所述存储器,其中,所述处理器被配置为执行包括构建教师模型的所述计算机程序的所述程序指令,其中,所述教师模型针对每个数据案例生成权重。计算机程序的程序指令还包括使用训练数据和由教师模型产生的权重来训练当前学生模型。计算机程序的程序指令另外包括由当前学生模型生成状态特征。此外,计算机程序的程序指令包括由使用状态特征的教师模型产生新的权重。此外,计算机程序的程序指令包括使用训练数据和新权重来训练候选学生模型。此外,计算机程序的程序指令包括通过使用训练数据和测试数据比较当前学生模型和候选学生模型以确定哪个更好地预测观测目标来生成奖励。计算机程序的程序指令还包括响应于不满足停止规则而用奖励更新教师模型。计算机程序的程序指令另外包括响应于满足停止规则向用户返回新权重和当前学生模型,其中返回的学生模型提供观察目标的预测。
15.以此方式,本发明设计了一种框架,该框架在预测建模领域中实现“学习以教导”的概念。这样的框架包括教师模型,教师模型针对每个数据案例产生权重。训练数据案例以及所生成的权重用于重新训练学生模型。通过在预测准确度方面对保留数据集(测试数据)评估经训练的学生模型来返回奖励。然后,教师模型经由策略梯度方法(例如,强化学习)利用奖励来更新其参数。将重复此过程直到学生模型达到期望的性能。
16.与先前使用的启发式方法(例如,增强)相比,本发明的方法以最佳方式确定案例权重。这允许人们经由基本学习者(例如,决策树、神经网络等)而不是使用集合模型来构建更好的学生模型。
17.通过使用案例权重作为对学生模型的动作,假定学习者支持训练中的案例权重,
任何类型的机器学习者可以被用作学生模型。
18.此外,在训练数据来自偏置采样的情况下,可以通过所生成的权重来校正训练数据中的数据案例的分布。
19.前述内容已经相当概括地概述了本发明的一个或多个实施例的特征和技术优点,以便可以更好地理解下文对本发明的详细描述。以下将描述本发明的附加特征和优点,这些特征和优点可以形成本发明的权利要求的主题。
附图说明
20.当结合以下附图考虑以下具体实施方式时,可以获得对本发明的更好理解,在附图中:
21.图1示出了根据本发明实施例的用于实施本发明的原理的通信系统;
22.图2示出了预测分析系统的硬件配置的本发明的实施例,其表示用于实施本发明的硬件环境;
23.图3是根据本发明实施例的用于识别要由预测模型用于生成预测的最优权重的预测分析系统的软件组件的图;
24.图4示出根据本发明的实施例的由学生模型产生的状态特征;
25.图5示出了根据本发明实施方式的由奖励发生器生成的奖励;以及
26.图6是根据本发明实施例的用于提高机器学习技术中的预测准确度的方法的流程图。
具体实施方式
27.本发明包括用于改进机器学习技术中的预测准确度的计算机实现的方法、系统和计算机程序产品。在本发明的一个实施例中,构建教师模型,其中,教师模型针对每个数据案例产生权重。如本文所使用的,“教师模型”是指确定合适的数据、损失函数和假设空间以促进学生模型的学习的统计模型。然后使用训练数据和由教师模型生成的权重来训练当前学生模型。如本文所使用的,“学生模型”是指被训练为使用训练数据提供预测的统计模型。如本文所使用的,“当前”学生模型是指当前指使用训练数据经过训练以提供预测的统计模型。此处使用的当前学生模型生成状态特征(例如,数据特征、案例权重、学生模型特征和用于表示数据和学生模型两者的组合的特征),状态特征被教师模型用于生成新权重。然后使用训练数据和这些新权重来训练候选学生模型。如本文所使用的,“候选学生模型”是指正在被检查以确定是否是比当前学生模型更好的学生模型(在预测所观察的目标时更好)的学生模型。然后通过使用训练和测试数据比较当前学生模型和候选学生模型以确定哪个更好地预测观测目标来生成奖励。如本文使用的,“奖励”是指由用于强化学习的函数(奖励函数)生成的值。如果候选学生模型比当前学生模型更好地预测所观察的目标,则可返回正奖励。相反,如果当前学生模型比候选学生模型更好地预测所观察的目标,则可返回负奖励。然后用奖励更新教师模型。教师模型利用奖励经由诸如强化学习的策略梯度方法来更新其参数。如果候选学生模型在预测观测目标时比当前学生模型更好,则用候选学生模型更新当前学生模型,并用由教师模型生成的新权重更新当前权重。在用新权重更新当前权重时,当前学生模型生成新状态特征。然而,如果候选学生模型在预测观测目标时不好于当前学
生模型,则更新的教师模型使用来自当前学生模型的当前权重和当前学生特征来产生新权重。在满足任何停止规则(例如,达到指定的尝试次数、达到指定的训练时间、预测准确度的收敛和用户发起的终止)时,由教师模型生成的权重被视为“最佳”权重,连同对应的学生模型一起被返回至用户。以此方式,识别最优权重以改善预测准确度。
28.在以下描述中,阐述了许多具体细节以便提供对本发明的透彻理解。然而,对于本领域技术人员显而易见的是,本发明可以在没有这些具体细节的情况下实施。在其他实例中,公知的电路以框图形式示出,以便不以不必要的细节模糊本发明。对于大部分,已经省略了考虑定时考虑等的细节,因为这样的细节对于获得对本发明的完整理解不是必需的,并且在相关领域的普通技术人员的技能之内。
29.现在详细参照附图,图1示出了用于使用机器学习技术进行预测的通信系统100。在一个实施例中,系统100包括预测分析系统101,预测分析系统101用于使用数据(诸如训练数据103和测试数据104(在本文中也称为“保留数据”))生成预测102。下面结合图3-6进一步讨论使用训练和测试数据103、104来进行预测的预测分析系统101的进一步描述。
30.在一个实施例中,预测分析系统101使用来自数据挖掘、统计、建模、机器学习和人工智能的许多技术来对未知的未来事件进行预测以分析当前数据从而对未来进行预测。
31.在一个实施例中,预测分析系统101利用“学习以教导”的概念,该概念涉及两个智能代理,即,教师模型和学生模型。训练阶段包含教师模型和学生模型之间的连续交互的若干插曲。基于由学生模型生成的状态信息,教师模型更新其教学行为以便改进学生模型的机器学习问题。学生模型随后基于来自教师模型的输入来执行其学习过程,并且之后将奖励信号(例如,对训练数据的准确性)提供回教师模型。教师模型然后利用这样的奖励经由策略梯度方法来更新其参数,策略梯度方法是强化学习技术的类型。该交互过程是端到端可训练的,免除人类定义的试探法的限制。在一个实施例中,“学习以教导”的概念通过设计利用案例的权重(数据案例)作为学生模型的动作的方法来实现。下文结合图2提供预测分析系统101的硬件配置的描述。
32.现在参见图2,图2示出了代表用于实施本发明的硬件环境的预测分析系统101(图1)的硬件配置的本发明的实施例。预测分析系统101可以是配置有识别最佳权重以提高机器学习技术中的预测准确性的能力的任何类型的分析系统(例如,便携式计算单元、个人数字助理(pda)、膝上型计算机、移动设备、平板个人计算机、智能电话、移动电话、导航设备、游戏单元、台式计算机系统、工作站、互联网设备等)。
33.参见图2,预测分析系统101可以具有通过系统总线202连接到不同其他部件上的处理器201。操作系统203可以在处理器201上运行,并且提供控制和协调图2的不同组件的功能。根据本发明的原理的应用程序204可以结合操作系统203运行并且向操作系统203提供调用,其中调用实现要由应用程序204执行的不同功能或服务。应用程序204可包含(例如)用于识别最佳权重以提高机器学习技术中的预测准确性的程序,如下文结合图3-6所论述。
34.再次参见图2,只读存储器(“rom”)205可以连接至系统总线202并且包括控制预测分析系统101的某些基本功能的基本输入/输出系统(“bios”)。随机存取存储器(“ram”)206和磁盘适配器207还可以连接到系统总线202上。应当注意,包括操作系统203和应用204的软件组件可以被加载到ram 206中,ram 206可以是用于执行的预测分析系统101的主存储
器。磁盘适配器207可以是与磁盘单元208(例如,磁盘驱动器)通信的集成驱动电子器件(“ide”)适配器。应注意,如下文结合图3-6所论述,用于识别最佳权重以改进机器学习技术中的预测准确性的程序可驻留在磁盘单元208中或应用程序204中。
35.预测分析系统101可以进一步包括连接至总线202的通信适配器209。通信适配器209可以将总线202与外部网络互连,从而允许预测分析系统101与其他设备通信。
36.i/o设备还可以经由用户界面适配器210和显示适配器211连接至预测分析系统101。键盘212、鼠标213和扬声器214都可以通过用户接口适配器210与总线202互连。显示监视器215可通过显示适配器211连接到系统总线202。以此方式,用户能够通过键盘212或鼠标213输入到预测分析系统101并且经由显示器215或扬声器214从预测分析系统101接收输出。其他输入机制可以用于向图2中未示出的预测分析系统101输入数据,诸如具有触摸屏能力的显示器215和作为虚拟键盘的键盘212。图2的预测分析系统101的范围不限于图2中描绘的元件,且可包含比图2中描绘的元件更少或额外元件。
37.本发明可以是在集成的任何可能的技术细节水平上的系统、方法、和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。
38.计算机可读存储介质可以是能够保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
39.本文所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载至对应的计算/处理设备或下载至外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
40.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如smalltalk、c++等)和过程程序设计语言(诸如“c”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan))连接至用户计算机,或者可连接至外部计算
机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
41.本文参照根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的多个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
42.可以将这些计算机可读程序指令提供给计算机的处理器或其他可编程数据处理装置以产生机器,从而使得经由计算机的处理器或其他可编程数据处理装置执行的这些指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
43.该计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置、或其他装置上,以便使得在该计算机、其他可编程装置或其他装置上执行一系列操作步骤以产生计算机实施的过程,这样使得在该计算机、其他可编程装置或其他装置上执行的这些指令实施流程图和/或框图的或多个框中指定的功能/动作。
44.附图中的流程图和框图展示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,连续示出的两个方框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者方框有时可以以相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
45.如背景技术部分所述,实现更好的预测模型是机器学习技术的研究和实践的目标。例如,集合方法使用多个学习算法来获得比可以单独从任何组成学习算法获得的预测性能更好的预测性能。这样的整合方法包括自举汇聚(也称为套袋)、增强等。自举汇聚是被设计为提高统计分类和回归中使用的机器学习算法的稳定性和准确度的机器学习集合元算法。增强法是用于主要减少受监督学习和将弱学习者转换成强学习者的机器学习算法族中的偏差和方差的机器学习集合元算法。在此类技术(诸如提升)中,在建模过程期间,错误分类的案例的权重被增加,而正确分类的案例的权重被减小。在许多情况下,这种策略(启发式)确实实现了更好的预测;然而,过度拟合异常值/噪声是可能的。由于过度拟合异常值/噪声,降低了预测准确度。所以,增加错误分类的案例的权重和减少正确分类的案例的权重的启发式策略可能不是用于提高模型的预测准确度的最佳策略。例如,有时,增加正确分类的案例的权重可能更好,因为这样的案例包含应当通过机器学习算法学习的非常重要的模式。出于类似原因,降低错误分类的案例(诸如异常值案例)的权重也可能更好。因此,此类技术(诸如提升)未能识别针对分类的案例的最优权重,并且因此未能在机器学习技术中实现最优预测准确度。
46.本发明的实施例提供了一种用于在机器学习技术中通过使用学习以教导的概念识别最优权重来实现最优预测准确度的装置,所述学习以教导概念涉及两个智能代理(教师模型和学生模型),如下文结合图3-6所讨论的。图3是预测分析系统101的软件组件的图,其用于识别要由预测模型用于生成预测的最优权重。图4示出由学生模型生成的状态特征。图5示出了由奖励生成器生成的奖励。图6是用于在机器学习技术中提高预测准确性的方法的流程图。
47.在给定训练数据{《x_k,f_k,y_k》|k=1,
…
,n}的情况下,其中x_k是案例k的预测器的向量,x_k是观察到的目标,x_k是可选的案例权重(如果不存在案例权重,则f_k=1),本发明将为每个案例k生成最优案例权重f_kopt。如下所述,使用保留的数据集,使用最佳案例权重训练学生模型,以提供准确的预测。
48.如上所述,图3是根据本发明的实施例的用于识别有待由用于生成预测的预测模型使用的最佳权重的预测分析系统101的软件组件的简图。在一个实施例中,这些软件组件可以驻留在预测分析系统101的应用204(图2)中。
49.以下提供这些软件组件的简要描述。下面结合图4-6提供这些软件组件(包括其功能)的更详细描述。
50.参见图3,结合图1-2,预测分析系统101包括本文被称为“教师模型”301的模块。在一个实施例中,教师模型301是被配置成接收状态特征作为输入并为每个数据案例生成权重的神经网络。在一个实施例中,神经网络的权重参数在训练过程之前被随机初始化。
51.预测分析系统101进一步包括本文被称为“当前学生模型302”的模块,该模块接收由教师模型301生成的权重并且生成如图4中所示出的状态特征。如本文所使用的,“学生模型”是指被训练为使用训练数据103提供预测的统计模型。如本文所使用的,“当前”学生模型302是指当前正由预测分析系统101训练以使用训练数据103提供预测的学生模型。在一个实施例中,学生模型302对应于学习者,诸如决策树或神经网络。在一个实施例中,决策树学习使用决策树作为预测模型来从对项的观察(在分支中表示)到对项的目标值的结论(在叶中表示)。在一个实施例中,神经网络是神经元(人工神经元)或节点的网络或电路。
52.图4示出了根据本发明的实施例的由学生模型302生成的状态特征。
53.参见图4,这种状态特征可以包括预测器401、其对应的权重402以及其预测值403。在一个实施例中,预测器401对应于结果变量,诸如所观察的目标。权重402对应于分配给从教师模型301获得的这样的预测器的权重。在一个实施例中,这样的权重402指示预测器401的相应预测值403是准确的置信度。该值越高,对应的预测值403是正确的置信度越大。
54.在一个实施例中,此类状态特征还可以包括数据特征、案例权重、学生模型特征和表示数据和学生模型两者的组合的特征。
55.在一个实施例中,教师模型301可以利用这样的状态特征来生成用于训练候选学生模型303的新权重。如本文所使用的,“候选学生模型303”是指正在被检查以确定是否是比当前学生模型更好的学生模型(在预测所观察的目标时更好)的学生模型。
56.在一个实施例中,通过使用训练数据103和由教师模型301生成的新权重来训练候选学生模型303。
57.如图3中所示,本文中被称为“奖励生成器304”的模块通过使用训练数据103和测试数据104(“保留数据”)比较当前和候选学生模型302、303来生成奖励。在一个实施例中,
利用奖励来更新教师模型301。在一个实施例中,教师模型301利用奖励经由诸如强化学习的策略梯度方法来更新其参数。
58.如本文使用的,“奖励”是指由用于强化学习的函数(奖励函数)生成的值。强化学习代理(预测分析系统101)的目标是收集尽可能多的奖励。在一个实施例中,如果候选学生模型303比当前学生模型302更好地预测所观察的目标,则奖励生成器304返回正奖励。相反,如果当前学生模型302比候选学生模型303更好地预测所观察的目标,则由奖励生成器304返回否定奖励。在一个实施例中,奖励生成器304是候选学生模型303的一部分。
59.在一个实施例中,这样的奖励由奖励生成器304通过将训练数据103、测试数据104应用于学生模型302、303来生成,如图5中所示。
60.图5展示了根据本发明的实施例的由奖励发生器304产生的奖励。
61.参见图5,奖励生成器304生成模型级奖励501和案例级奖励502。在一个实施例中,模型级奖励501指的是与基于测试数据104生成观察目标的预测的学生模型302、303相关联的奖励。例如,基于使用测试数据104候选学生模型303比当前学生模型302在预测所观察目标时好多少来生成奖励501。如果使用测试数据104候选学生模型303比当前学生模型302更好地预测所观察的目标,则由奖励生成器304返回正奖励501。相反,如果使用测试数据104当前学生模型302比候选学生模型303更好地预测所观察的目标,则由奖励生成器304返回负奖励501。
62.案例级奖励502是指基于使用训练数据103由学生模型302、303对数据案例进行正确分类的奖励。如果学生模型302、303正确地分类了数据案例,则奖励生成器304返回正奖励502。相反,如果学生模型302、303没有正确地分类数据案例,则奖励生成器304返回负奖励502。
63.在一个实施例中,奖励生成器304生成最终奖励503,该最终奖励是模型级奖励501和案例级奖励502的组合,如这两个奖励的平均值。
64.返回至图3,利用奖励,本文被称为“更新器305”的模块利用奖励来更新教师模型301。在一个实施例中,教师模型301面对关联即时强化学习任务。假设每次试验对于强化值的奖励是r,则网络中的参数w_ij增加量的奖励是r,则网络中的参数w_ij增加量其中α是学习速率因子,n是正整数,并且g_k是案例k的教师模型的输出。
65.一旦教师模型301被更新,决策者306就确定候选学生模型303是否是比当前学生模型302更好的观测目标的预测器。在一个实施例中,如果候选学生模型303在预测所观察目标方面优于当前学生模型302,则决策者306将用候选学生模型303更新当前学生模型302以及用新权重更新当前权重。更新的学生模型302然后将生成输入到教师模型301的新状态特征。
66.可替代地,如果候选学生模型303在预测所观察的目标时不好于当前学生模型302,则决策者306直接请求经更新的教师模型301(用如以上所讨论的奖励来更新)使用来自当前学生模型302的当前学生特征来生成新权重。
67.下面结合图6提供关于使用以上讨论的软件组件在机器学习技术中提高预测准确度的过程的更详细讨论。
68.图6是根据本发明的实施例的用于在机器学习技术中提高预测准确度的方法600的流程图。
69.参见图6,结合图1-5,在步骤601中,预测分析系统101构建针对每个数据案例生成权重的教师模型301。如本文所使用的,“教师模型”是指确定合适的数据、损失函数和假设空间以促进学生模型的学习的统计模型。在一个实施例中,教师模型301是一种神经网络。在一个实施例中,教师模型301从当前学生模型302接收状态特征作为输入并为每个数据案例生成权重。如本文使用的,“数据案例”是指用于预测观察目标的数据。在一个实施例中,在训练过程开始之前随机初始化权重参数(以下进一步讨论)。
70.在一个实施例中,教师模型301包括由若干层组成的网络。在一个实施例中,这些层由节点构成,其中节点是计算发生的地点,松散地模式化在人脑中的神经元上,神经元在其遇到足够的刺激时激发。节点将来自数据的输入(诸如来自当前学生模型302的状态特征(以下进一步讨论))与放大或抑制该输入的一组系数或权重组合,由此关于算法尝试学习的任务向输入指派重要性(例如,哪个输入最有助于无错地分类数据)。将这些输入权重乘积求和,然后将总和通过节点的所谓的激活函数,以确定信号是否应当进一步通过网络进展以及进展到什么程度以影响最终结果(例如,分类的动作)。如果信号通过,神经元已经被“激活”。
71.在一个实施例中,节点层是在输入被馈送通过网络时接通或关断的神经元状开关的行。每一层的输出同时为后续层的输入,从接收数据的初始输入层开始。
72.在一个实施例中,模型的可调整权重与输入特征配对,以便向关于神经网络如何对输入进行分类和聚类的那些特征指配重要性。
73.在一个实施例中,这种生成的权重可以用于在训练数据103来自偏置采样的案例下校正训练数据103中的数据案例的分布。
74.在步骤602中,预测分析系统101使用训练数据103和由教师模型301生成的权重(针对每个数据案例的当前权重)来训练当前学生模型302。如先前所论述,当前学生模型302指代当前正由预测分析系统101使用训练数据103训练以提供预测的学生模型(经训练以提供预测(例如,使用训练数据预测所观察目标)的统计模型)。同样如先前所讨论的,在一个实施例中,当前学生模型302对应于学习者,诸如决策树或神经网络。在一个实施例中,决策树学习使用决策树作为预测模型来从关于项的观察(在分支中表示)到关于项的目标值的结论(在叶中表示)。在一个实施例中,神经网络是神经元(人工神经元)或节点的网络或电路。
75.在一个实施例中,案例权重被用作对当前学生模型302(以及对以下进一步讨论的候选学生模型303)的动作。鉴于学习者支持训练中的案例权重,这样的方法允许使用任何类型的机器学习者作为学生模型(学生模型302、303)。
76.在一个实施例中,这种训练涉及在训练数据集103上拟合当前学生模型302,训练数据集103是用于拟合参数(如由教师模型301生成的权重)的示例的集合。在一个实施例中,使用监督学习方法(例如,梯度下降或随机梯度下降)来训练当前学生模型302。在一个实施例中,训练数据集103由可被标记为目标的输入向量(或标量)和对应的输出向量(或标量)对组成。当前学生模型302与训练数据集103一起运行,并且针对训练数据集103中的每个输入向量产生结果,该结果随后与目标进行比较。基于比较的结果和正在使用的特定学习算法,调整学生模型302的参数。
77.在步骤603中,在训练当前学生模型302之后,经训练的当前学生模型302生成状态
特征。在一个实施例中,基于当前学生模型302针对每个数据案例定义状态特征。状态特征可包含(但不限于)含有数据案例的信息(例如,其预测器、目标等)的数据特征;由教师模型301产生的案例权重;学生模型特征,包含反映当前学生模型302被训练得多好的量度;以及用于表示数据和学生模型302的组合的特征,诸如预测目标、每个目标类别的概率等。
78.在一个实施例中,还由学生模型302生成案例级状态特征,包括对应案例权重。
79.在一个实施例中,当前学生模型302生成包括先前讨论的状态特征的数据。基于接收训练数据103和来自教师模型301的权重,使用一组统计假设来生成这样的特征。
80.在步骤604,教师模型301使用由当前学生模型302生成的状态特征来生成新权重。在一个实施例中,这样的状态特征被输入到教师模型301,其被用于由教师模型301生成权重,如以上所讨论的。
81.在步骤605,预测分析系统101使用训练数据103和由教师模型301生成的新权重来训练候选学生模型303。在一个实施例中,以与如上结合步骤602所讨论的训练当前学生模型302相同的方式执行训练候选学生模型303。
82.在步骤606,奖励生成器304通过使用训练数据103和测试数据104(“保留数据”)比较当前和候选学生模型302、303(在训练学生模型302、303之后)以确定哪个更好地预测所观察的目标来生成奖励。如本文使用的,“奖励”是指由用于强化学习的函数(奖励函数)生成的值。强化学习代理(预测分析系统101)的目标是收集尽可能多的奖励。在一个实施例中,如果使用测试数据104候选学生模型303比当前学生模型302更好地预测所观察的目标,则由奖励生成器304返回模型级正奖励501。相反,如果使用测试数据104当前学生模型302比候选学生模型303更好地预测所观察的目标,则由奖励生成器304返回模型级负奖励501。
83.案例级奖励502是指基于使用训练数据103按照学生模型302、303对数据案例进行正确分类的奖励。如果学生模型302、303正确地分类了数据案例,则奖励生成器304返回正奖励502。相反,如果学生模型302、303没有正确地分类数据案例,则奖励生成器304返回负奖励502。
84.在一个实施例中,奖励生成器304生成最终奖励503,该最终奖励是模型级奖励501和案例级奖励502的组合,如这两个奖励的平均值。
85.在步骤607中,预测分析系统101作出关于是否已经满足停止规则的确定。如本文所使用的,“停止规则”是指确定是否已完成学生模型的训练的规则。当确定已经识别了数据案例的最优权重时,就完成这样的训练。
86.在一个实施例中,此类停止规则包括但不限于以下各项:达到指定数量的试验、达到指定训练定时、预测准确度的收敛以及用户发起的终止。
87.如果已满足这些停止规则中的任何停止规则,则在步骤608中,将最佳权重(由教师模型301生成的权重)和对应的学生模型302(诸如经由预测分析系统101上的用户界面)返回给用户。返回的学生模型能够提供观测目标的准确预测。此外,诸如当已满足停止规则时(例如,当预测准确度收敛时),由教师模型301生成的返回权重(见步骤604)被视为“最佳”权重。以此方式,识别最优权重以改善预测准确度。
88.然而,如果没有满足停止规则,则在步骤609,更新器305用奖励(步骤606的奖励)更新教师模型301。在一个实施例中,教师模型301利用奖励经由诸如强化学习的策略梯度方法来更新其参数。
89.如先前所讨论的,在一个实施例中,教师模型301面向关联即时强化学习任务。假设每次试验对于增强值的奖励是r,则网络中的参数w_ij增量设每次试验对于增强值的奖励是r,则网络中的参数w_ij增量其中α是学习速率因子,n是正整数,并且g_k是案例k的教师模型的输出。教师模型301将被更新的递增量δw还可示出如下:
[0090][0091]
其中r是每次试验的强化值,w
ij
是网络中的一个参数,其增量为δw
ij
,α是学习率因子,n是正整数,gk是案例k的教师模型的输出。
[0092]
当更新教师模型301时,在步骤610,由决策者306确定候选学生模型303是否比当前学生模型302生成观测目标的更好预测。这样的确定基于预测有多接近所观察的目标。
[0093]
如果候选学生模型303在预测观测目标方面优于当前学生模型302,则在步骤611,用候选学生模型303更新当前学生模型302。也就是说,在步骤611中,基本上用候选学生模型303替换当前学生模型302。
[0094]
此外,如果候选学生模型303在预测所观察目标时比当前学生模型302更好,则在步骤612,使用新权重(在步骤604由教师模型301生成的新权重)来更新当前权重。
[0095]
在用新权重更新当前权重时,更新的学生模型302(在步骤611中经更新)在步骤603中使用新权重生成状态特征。
[0096]
可替代地,如果候选学生模型303在预测所观察的目标时不好于当前学生模型302,则在步骤604中决策器306直接请求经更新的教师模型301(在步骤609中更新)使用来自当前学生模型302的当前学生特征和当前权重来生成新权重。
[0097]
以此方式,本发明设计了一种框架,该框架在预测建模领域中实现“学习以教导”的概念。这样的框架包括教师模型,教师模型针对每个数据案例产生权重。训练数据案例以及所生成的权重用于重新训练学生模型。通过在预测准确度方面对保留数据集评估经训练的学生模型来返回奖励。然后,教师模型经由策略梯度方法(例如,强化学习)利用奖励来更新其参数。将重复此过程直到学生模型达到预期的性能。
[0098]
与先前使用的启发式方法(例如,增强)相比,本发明的方法以最佳方式确定案例权重。这允许人们经由基本学习者(例如,决策树、神经网络等)而不是使用集合模型来构建更好的学生模型。
[0099]
通过使用案例权重作为对学生模型的动作,给定学习者支持训练中的案例权重,任何类型的机器学习者可以被用作学生模型。
[0100]
此外,本发明改进了涉及预测模型的技术或技术领域。如以上所讨论的,实现更好的预测模型是机器学习技术的研究和实践中的目标。例如,集合方法使用多个学习算法来获得比可以单独从任何组成学习算法获得的预测性能更好的预测性能。这种集成方法包括自举汇聚(也称为bagging)、增强等。自举汇聚是被设计为提高统计分类和回归中使用的机器学习算法的稳定性和准确度的机器学习集合元算法。增强是用于主要减少受监督学习和将弱学习者转换成强学习者的机器学习算法族中的偏差和方差的机器学习集合元算法。在此类技术(诸如增强)中,在建模过程期间增加错误分类的案例的权重,而减小正确分类的案例的权重。在许多情况下,这种策略(启发式)确实实现了更好的预测;然而,可能过度拟
合异常值/噪声。由于过度拟合异常值/噪声,降低了预测准确度。所以,增加错误分类的案例的权重和减少正确分类的案例的权重的启发式策略可能不是用于提高模型的预测准确度的最佳策略。例如,有时,增加正确分类的案例的权重可能更好,因为这样的案例包含应当通过机器学习算法学习的非常重要的模式。出于类似原因,降低错误分类的案例(诸如异常值案例)的权重也可能更好。结果,此类技术(诸如增强)未能标识针对经分类的案例的最优权重,并且因此未能在机器学习技术中实现最优预测准确度。
[0101]
本发明通过构造教师模型来改进这种技术,其中,教师模型针对每个数据案例生成权重。如本文所使用的,“教师模型”是指确定合适的数据、损失函数和假设空间以促进学生模型的学习的统计模型。然后使用训练数据和由教师模型生成的权重来训练当前学生模型。如本文所使用的,“学生模型”是指被训练为使用训练数据提供预测的统计模型。如本文所使用的,“当前”学生模型是指当前被使用训练数据训练以提供预测的学生模型。当前学生模型生成状态特征(例如,数据特征、案例权重、学生模型特征和用于表示数据和学生模型两者的组合的特征),状态特征被教师模型用于生成新权重。然后使用训练数据和这些新权重来训练候选学生模型。如本文所使用的,“候选学生模型”是指正在被检查以确定是否是比当前学生模型更好(在预测所观察的目标时更好)的学生模型。然后通过使用训练和测试数据比较当前学生模型和候选学生模型以确定哪个更好地预测观测目标来生成奖励。如本文使用的,“奖励”是指由用于强化学习的函数(奖励函数)生成的值。如果候选学生模型比当前学生模型更好地预测所观察的目标,则可返回正奖励。相反,如果当前学生模型比候选学生模型更好地预测所观察的目标,则可返回负奖励。然后用奖励更新教师模型。教师模型利用奖励经由诸如强化学习的策略梯度方法来更新其参数。如果候选学生模型在预测观测目标时比当前学生模型更好,则用候选学生模型更新当前学生模型,并用由教师模型生成的新权重更新当前权重。在用新权重更新当前权重时,当前学生模型生成新状态特征。然而,如果候选学生模型在预测观测目标时不好于当前学生模型,则更新的教师模型使用当前权重和来自当前学生模型的当前学生特征来产生新权重。在满足任何停止规则(例如,达到指定的尝试次数、达到指定的训练时间、预测准确度的收敛和用户发起的终止)时,由教师模型生成的权重被视为“最佳”权重,其连同对应的学生模型一起被返回至用户。以此方式,标识最优权重以改善预测准确度。此外,以此方式,在预测建模的技术领域中存在改进。
[0102]
本发明提供的技术方案不能在人的头脑中执行,或由人使用笔和纸来执行。即,本发明提供的技术方案不能在不使用计算机的情况下,在人脑中或者在人使用笔和纸时在任何合理的时间量内并且在任何合理的准确度预期下完成。
[0103]
在本发明的一个实施例中,一种用于在机器学习技术中提高预测准确度的计算机实现的方法包括构建教师模型,其中所述教师模型针对每个数据案例生成权重。所述方法进一步包括使用由教师模型产生的训练数据和权重来训练当前学生模型。所述方法另外包括由所述当前学生模型生成状态特征。此外,所述方法包括由所述教师模型使用所述状态特征生成新权重。另外,所述方法包括使用所述训练数据和所述新权重训练候选学生模型。此外,所述方法包括通过使用所述训练数据和测试数据将所述当前学生模型与所述候选学生模型进行比较以确定哪个更好地预测观测目标来生成奖励。该方法还包括响应于停止规则未被满足而用奖励来更新教师模型。所述方法另外包括响应于满足停止规则向用户返回新权重和当前学生模型,其中返回的学生模型提供观测目标的预测。
[0104]
在本发明的一个实施例中,该方法进一步包括基于该预测与该观测目标有多接近来确定该候选学生模型是否比该当前学生模型生成更好的该观测目标的预测。
[0105]
在一个实施例中,所述方法进一步包括响应于所述候选学生模型比所述当前学生模型生成更好的对所述观察目标的预测,使用所述候选学生模型来更新所述当前学生模型以及使用所述新权重来更新当前权重。
[0106]
在一个实施例中,所述方法另外包括:由所述更新的学生模型使用所述新权重生成新状态特征;以及由所述教师模型使用所述新状态特征生成第二组新权重。
[0107]
此外,在一个实施例中,所述方法还包括使用所述训练数据和所述第二组新权重来训练所述候选学生模型以及通过使用所述训练数据和所述测试数据将所述更新的学生模型与所述候选学生模型进行比较以确定哪个更好地预测所述观察目标来生成奖励。
[0108]
此外,在一个实施例中,所述方法进一步包括响应于所述候选学生模型没有生成比所述当前学生模型更好的所述观察目标的预测,由所述更新的教师模型使用所述状态特征生成第二组新权重。
[0109]
在一个实施例中,所述方法进一步包括使用所述训练数据和所述第二组新权重训练所述候选学生模型以及通过使用所述训练数据和所述测试数据将所述当前学生模型与所述候选学生模型进行比较以确定哪个更好地预测所述观察目标来生成奖励。
[0110]
在一个实施例中,该方法另外包括使该停止规则包括以下各项中的一项或多项:达到指定次数的试验、达到指定训练时间、预测准确性的收敛、以及用户发起的终止。
[0111]
在一个实施例中,所述方法进一步包括使所述教师模型包括神经网络,以及使所述学生模型包括以下各项之一:决策树和神经网络。
[0112]
上述方法的实施例的其他形式是在系统和计算机程序产品中。
[0113]
已经出于说明的目的呈现了本发明的各个实施例的描述,但并不旨在是详尽的或限于所披露的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域普通技术人员将是显而易见的。这里使用的术语被选择来最好地解释实施例的原理、实际应用或对在市场中找到的技术的技术改进,或者使得本领域普通技术人员能够理解这里公开的实施例。