机器学习系统的更新的制作方法

文档序号:11432859阅读:212来源:国知局
机器学习系统的更新的制造方法与工艺

本发明涉及计算机程序及系统领域,尤其是一种用于更新机器学习系统的方法、系统及程序。



背景技术:

推荐用于工程中所做的决策。譬如,在正在进行卫星发射中,需要推荐紧急动作以最小化事故风险的函数(例如,控制燃料箱的温度、燃料消耗、发射速度)。推荐不限于设备控制,但它们也能用在设备的概念及制造期间,例如,cad系统能够为设备的设计提供推荐,从而使得将所设计的设备的故障风险最小化。

存在数种已知类别的推荐系统。第一类别包括所谓的推荐者系统,其为访问者接收基于已访问内容的内容建议的系统。譬如,搜索引擎基于访问页面的个人历史给搜索结果排序。在marko和yoavshoham.的“fab:content-based,collaborativerecommendation.”communicationsoftheacm40.3(1997):66-72中或者还在sarwar、badrul等人的“item-basedcollaborativefilteringrecommendationalgorithms.”,proceedingsofthe10thinternationalconferenceonworldwideweb.acm,2001中讨论了这样的系统的示例。

然而,这些推荐者系统在集中了大量用户的历史的应用中工作。例如,搜索有10亿以上用户。宿于(host)公司服务器上的系统没有此类决策者池来学习。决策者一般将最佳业务实践或管理咨询公司用于基于相似情况下他们同行累积的经验的建议。但商业的相对孤立、来自不同公司的操作及装备数据使得难以通过计算机程序自动化此学习过程。因此决策者基于描述触发决策需求的情况的数据(譬如描述他们自己操作及装备的变量)来评估情况,而不是查看他们同行的决策历史。因此,这些推荐者系统不适合这些情况。

第二类别包括专家系统,其基于专家写入并自动应用的规则,自动做出某个问题相关的决策。当选项的数目很小、且输入变量可由人管理或处理为在可管理的判别变量集中归纳时,那么专家可能规定大多数情况下产生最佳动作的规则。第一种方案叫做“仅有专家规则”,其中规则由应用系统的技术领域的专家手工写入。第二种方案叫做“结合经验模型的专家规则”,其中基于机器学习创建经验模型,以处理可用的输入并返回数量可管理的输入。此类模型一般返回估计的概率。由于减少了提供给人写入的规则的输入的复杂性,因此减小了人为错误的空间。

作为经验模型的示例,例如delmia的经验规则生成系统。这些系统示出了处理此类现象所需的复杂性。经验规则生成系统给由大量变量描述的现象建模。它们通过以下进行工作:产生许多各个具有低再次调用(recall)和低精确率,并因而可能相互矛盾的规则,利用投票解决它们的不同结果,并输出投票结果,该结果用作新的合成变量来描述情况。这些系统一般同时实现高再次调用及高精确率(每个都在80%以上),但为了这样做,这些系统产生了专家无法产生的、数量无法管理(对于几十个变量,达到数万至百万量级)的规则。

然而,此第二类别具有许多缺点;尤其是,当独立因子的数目与选项的数目导致人类专家无法管理的问题时,第一种方案不起作用。第二种方案需要大量硬件资源来训练经验模型。实践中,决策的需求一般由新数据触发。并且一般必须迅速进行决策。因此,进一步限制可获得的资源量和能够使用这些系统的情况的数量。

在第三类别中,诸如delmiaoi的经验规则生成系统。这些系统示出了处理此类现象所需的复杂度。经验规则系统生成系统给由大量变量描述的现象建模。它们通过以下进行工作:产生许多各个具有低再次调用(recall)和低精确率,并因而可能相互矛盾的规则,利用投票解决它们的不同结果,并输出投票的结果,该结果用作新的合成变量来描述情况。这些系统一般同时实现高再次调用和高精确率(每个都在80%以上),但为了这样做,这些系统产生了专家无法产生的、数量无法管理(对于几十个变量,达到数万至数百万的量级)的规则。

在具有许多输入参数和两种决策替换方法的情况中,此类系统能够成功用于“结合经验模型的专家规则”方案。

然而,此类经验模型不让决策者考虑在训练系统和写入专家规则时不存在或不予考虑的数据。另外,此第三种类可能需要大量硬件资源来训练。实践中,决策的需求一般由新数据触发。并且,一般必须迅速进行决策。因此,进一步限制可获得的资源量和能够使用这些系统的情况的数量。

第三类别包括可理解模型、表示和交互界面,其通过以使相关信息可由决策者或其助手管理的形式呈现该相关信息来有助于做决策。譬如,商业智能工具提供了譬如通过散点图的方式选择变量并可视化其交互的手段。分析人员选取相关的可视化,产生静态报告,并将它们发送给决策者。

所谓的“白盒模型”取决于经验(受训练的)模型,其给出变量之间关系的可视化或解释。譬如,在训练决策树(例如,如在quinlan、j.ross.的″inductionofdecisiontrees.″machinelearning1.1(1986):81-106.[1]中所讨论的),规则创建引擎或贝叶斯网络(例如,如在heckerman、david、dangeiger和davidm.chickering.的″learningbayesiannetworks:thecombinationofknowledgeandstatisticaldata.″machinelearning20.3(1995):197-243中讨论的)之后,可能理解以某种概率将目标变量链接到描述现象的变量中若干前提的规则。

当输入数据能够在图表中表示时,存在以以下方式将图表映射到二维图的技术,该方式为2d图上两个实体之间的距离表示它们在图表中的连接性。这些技术允许定性地表示描述情况的元素之间的交互程度。这些技术还能应用于映射2d图上的复杂观察(complexobservation),从而使得相似观察(在n维中接近,所述维度为描述观察的变量),最终在2d图上彼此接近,例如,如在balasubramanian、mukund和ericl.schwartz.的″theisomapalgorithmandtopologicalstability.″science295.5552(2002):7-7中所讨论的。

在jain、anilk.、m.narasimhamurty和patrickj.flynn.的″dataclustering:areview.″acmcomputingsurveys(csur)31.3(1999):264-323中讨论了聚类技术,并且这些聚类技术允许以可管理数量分组的方式将在n维中相似的观察分组在一起。

在wall、michaele.、andreasrechtsteiner和luism.rocha.的″singularvaluedecompositionandprincipalcomponentanalysis.″apracticalapproachtomicroarraydataanalysis.springerus,2003.91-109中讨论了降维技术,并且它们允许找到数据沿其变化最大的维度或维度组合。

存在其它技术来发现什么维度(描述性变量)对给定目标变量的值影响最大。

然而,“白盒模型”具有数个缺陷。尤其是,这些系统仍然不提供完全自动化的决策,并因此允许因例如遗漏重要因素或未精确评估考虑因素的实际影响的人类失误而导致的次优决策。

另一问题是此第三类别需要大量硬件资源来训练。实践中,决策的需求一般由新数据触发。并且,一般必须迅速进行决策。因此,进一步限制可获得的资源量和能够使用这些系统的情况的数量。

更具体地,当直接用来对涉及复杂系统的实际事件进行建模时,直接使用经验模型具有以下性能问题。

第一个性能问题涉及存储器占用问题。描述涉及复杂系统的情况的相关参数的数量一般很大。因此,利用模型的输入变量来整体描述情况会导致输入变量激增,这将使得在事件进程期间训练模型不切实际。

随着变量激增,训练数据中必需的观察数也激增。简言之,训练数据中的观察必须表示对于受训的模型能够实际发生以正确执行的所有可能的变量组合。

大多数可用的机器学习方法是通过假设训练数据适合随机存取存储器来设计的。随机存取存储器的现有尺寸一般限制了描述情况能够考虑的参数。

第二个性能问题是可扩展性的问题。某些精确的机器学习算法扩展性不好。例如,冲高排名技术(boostingtechnique)就是此种情况。对于再次调用和精确率,冲高排名技术为当前最强大的机器学习技术之一,但它们本质上是顺序的。这意味着它们无法跨多个服务器分布。一个服务器将忙着运行计算,而其它服务器空闲。运行顺序算法的时间将不会随着服务器数目的增加而减少。

在事件进程期间重新训练模型时,也存在同样的存储器占用及扩展性问题。

另外,由于时间有限,延迟也成为问题。取决于模型、训练数据的大小和可获得的硬件资源,对模型进行训练花费数秒至数周。当给涉及复杂系统的实际情况进行建模时,大多数情况下对模型进行训练必须至少花费数十秒。因此,在事件进程期间对模型进行训练的机会将很小。

在此背景下,仍然需要更新机器学习系统的模型。



技术实现要素:

因此,提供了一种用于更新机器学习系统的模型的计算机实现的方法。所述方法包括:

-提供相似事件的第一观察集合,每个观察与目标值和一个或多个变量关联,每个变量与对应于观察的值关联;

-利用第一集合的每个观察对应的一个或多个变量和目标值来索引第一集合的每个观察;

-接收允许选择第一观察集合的子集的对所述索引的查询;

-返回所述第一观察集合的子集作为查询的结果;

-提供第二模型;

-利用第一观察集合的被返回的子集来训练所提供的第二模型;以及

-加载受训的第二模型。

所述方法可包括以下中的一个或多个;

-提供第一模型;利用第一观察集合来训练第一模型;存储受训的第一模型。

-在接收对所述索引的查询之前:采集当前事件的第二观察集合;并且其中接收对所述索引的查询进一步包括接收允许选择所述第一观察集合的子集的对所述索引的查询,利用第二观察集合的一个或多个变量执行所述查询。

-在接收对所述索引的查询之前:识别所述第二观察集合的一个或多个变量;并且其中接收对所述索引的查询进一步包括接收允许选择第一观察集合的子集的对所述索引的查询,利用所识别的第二观察集合的一个或多个变量来执行所述查询。

-识别所述第二观察集合的一个或多个变量包括识别(s210)缓慢移动的变量和/或识别快速移动的变量;

-识别在第二观察集合的变量之中的一个或多个未知变量;以及索引与所识别的一个或多个未知变量关联的第二集合的每个观察,利用第二集合的所述每个观察的对应的一个或多个变量和目标值执行第二集合的所述每个观察的索引。

-采集第二观察集合进一步包括实时采集第二观察集合;存储所采集的第二观察集合;以及在预定的时间段过去之前提供对所采集的第二观察集合的访问;

-在加载受训的第二模型之后:通过利用值来设定输入变量集合中的输入变量,来提供一个或多个选项;通过使用所提供的一个或多个选项,为受训的第二模型计算结果;

-提供一个或多个选项进一步包括计算输入变量的值的组合;并且其中为受训的第二模型计算结果进一步包括通过使用所计算的组合为受训的第二模型计算结果;

-在计算输入变量的值的组合之后:接收第二观察集合的变量的值;计算输入变量的值和第二观察集合的变量的值的组合;通过使用输入变量及第二观察集合的变量的值的组合,为受训的第二模型计算结果;

进一步提供了一种计算机程序,包括用于执行所述方法的指令。

进一步提供了一种计算机可读存储介质,其上记录有计算机程序。

进一步提供了一种服务器,包括耦合到存储器的处理电路,所述存储器其上记录有计算机程序。

所述服务器可以连接到客户端计算机,从所述客户端计算机生成对一个索引的查询、且从所述客户端计算机提供一个或多个选项。

附图说明

现在将通过非限制性示例、并参考附图来描述本发明的实施例,其中:

-图1示出了本发明的构建时间的示例的流程图;

-图2示出了本发明的运行时间的示例的流程图;

-图3示出了观察集合的示例;

-图4示出了计算机的示例。

具体实施方式

参考图1和2的流程图,提出了一种用于更新机器学习系统的模型的计算机实现的方法。该方法包括提供第一模型。该方法还包括提供相似事件的第一观察集合,每个观察关联于(i)一个或多个变量,并关联于(ii)目标值,每个所述变量与对应于事件的值关联。该方法还包括利用每个观察对应的一个或多个变量和目标值来索引第一集合的每个观察。接着,接收对所述索引的查询;查询的目的是获取第一观察集合的子集的选择。作为查询的结果,返回第一观察集合的子集。接下来,提供第二模型。利用返回的第一观察集合的子集来训练第二模型。然后,加载受训的第二模型。

此类方法改进了机器学习系统的模型的更新。实际上,使用了训练数据的索引。根据当前情况对训练数据进行采样,并基于采样的数据重新训练模型。

在可获得大量训练数据、且缺乏时间的情况下,基于当前情况移除数据大大地缩小了训练集的大小,同时保留了它包含的关于当前情况的大多数相关信息。例如,假如航天飞机的引擎仅能提供有限的推力,关于利用引擎提供高于限制的推力的之前任务的数据具有很小的值。

将选择的变量设定为它们在情况下的当前值允许减小存储观察的矩阵的大小。通过消除其关于所选变量的值不同于其在当前情况下的值的观察,能够减少线(观察)数。生成的矩阵小于初始矩阵(可能是数量级),而不会损失大量信息。用于训练的存储器占用大致为矩阵的大小。因此,存储器占用随矩阵的大小线性增加。训练的时间为变量及观察的数目的直接函数。依据训练数据的大小,训练机器学习算法的时间的增加一般快于线性。

本发明不与使用递增或在线学习算法兼容。事实上,本发明能够减少递增或在线学习算法的缺陷,因为它使得可能/较易于批次更新模型,模型能够使用本发明完全更新,并在批次更新之间使用递增或在线学习技术迭代更新。

该方法是计算机实现的。这意味着该方法的步骤(或基本上所有步骤)由至少一个计算机或类似的任意系统来执行。因此,由该计算机,可能全自动或半自动地来执行该方法的步骤。在示例中,可以通过用户-计算机交互来执行该方法的至少某些步骤的触发。所需的用户-计算机交互水平可取决于预见的自动化水平,并与实现用户意愿的需求相平衡。在示例中,此水平可以是用户定义和/或预定义的。

该方法的计算机实现的一个典型示例是利用适配于此目的的系统执行该方法。该系统可以包括耦合到存储器和图形用户界面(gui)的处理器,存储器其上具有记录的包括用于执行该方法的指令的计算机程序。该存储器还可以存储数据库。该存储器是适配于此类存储的任意硬件,可能包括数个物理的不同部分(例如,一部分用于程序,且可能一部分用于数据库)。

“数据库”,意指组织成用于搜索和检索(例如,关系数据库,例如基于预定的结构语言,例如sql)的任意数据(即,信息)的集合。数据库当被存储在存储器上时,允许计算机快速搜索和检索。数据库的结构实际上便于与各种数据处理操作协作的数据存储、检索、更改和删除。数据库可以由能够拆分为记录的文件或文件集构成,各记录由一个或多个字段(field)构成。字段为数据存储的基本单位。用户可以主要通过查询来检索数据。使用关键词和排序命令,用户能够根据所用的数据库管理系统的规则,快速搜索、重排列、分组和选择许多记录中的字段,以检索或创建有关特定数据聚合的报告。

所述方法通常操纵观察集合。观察为变量集合,其中每个变量与值关联。变量表示系统的状态或系统部分的状态,或与系统或系统部分相关的元素状态或对系统或系统部分有影响的元素状态。譬如,汽车的观察的变量能够为汽车温度、油压、即时燃料消耗、比赛期间的平均燃料消耗、轮胎类型、大气温度、天气(雨、太阳、雪),……变量与量化变量的状态的值关联。观察表示处于给定时间点的系统状态。观察集合因而为处于不同时间点的变量的值。实践中,系统能够属于不同且不受限的工业领域,包括:航空、建筑、工程、消费品、高科技设备、工业装备、运输、海运和/或近海石油/天然气生产或运输。由该方法使用的观察集合因而可以包括涉及工业系统的变量,该工业系统可以为任意机械系统,例如陆地交通工具或其部件的系统(包括例如轿车及轻卡装备、赛车、摩托车、卡车及机动车装备、卡车及公共汽车、火车)、航空交通工具或其部件的系统(包括例如机身装备、航空装备、推进装备、国防产品、飞机装备、太空装备)、海洋交通工具或其部件的系统(包括例如船用装备、商船、近海装备、游艇及工作船、海运装备),通用机械系统或机械系统的部件(包括例如工业制造机械、重移动机械或装备、安装装备、工业装备产品、锻造金属产品、轮胎制造产品)、电子机械或电子系统或其部件(包括例如消费电子、安全和/或控制和/或仪器产品、计算及通信装备,半导体、医疗设备及装备)、消费品(包括例如家具、家庭及花园产品、休闲品、时尚产品、硬品零售商产品、软品零售商产品)、包装物(包括例如食物及饮料及烟草、美容及个人护理、家用产品包装)。

图4示出了该系统的示例,其中该系统为客户端计算机系统,例如用户工作站。

该示例的客户端计算机包括连接到内部通信总线1000的中央处理单元(cpu)1010、还连接到总线的随机存取存储器(ram)1070。客户端计算机进一步设置有与连接到总线的视频随机存取存储器1100关联的图形处理单元(gpu)1110。视频ram1100在本领域中也称为帧缓冲器。大容量存储设备控制器1020管理对大容量存储器设备(例如硬盘驱动1030)的访问。适于有形地体现计算机程序指令及数据的大容量存储设备包括所有形式的非易失性存储器,举例来说包括半导体存储设备,例如eprom、eeprom和闪存设备;例如内部硬盘和可移除盘的磁盘;磁光盘;以及cd-rom盘1040。前述任一可以由特殊设计的asic(专用集成电路)补充或纳入其中。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括触觉设备1090,例如光标控制设备、键盘等。光标控制设备用在客户端计算机中,以允许用户在显示器1080上任意想要的位置处选择性定位光标。另外,光标控制设备允许用户选择各种命令并输入控制信号。光标控制设备包括用于输入控制信号给系统的多个信号生成设备。通常,光标控制设备可以是鼠标,鼠标的按钮用于生成信号。替代或额外地,客户端计算机系统可以包括触敏板和/或触敏屏。

计算机程序可以包括可由计算机执行的指令,所述指令包括用于使上述系统执行所述方法的模块。程序可记录在任意数据存储介质上,包括系统的存储器。该程序可以例如以数字电子电路、或计算机硬件、固件、软件或其组合来实现。该程序可以实现为装置,例如有形地体现在用于由可编程处理器执行的机器可读存储设备中的产品。方法步骤可以由可编程处理器执行指令程序来执行,以通过对输入数据操作并生成输出来执行所述方法的功能。处理器因而是可编程的,并可以耦合以从数据存储系统、至少一个输入设备和至少一个输出设备接收数据及指令和发送数据及指令给数据存储系统、至少一个输入设备和至少一个输出设备。应用程序可以用高级程序或面向对象的编程语言、或若需要以汇编或机器语言来实现。总之,语言可以是编译或解释语言。程序可以是全安装程序或更新程序。总之,程序应用于系统导致用于执行该方法的指令。

现在参考图1,讨论本发明的构建时间的示例。创建时间尤其针对创建观察的索引。观察可以是过去的观察。

在步骤s100,提供第一观察集合。集合的每个观察与一个或多个变量和目标值关联。变量与值关联。

图3示出了观察的示例。每个线12表示一观察,每列14(为清楚起见,图3中仅有一列用虚线表示)对应于一变量,并且每个矩形18表示用于观察的变量的值。在此示例中,观察集合存储在矩阵10上。每个观察以其关于所谓的《描述性变量》、也称作《输入变量》的值来描述(因为它们是作为描述观察的受训模型的输入而提供的)。有趣的是,集合的每个观察包括与集合的其它观察相同的变量。要理解对于每个观察,一个或多个变量可能为空,也就是说,不与值关联。每个观察与关于所谓的《目标变量》、也称作《输出变量》的对应值关联。目标变量为受训模型必须为新观察评估的变量。目标变量对于模型的用户是有意义的,从这方面来说它们提供有助于模型用户理解和/或预测和/或对系统的行为做出反应的信息。在此示例中,目标变量也存储在矩阵16内。要理解每个观察的值及目标变量能够存储在包括矩阵10及16的矩阵内。观察及目标变量构成了(并且也称作)标签数据集。要理解每个目标变量被评估为所谓目标值的值。

观察集合可以表示相似事件。相似事件意指事件具有共同特性。实践中,每个观测与一个或多个变量关联。事件之间的共同特性可能为变量。因此,参考图3,除了两个观察之间的变量可能具有不同值之外,观察集合的每个观察描述具有相同变量而相同的事件。

观察集合可以是自然的观察集合。自然意指变量的值是针对真实事件的测量,也就是说,真实世界中发生的事件,例如航天飞机引擎的温度。因而采集观察和每个观察的变量。

观察集合可以是合成的观察集合。合成意指已计算变量的值。譬如,它们已被生成。具有多种用于生成合成观察的方法。我们在下文描述两种方法。

两种方案始于识别能够被观察集合的变量所采用的值的范围。某些变量仅能采用离散值。这些是离散变量。其它能够采用连续值。这些是连续变量。

两种方案涉及生成关于观察的每个变量的值,并组合这些值以构成合成观察。例如,假如变量a采用值[1,2,3],而变量b采用值[1,2],所述组合为(1,1)、(1,2)、(2,1)、(2,2)、(3,1)、(3,2)。那就是|a|*|b|组合。在此示例中,能够创建6个新观察,每个由其关于变量a和b的值定义,且对应于a和b的可能值的6个组合。

两种方案可涉及生成用于每个观察的目标值。目标值为关联到观察的目标变量的值。在给定输入中的观察的变量时,它一般是由仿真模型而生成。目标变量是机器学习算法当利用与其各自的目标值关联的观察受训时学习产生的变量。通过机器学习领域已知的这个学习过程,机器学习算法响应于与它受训所用的那些观察相类似的新观察,将学习以产生与它受训所用的那些观察一致的目标值。

两种方案的区别为用于生成有关每个变量的值的方法。

第一种方案可包括使用随机变量生成器,以生成有关变量定义范围的值,可能遵循有关分布范围的一致性分布,或根据需求遵循不同的概率分布(例如,假如对于采用与用于特定变量的值v相类似的值的观察,人们想要模型受训得特别好,人们可以决定使用偏爱接近用于那个变量的v的值的概率分布,例如以v为中心的正态分布。)

第二种方案可包括可能在用离散变量(也就是说,采用离散值的变量)逼近变量之后,枚举用于变量的、在其可能值范围上的可能值。能够通过用离散变量的最接近的离散值逼近每个值来进行此逼近。离散值譬如能够定义为四舍五入到指定精度水平的值。实践中,表示物理事件的变量仅采用关于有限定义范围的值:具有下限和上限。这些界限通常能够通过查看过去数据来找到。离散变量采用关于有限定义范围的有限数量的值。这使得能够枚举离散逼近的所有可能值,假如这是想要实现的。

观察集合可以是自然及合成观察的混合。譬如,假如自然观察的数目太小,并因而不足以表示事件,观察集合可以用合成观察来完善,使得观察集合在统计意义上表示其上用到模型的可能观察集合。

接下来,在步骤s110,索引第一集合的观察。此索引称作训练数据索引。为了支持基于变量的准确值的搜索,索引包含查询中易用到的每个变量的倒排列表。对应于变量的倒排列表为耦组(value,[id1,…,idn])的列表,其中value为变量的值,并且[id1,…,idn]为变量具有值value的观察的识别符的列表。一旦有指定变量的值的查询时,此结构允许较快检索模型。实际上,倒排列表是排序的,因此在排序的倒排列表中找到指定值要快于浏览所有观察并检查它们对应的关联值。

为了支持利用倒排列表搜索索引中的相似值,一种方案是在将值加入倒排列表之前离散化它们,并在查询中指定的值的距离内搜索所有的离散值。在此背景中,离散化值意指利用精度水平小于距离的四舍五入值来逼近它们。

利用第一集合的每个观察的对应变量和它的目标值对每个观察进行索引。要理解利用观察的对应变量来索引观察意指利用观察来索引变量的值,也就是说,在对应于变量的倒排列表中找到与值关联的观察。

接着,在步骤s120,训练模型。提供模型。根据预测的目标变量执行对模型的选择。可以在模型库中选择模型。

如本领域已知的执行模型训练。用于训练模型的方法因模型而异。例如,训练人工神经网络涉及使用反向传播算法来基于响应于正被输入网络的新观察在更新之前网络如何运行以及基于网络输出和与观察关联的目标值之间的差,来更新网络的神经元的特性。训练例如梯度提升或随机森林之类的集成模型(ensemblemodel)涉及选择观察的多个子集,且针对每个子集,训练例如stub之类的简单评估器以对于给定子集的观察输出目标值,并将受训的评估器添加到整个集成模型的评估器的列表。训练stub(=一级决策树)涉及选择变量和该变量的值,该变量和该变量的值在选择的观察之中最佳地区分了那些与不同目标值相关联的观察。

机器学习库一般实现用于训练每个可用模型的方法,并将该方法提供给该库的用户。用户能够通过利用选择的观察及其用作训练数据的目标值输入此方法来训练模型。该方法通常返回指针给受训的模型,该受训的模型接着能够被用于预测给定新观察的目标值。

接着在步骤s130存储受训模型,例如为了执行而存储在随机存取存储器上和为了持久性而存储在文件系统上。存储的模型因此能够在运行时间期间重用于后面的阶段。

要理解索引的构建和模型的训练可以同时或并发进行。或者,可以先训练模型,接着能够索引第一观察集合。

现在参考图2,讨论本发明的运行时间的示例。运行时间尤其包括接收允许选择第一观察集合的子集的对索引的查询(s220);返回第一观察集合的子集作为查询结果;提供第二模型;利用返回的第一观察集合的子集来训练所提供的第二模型(s240);以及加载(s250)受训的第二模型。

在步骤s200,采集第二观察集合。第二集合的观察涉及当前事件。当前事件为现在发生的事件,与第一观察集合的事件相反。

第二观察集合可以表示与第一观察集合中存储的过去或模拟的事件相类似的事件。第二集合的观察至少包括与描述过去或模拟的事件的观察集合相同的变量。为解释起见,相似事件意指事件具有共同特性。实践中,采集的数据为相似事件的观察,每个观察与一个或多个变量关联。事件之间的共同特性可能为变量。因此,第二观察集合的每个观察描述了因变量相同而相似的事件,除了两个观察之间的变量可以具有不同的值。

测量第二观察集合的变量的值,也就是说,第二观察集合仅包括已对真实事件测量的变量的值。被测变量的被测值优选地实时发送给执行该方法的系统。这能通过经由任意远程通信信道和订购(subscription)或消息传递协议从数据供应商或传感器订购实时推送通知来进行。要理解信道一般取决于数据供应商或传感器提供的接口。此处,术语实时意指用于传输采集的数据的时间为预定的时间段;传输所需的时间不应该超过预定的时间段。

优选地实时采集第二集合的采集的观察。这允许将最近测量的变量提供给执行本发明的系统。利用新鲜数据执行预测。能够存储所采集的数据,从而使得它们能够重用于后面的阶段。为了限制计算资源的消耗,仅当已存储预定数目的新观察时、或当预定的时间段过去时,才可以允许访问所采集的数据。

接着,在步骤s210,对第二集合的观察的变量施加过滤。过滤意指根据一个或数个准则执行选择。譬如,过滤可以包括识别缓慢移动的变量。缓慢移动的变量是在第二观察集合的若干最近连续的观察中展现出小差异的变量。一般地,选择缓慢移动的变量针对假设对第二集合的最近观察展现出稳定值的变量可能展示出集合接下来的观察中的类似值,从第一集合过滤出可能类似于第二集合的这些最近观察、并因此类似于接下来将采集的第二集合的若干观察的观察。

例如,能够选择关于第二集合的最近100条观察的10%最稳定的变量。这可能是为了提高过滤的第一集合的观察譬如类似于第二集合的下个50个观察的可能性。

接着,在步骤s220,查询第一集合的观察的索引。索引允许选择被索引的第一观察集合的子集。利用采集到的第二观察集合的一个或多个变量执行查询。实践中,查询的一个或多个变量是在步骤s210识别的变量的值。

作为查询的结果,返回第一观察集合的子集。这是如本领域已知执行的。

接着,提供第二模型。选择此第二模型的执行方式可以与选择第一模型的相同。第二模型可以与第一模型相同。

在步骤s230,利用作为查询(s220)的结果返回的观察子集来训练之前提供的第二模型。

一旦进行训练,能够存储第二模型。它可以存储在用于存储第一受训模型的同一存储器(一般为了执行是随机存取存储器,而为了持久性是文件系统)上。

能够加载第二受训模型;也就是说,它能用于生成预测。

采集的第二观察集合的数据可以用于维持更新在步骤s110计算的索引。识别第二观察集合的变量和它们的目标变量中的一个或多个丢失值,而不是索引所有的新观察。当检测到丢失值时,索引对应的观察。索引的执行方式与参考步骤s110讨论的相同:利用对应的变量及目标值来执行与所识别的一个或多个之前丢失的值关联的第二集合的每个观察的索引。

现在讨论如何使用第一和/或第二受训模型生成预测。

在步骤s260,提供一个或多个选项。一个选项为描述事件可能转折的假定观察。例如,假设由变量“机舱火灾”(是/否)、“灭火器状态”(开/关)、“当前过程”(如飞行数据文件中定义的)描述观察。在通过机舱火灾=是、灭火器状态=关、当前过程=倒计时的情况描述事件时,使用灭火器并暂停倒计时的决策转化为选择定义为机舱火灾=是、灭火器状态=开、当前过程=倒计时暂停的选项。

通过设定观察的变量来获得选项。与第一及第二集合的观察相比,首先获得选项,无需关联的目标值。这些变量叫做可动作的变量,因为用户能够作用于它们,例如设定引擎的推力。

具有多种用于生成选项的方案。我们在下文中描述两种方案。

两种方案始于识别能够被观察集合的变量采用的值的范围。某些变量仅能采用离散值。这些是离散变量。其它能采用连续值。这些为连续变量。

两种方案涉及生成关于观察的每个变量的值(s270),组合这些值以构成合成观察(s280)。例如,假如变量a采用值[1,2,3],且变量b采用值[1,2],组合为(1,1)、(1,2)、(2,1)、(2,2)、(3,1)、(3,2)。那是|a|*|b|组合。在此示例中,能够创建6个新观察,每个由其关于变量a和b的值定义,且对应于a和b的可能值的6个组合。

两种方案的区别为用于生成有关每个变量的值(在s270)的方法。

第一种方案可包括使用随机变量生成器来生成有关变量定义的范围的值,可能遵循有关分布范围的一致性分布,或遵循根据需求的不同概率分布(例如,假如对于采用与用于特定变量的值v相类似的值的观察,想要模型受训得特别好,可以决定使用偏爱接近用于那个变量的v的值的概率分布,例如以v为中心的正态分布。)

第二种方案可包括可能在利用离散变量(也就是说,采用离散值的变量)逼近变量之后,枚举用于变量的、在其可能值范围上的可能值。能够通过利用离散变量的最接近的离散值逼近每个值来进行此逼近。离散值譬如能够定义为四舍五入至指定精度水平的值。实践中,表示物理事件的变量仅采用关于有限定义范围的值:具有下限和上限。这些界限通常能够通过查看过去数据来找到。离散变量将采用关于有限定义范围的有限数量的值。这使得能够枚举离散逼近的所有可能值,假如这是想要实现的。

现在可获得提供给第二受训模型的输入。第二受训模型因而能够用于生成结果(s290);计算在步骤s270或步骤280获得的用于每个选项的预测。按本领域已知的执行结果的计算。因此,根据所提供的一个或多个选项计算预测,或根据所提供的一个或多个选项和第二观察集合的变量的值的组合来计算预测。

能够通过根据预测和表示选项吸引力的预测的函数选择最优选项或次优选项,来进行建议(s292)。

现在讨论本发明的用于帮助任务控制人员和机上人员在用于卫星发射的轨道飞行器操作期间进行决策的示例。的确,在这些操作中,根据自动程序和计划的过程来执行大多数动作。大多数引擎是伺服控制的:用户不直接作用于它们,但你给它们目标,而它们适配来实现它。

指南及计划事件的集合位于飞行数据文件内。飞行数据文件包括人员行动计划、有效负载手册和在精心制作的飞行计划过程期间放在一起的其它文档。分割问题类型,且提前计划行动,目的是预测每种类型的问题。

然而,任务控制人员和机上人员仍然需要时时进行决策。例如,nasa声称在所有中止模式中,可能的话中止轨道是优选模式,而原因之一是它给控制器和飞行人员时间来评估情况,并决定按计划登陆或继续,以及如何解决问题。然而,因任务推迟,此时间很宝贵,资源在消耗,并且问题可能加重。如果中止轨道不可行,决策的速度及质量甚至更为重要。

能够为航天飞机测量数个变量:每个引擎的引擎阀门、每个引擎的燃料水平、舱压(假如泄压就是问题)、轨道飞行器冷却系统的状态(假如一个受损就是问题)、海拔高度、飞行路径角度、航向、重量、速率/射程、交通工具表面的压力、电子系统状态、当前过程(倒计时/第一级/第二级/返回发射点/横跨大西洋着陆中止/中止一次左右/中止轨道/偶然中止/舱外活动),等等。在此示例中,可行动变量包括:各引擎系统的引擎阀门、燃料水平(燃料可能倾泻、重量(材料可能倾泻)、机动选择(改变海拔高度、姿态、飞行角度、航向等),过程选择和轨道选择。

在此背景中,可以应用本发明来使用以下选项:使得将卫星放在正确轨道上的估计机会最大化、使在返回地球时无风险着陆的估计机会最大化、譬如通过最小化材料损失来最小化任务的总成本、以及最小化机舱内部中易导致机组成员受伤或伤亡的事故。

对若干观察进行索引并过滤,并利用过滤的观察来训练机器学习算法,例如基于它们对应于阶段1飞行过程这一事实。在事件进程中,采集描述所述事件的新观察。基于新观察来过滤索引的观察。例如,任务进入新的飞行过程。它离开阶段1,并进入发射的阶段2。新观察全部展现出关于变量《飞行过程》的值《阶段_2》。(基于它们关于变量飞行过程的值为阶段_2这一事实)过滤对应于阶段2飞行过程的索引观察,并且机器学习算法关于这些过滤的观察被训练,并更新(就此意义而言它替换)第一机器学习算法。上面列举的所有变量构成了机器学习算法的输入变量,并且选项的评估结果为机器学习算法的目标变量。所更新的模型应用于所生成的选项以预测它们的结果。

譬如,这能用于回答问题,诸如在可能有多个中止模式的情况下,“哪个是用于中止轨道模式的优选轨道?”或“哪个是优选的中止模式”。

譬如,受训为评估中止模式的机器学习算法将采纳指定中止模式的输入观察(在一个变量中)和选择它的背景(在其它变量中)。它是使中止模式相关与否的背景,且在输入中接收到对应的观察时,在各自的背景中每个中止模式的相关性由机器学习算法的结果来评估。

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