预计算模型的结果的检索的制作方法

文档序号:11458621阅读:121来源:国知局
预计算模型的结果的检索的制造方法与工艺

本发明涉及计算机程序和系统领域,并且更具体地涉及用于在事件过程中对模型结果进行检索的方法、系统以及程序。



背景技术:

推荐用于在工程中做出决策。例如,在正在进行的卫星发射中,需要推荐紧急行动以使得事故风险的函数(例如,控制燃料箱的温度、燃料消耗、发射器的速度……)最小化。推荐不限于对设备进行控制,而是也可以在设备的构思和制造期间使用推荐,例如,cad系统可以针对设备的设计提供推荐,从而使得所设计的设备发生故障的风险最小化。

存在若干已知类别的推荐系统。第一类别包括所谓的推荐者系统,该推荐者系统是访问者接收基于已访问内容的内容建议的系统。例如,搜索引擎基于已访问页面的个人历史记录对搜索结果进行排序。在markoandyoavshoham.″fab:content-based,collaborativerecommendation.″communicationsoftheacm40.3(1997):66-72中讨论了这样的系统的示例,或者在sarwar,badrul,etal.″item-basedcollaborativefilteringrecommendationalgorithms.″proceedingsofthe10thinternationalconferenceonworldwideweb.acm,2001中也讨论了这样的系统的示例。

然而,这些推荐者系统在集中大量用户的历史的应用中起作用。例如,搜索拥有超过10亿用户。托管在公司服务器上的系统不具有如此大量的决策制定者来向其学习。决策制定者典型地使用最佳的商业实践或管理咨询公司来得到基于在相似情况下其同行所积累的经验的建议。但是,商业、操作以及设备数据与不同公司的相对隔离使得难以通过计算机程序来自动化该学习过程。所以,决策制定者基于描述触发对决策的需求的情况的数据(例如,描述其自身操作和设备的变量)对情况进行评定,而不是考虑其同行的决策历史。因此,这些推荐者系统并不适合于这样的情况。

第二类别包括基于由专家写入并自动应用的规则的、使得与某个问题有关的决策制定自动操作的专家系统。当选项的数量少,并且输入变量可由人员管理或被处理为归总在可管理的可区分变量的集合中时,则专家可能指定将在大多数情况下产生最优行动的规则。第一种方法被称为“仅专家规则”,其中规则由该系统将被应用到的技术领域的专家手动写入。第二种方法被称为“与经验模型结合的专家规则”,其中基于学习处理可用输入并返回可管理数量的输入的机器来构建经验模型。这样的模型将典型地返回估计的概率。因为降低了提供给人为写入规则的输入的复杂度,所以减少了人为错误的空间。

然而,该第二类别遭受许多缺点;值得注意的是,当独立因素的数量和选项的数量导致不可由人类专家来管理的问题时,第一种方法不起作用。第二种方法需要大量的硬件资源来训练经验模型。实际上,典型地由新数据触发对决策的需求。并且典型地必须迅速采用决策。因此进一步限制可用资源的数量和可以使用这些系统的情况的数量。

作为经验模型的示例,经验规则生成系统例如delmia这些系统示出了处理这种现象所需要的复杂度。经验规则生成系统通过大量的变量对所描述的现象进行建模。这些系统通过以下操作起作用:产生许多具有单独的低召回和低精度的规则(并且因此可能相互矛盾),使用投票来解决它们的不同的结果,并且输出投票的结果,该投票结果被用作描述情况的新的合成变量。这些系统典型地同时实现高召回和高精度(各自高于80%),但是这样做会产生可能还未由专家创作的不可管理的数量的规则(对于几十个变量来说,达到数万到数百万的量级)。

在具有许多输入参数和两个决策替代方案的情况下,这样的系统可以成功地用在“与经验模型结合的专家规则”方法中。

然而,这样的经验模型不允许决策制定者考虑在训练系统和写入专家规则时不存在或未被考虑的数据。此外,经验模型可能需要大量的硬件资源来训练。实际上,典型地由新数据触发对决策的需求。并且典型地必须快速采用决策。因此进一步限制可用资源的数量和可以使用这些系统的情况的数量。

第三类别包括可理解的模型、表示以及交互界面,通过以使得可以由决策制定者或其助手对其进行管理的形式表示相关信息来帮助做出决策。例如,商业智能工具提供用于选择变量并可视化其交互的模块,例如,借助于散点图。分析人员挑选相关的可视化结果、生成静态报告并将其发送给决策制定者。

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

当可以以图表形式来表示输入数据时,存在以这样的方式将图表映射到2维绘图中的技术:2d图上的两个实体之间的距离表示它们在图表中的连接性。这些技术使得能够定性地表示对情况进行描述的元素之间的交互的程度。这些技术还可以应用于在2d图上对复杂观测进行映射,以使得相似的观测(在n维中接近,其中维度是描述观测的变量)在2图上最终彼此接近,例如,如在balasubramanian,mukund,andericl.schwartz.″theisomapalgorithmandtopologicalstability.″science295.5552(2002):7-7中所讨论的。

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

在wall,michaele.,andreasrechtsteiner,andluism.rocha.″singularvaluedecompositionandprincipalcomponentanalysis.″apracticalapproachtomicroarraydataanalysis.springerus,2003.91-109中讨论了降维技术,并且该降维技术使得能够发现数据沿其最大程度变化的维度或维度的组合。

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

然而,“白盒模型”遭受若干缺点。值得注意的是,这些系统仍然不提供完全自动操作的决策,并且因此允许由于人为错误(例如,遗漏了重要因素或不准确地估计了所考虑的因素的实际影响)的次优决策。

另一个问题在于该第三类别需要大量的硬件资源来训练。实际上,典型地由新数据触发对决策的需求。并且典型地必须快速采用决策。因此进一步限制可用资源的数量和可以使用这些系统的情况的数量。

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

第一个性能问题与存储器占用问题有关。相关参数的数量典型地大,以描述涉及复杂系统的情况。因此,使用模型的输入变量整体地对情况进行描述将导致输入变量激增,这将使得在事件的过程期间对模型进行训练不现实。

随着变量的激增,训练数据中所必需的观测的数量也激增。简而言之,训练数据中的观测必须表示为了使所训练的模型正确执行而可以实际出现的变量的所有可能的组合。

大多数可用的机器学习方法是通过假定训练数据适合随机存取存储器而设计的。随机存取存储器的可用大小典型地对可以被考虑用于描述情况的参数加以限制。

第二个性能问题是可缩放性的问题。一些精确的机器学习算法无法很好地缩放。例如,使用提升技术就是这种情况。对于召回和精度来说,提升技术当前属于最强大的机器学习技术,但提升技术在本质上是有顺序的。这表示它们不能分布在多个服务器上。一个服务器将忙于运行计算,而其它的服务器将保持空闲。运行顺序算法的时间将不会随着服务器数量的增加而减少。

当在事件的过程期间对模型进行重新训练时,相同的存储器占用和可缩放性问题适用。

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

在这样的背景下,仍然需要一种用于在事件过程中对模型结果进行检索的改进的方法。



技术实现要素:

因此,提供了一种用于在事件过程中对模型结果进行检索的计算机实现的方法。该方法包括:

-提供相似事件的观测的第一集合的变量;

-提供多个模型;

-使用观测的第一集合的变量对多个模型进行索引;

-根据一个或多个变量对模型进行查询;

-作为查询的结果,返回模型。

该方法可以包括以下操作中的一个或多个:

-基于观测的第一集合的变量对多个模型进行训练;使用用于训练每个模型的变量对多个模型进行索引;

-训练多个模型还包括:通过对观测的第一集合的变量应用过滤来计算第一集合的观测的子集;关于第一集合的观测的子集中的一个子集对多个模型中的每个模型进行训练;以及使用用于训练所述每个模型的观测的变量的值来对多个模型中的每个模型进行索引。

-确定两个或更多个模型被返回;以及对所返回的两个或更多个模型进行排序,排序基于所返回的两个或更多个模型的变量;

-通过基于模型的变量的值与查询中相应的一个或多个变量的值之间的接近度度量针对每个返回的模型计算距离,来对所返回的两个或更多个模型进行排序;

-构建观测的第一集合还包括根据仿真生成至少一个观测的结果;

-随机生成第一集合的至少一个观测;

-收集表示与第一集合的事件相似的事件的观测的第二集合,第二集合的观测至少包括与第一集合相同的变量;并且其中根据观测的第二集合中的一个或多个变量来执行对模型的查询;

-提供一个或多个观测,所提供的一个或多个观测的每个变量设定有值;针对一个或多个观测中的每一个观测计算结果,通过对设定有所提供的一个或多个观测的值的变量应用所返回的模型来执行该计算;

-提供至少两个观测,并且该方法还包括对针对所提供的一个或多个观测而计算的结果进行排序;以及选择与具有最高排序的结果相关联的所提供的至少两个观测中的一个观测;

-该模型是仿真模型或机器学习模型;

-用于对模型进行查询的一个或多个变量是缓慢移动的变量;

-使用随机变量生成器来生成观测的第一集合的一个或多个变量;

-通过选择在变量的定义范围内的离散值来生成观测的第一集合的一个或多个变量;

-如果所返回的模型的响应是数值,则通过对所返回的模型的单独响应取平均来计算针对所提供的一个或多个观测而计算的结果;

-通过取响应于所返回的模型最频繁发现的值来计算针对所提供的一个或多个观测而计算的结果;

-在通过对观测的第一集合的变量应用过滤来计算第一集合的观测的子集时,子集的观测属于观测的共同聚类;

-所返回的模型具有在模型的元数据与在查询中所指定的值之间的准确匹配;

-由与第二集合的观测的离散变量匹配的离散变量来近似在查询中输入的变量的值;

-查询允许基于模型的元数据与在查询中所指定的变量的值之间的近似匹配来对模型进行检索;

-对多个模型进行索引还包括,针对多个模型中的每个模型,在多个模型中的所述每个模型的元数据中增加用于训练所述每个模型的所有观测的值;

-对模型进行索引还包括,将用于训练模型的观测的函数(例如,其质心的坐标)增加到要被索引的模型的元数据。

还提供了一种计算机程序,该计算机程序包括用于执行以上方法的指令。

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

还提供了一种系统,该系统包括耦合到存储器的处理器,该存储器上记录有计算机程序。

服务器可以与客户端计算机连接,在客户端计算机上生成关于索引的查询。

附图说明

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

-图1示出了对模型进行训练的示例的流程图;

-图2示出了观测的集合的示例;

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

具体实施方式

参考图1的流程图,提出了一种用于在事件过程中对模型结果进行检索的计算机实现的方法。该方法包括提供相似事件的观测的第一集合的变量。该方法还包括提供多个模型。该方法还包括使用观测的第一集合的变量来对多个模型进行索引。该方法还包括根据一个或多个变量来对模型进行查询。所查询的模型是所提供的模型中的一个模型。另外,该方法包括作为查询的结果而返回模型。

这样的方法改进了在事件过程中对模型结果进行检索的方式。实际上,执行预处理任务以使得在事件期间剩余计算易于处理。这通过以下操作来执行:将在事件发生时的处理时间和存储器占用转变为事件发生之前的较长(但是较便宜且较不重要)的处理时间、额外的(但是便宜的)存储需求)、对存储器的较低占用。通过存储预计算的分析的结果并且随后在事件期间对它们进行查询来使得该转变成为可能。分析在于使用数据对模型进行预训练,并且结果是已预训练的模型。已预训练的模型与条件相关联,其中已预训练的模型是相关的(相关性条件是已预训练的模型的元数据)。基于这些条件的查询允许在事件的过程期间检索适当的模型以立即用于做出预测。

当训练单个模型时,模型必须适用于该模型将被使用的事件的每个可能的展开。当如本发明中的情况那样准备多个模型时,每个模型可以对应于关于事件展开的具体假设。这些假设将典型地转化为描述事件的变量的具体值。这使得能够减少训练每个模型所需要的观测的数量。在使用单个模型的情况下,表示关于事件的可能展开的所有假设的所有观测都应当被保留在训练数据中。如本发明中的情况,在准备了多个模型的情况下,仅应当保留对应于与对应于每个模型的具体假设相一致的事件的观测来对模型进行训练,该具体假设与每个模型相对应。这些观测共享关于变量的与描述相应假设的值相同或相似的值。由于训练数据基本上对在训练模型期间的随机存取存储器的占用负责,因此准备与具体假设相对应的多个模型使得能够显著地减少用于训练每个模型的存储器占用。因此本发明解决了存储器占用问题。

通过上面那样做,生成用于训练的许多较小的模型,而不是一个大模型。如果使用顺序的(不可并行的)算法来训练选择模型,则以此方式将其分解使得能够运行利用许多处理器的多个较小的计算,而不是运行仅占用一个处理器而使其它处理器空闲的一个大的计算。因此本发明解决了可缩放性问题。大型并行服务器或集群是如今最常见的超级计算基础架构。

基于最可能的(或大多数游戏改变)假设来预训练多个模型允许在游戏期间使用假设结果为真的一个模型来更新模型。这允许在事件的过程期间基于在游戏期间出现的新数据而改变正被使用的模型的行为,并且这不需要对模型进行重新训练,仅通过切换正被使用的模型。因此,本发明解决了关联到在事件的过程期间对模型进行训练的延迟问题。与通过输入与新一轮事件相对应的值来改变模型的行为相比,对模型进行切换允许使用特别设计以处理新一轮事件的模型,因为该模型是针对该新一轮事件特别准备(并训练)的。

这种方法也适用于增量和在线学习算法。如果选定了增量或在线学习算法,则本发明允许针对事件的具体展开而准备多个这样的增量或在线算法。一旦选择了增量或在线算法,就有可能随着事件展开而连续地对它进行训练。甚至有可能在事件的过程期间对可用于未来选择的所选择的、或所有在线的、或增量的算法进行连续地训练,即使它们当前未被选择用于进行预测。那些稍后被选择的算法将受益于这种连续的训练。

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

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

“数据库”表示被组织以用于搜索和检索的数据(即信息)的任何集合(例如关系数据库,例如基于预确定的结构化语言,例如sql)。当存储在存储器上时,数据库允许由计算机进行快速搜索和检索。数据库实际上被构造为结合各种数据处理操作来促进对数据进行存储、检索、修改以及删除。数据库可以由可以被分解为记录的文件或文件的集合组成,记录中的每一个由一个或多个字段组成。字段是数据存储的基本单位。用户可以主要通过查询来检索数据。使用关键字和排序命令,用户可以对许多记录中的字段进行快速搜索、重新排列、分组以及选择,以根据正被使用的数据库管理系统的规则来检索或创建关于特定的数据集合的报告。

该方法一般对观测的集合进行操作。观测是变量的集合,其中每个变量与值相关联。变量表示系统或系统的一部分的状态,或者与系统或系统的一部分相关或对系统或系统的一部分有影响的元件的状态。例如,汽车的观测的变量可以是汽车的温度、油压、瞬时燃料消耗、比赛期间的平均燃料消耗、轮胎的种类、空气的温度、天气(雨、晴、雪)……变量与量化变量的状态的值相关联。观测表示在给定时间点时系统的状态。因此,观测的集合是在不同时间点时变量的值。实际上,该系统可以属于各种且无限制的工业领域,包括:航空航天、建筑、建造、消费品、高科技设备、工业设备、运输、海洋和/或海上石油/天然气生产或运输。因此,该方法所使用的观测的集合可以包括与工业系统有关的变量,工业系统可以是任何机械系统,例如,地面交通工具的系统或其一部分(例如,包括汽车和轻型卡车设备、赛车、摩托车、卡车和汽车设备、卡车和公共汽车、火车);空中交通工具的系统或其一部分(例如,包括机身设备、航空航天设备、推进设备、国防产品、航空设备、空间设备);海军交通工具的系统或其一部分(例如,包括海军设备、商业船舶、海上设备、游艇和工作船只、航海设备);通用机械系统或机械系统的一部分(例如,包括工业制造机械、重型移动机械或设备、安装设备、工业设备产品、金属制品、轮胎制品);机电或电子系统或其一部分(例如,包括消费电子产品,安全和/或控制和/或仪器产品、计算和通信设备、半导体、医疗装置和设备);消费品(例如,包括家具、家庭和园艺产品、休闲用品、时尚产品、耐用品零售商的产品、非耐用品零售商的产品);包装(例如,包括食品和饮料和烟草、美容和个人护理、家用产品包装)。

图2示出了观测的示例。每行12表示观测,每列14(为了清楚起见,在图2中仅用虚线表示出了一列)对应于变量,并且每个矩形18表示观测的变量的值。在该示例中,观测的集合存储在矩阵10上。每个观测用其关于所谓的“描述变量”,也被称为“输入变量”的值来描述(因为它们作为已训练的模型的输入被提供以描述观测)。有趣的是,集合中的每个观测包括与集合中的其它观测相同的变量。应当理解,对于每个观测来说,一个或多个变量可以为空,即不与值相关联。每个观测与关于所谓“目标变量”(也被称为“输出变量”)的相应值相关联。目标变量是已训练的模型必须针对新的观测而进行评估的变量。对于模型的用户,目标变量在以下含义上来说是有意义的:目标变量提供信息,该信息帮助模型的用户理解和/或预测系统的行为和/或对系统的行为做出反应。在该示例中,目标变量也存储在矩阵16中。应当理解,每个观测的值和目标变量可以存储在包括矩阵10和16的单个矩阵中。观测和目标变量形成(并且被称为)标签数据的集合。应当理解,每个目标变量都伴随着所谓目标值的值。

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

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

计算机程序可以包括可以由计算机执行的指令,该指令包括用于使得上文中的系统执行该方法的模块。可以将程序记录在任何数据存储介质上,包括系统的存储器。例如,可以以数字电子电路,或者以计算机硬件、固件、软件,或者以它们的组合来实现程序。程序可被实现为装置,例如有形地体现在用于由可编程处理器执行的机器可读存储设备中的产品。方法步骤可以由执行指令的程序的可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行该方法的功能。因此,处理器是可编程且耦合的,以从数据存储系统的至少一个输入设备接收数据和指令,并且向数据存储系统的至少一个输出设备传送数据和指令。可以以高级过程语言或面向对象的编程语言来实现应用程序,或者如果期望的话则以汇编语言或机器语言来实现应用程序。在任何情况下,语言都可以是编译语言或解释语言。程序可以是完全安装程序或更新程序。在任何情况下对系统应用程序都会产生用于执行该方法的指令。

现在参考图1来讨论本发明的示例。

在步骤s10处,本领域的技术人员识别相似事件的观测的集合的变量。相似事件表示事件具有共同的特性。实际上,每个观测与一个或多个变量相关联。事件之间的共同特性可以是变量。因此,并且参考图2,观测的集合中的每个观测描述与相同变量相同的事件,只是两个观测之间的变量可能具有不同的值。

观测的集合可以是自然的观测的集合(s104)。自然表示已经关于现实事件对变量的值进行了测量,现实事件也就是说在现实世界中发生的事件,例如,航天飞机的发动机的温度。因此收集到观测和每个这样的观测的变量。

观测的集合可以是合成的观测的集合(s102)。合成表示已经对变量的值进行了计算。例如,它们已经被生成。存在多个用于生成合成变量的方法。在下文中我们描述两种方法。

两种方法都从识别观测的集合的变量所能取的值的范围开始。一些变量仅可以取离散值。这样的变量是离散变量。其它的变量可以取连续值。这样的变量是连续变量。

两种方法都涉及生成关于观测的每个变量的值,并对这些值进行组合以形成合成观测。例如,如果变量a取值[1,2,3]而变量b取值[1,2],则组合是(1,1)、(1,2)、(2,1)、(2,2)、(3,1)、(3,2)。也就是说|a|*|b|组合。在该示例中,可以创建六个新的观测,每个观测都由其关于变量a和b的值来定义,并与a和b的可能值的六个组合相对应。

两种方法都可以涉及针对每个观测生成目标值。目标值是关联到观测的目标变量的值。典型地当给定输入中的观测的变量时由仿真模型来生成目标值。目标变量是当使用与其相应的目标值相关联的观测对机器学习算法进行训练时,机器学习算法所学习产生的变量。通过这种学习过程(机器学习的现有技术中所已知的),响应于与用来对该机器学习算法进行训练的那些观测相似的新的观测,机器学习算法将学习产生与用来对其进行训练的观测的目标值一致的目标值。

这两种方法的不同之处在于用于生成关于每个变量的值的方法。

第一种方法可以在于使用随机变量生成器来生成关于变量的定义的范围的值,可能在分布范围内服从均匀分布,或者根据需要服从不同的概率分布(例如,如果本领域的技术人员希望模型是针对观测特别良好地训练的,该观测针对具体变量取相似于值v的值,则本领域的技术人员可以决定针对该变量使用将有利于接近v的值的概率分布,例如以v为中心的正态分布)。

第二种方法可以在于在其可能值的范围内针对变量来枚举可能值,可能在用离散变量对该变量进行了近似之后,也就是说,对变量取离散值。可以通过使用离散变量的最接近的离散值来近似每个值来完成该近似。例如,离散值可以被定义为四舍五入到指定精度等级的值。实际上,表示物理事件的变量只在有边界的定义范围内取值:存在下边界和上边界。典型地可以通过查看过去的数据来找到这些边界。离散变量将在有边界的定义范围内取有限数量的值。这使得有可能枚举离散近似的所有可能的值,如果这是人本领域的技术人员想要实现的。

观测的集合可以是自然观测和合成观测的混合。例如,如果自然观测的数量太少并且因此不足以表示事件,则可以使用合成观测来完成观测的集合,从而观测的集合统计地表示可能的观测的集合(将针对其使用模型)。

然后,在步骤s20处,基于在步骤s104处所收集的观测或在步骤s102处所生成的观测来训练多个模型。

可以针对观测的子集来训练每个模型。子集可以通过过滤获得。过滤基于观测的变量的值。可以用不同的方法来选定确定过滤的值。

一种方法可以用于获得观测的一部分,每个观测用于训练一个且仅一个模型。在对模型进行检索的本发明的稍后的步骤中检索单个模型的情况下,该方法可能是相关的。该方法的特定情况可以是将观测分组为聚类,其中观测在聚类内尽可能彼此接近,并且尽可能远离其它聚类的观测(关于任意定义的距离,根据用户的需求)。例如,在该方法的背景下现有技术中已知的聚类技术可以用于指定用于过滤的值。该方法可以有利于关于结果的质量使得系统的资源的消耗最小化。

不同的方法可以是使得观测的集合重叠以便训练对于每个新观测来说冗余的模型。在这样的情况下该方法可能相关:在对模型进行检索的本发明的稍后的步骤中检索多个模型,并且通过对由多个模型所产生的结果取平均(或在其之间进行投票)来计算新观测的结果。例如,每次过滤可以通过接受其关于指定变量的值低于或高于变量的中值的观测而接受一半的观测。关于系统的资源消耗,该方法可以有利于使得结果的质量最小化。

作为步骤s20的结果,步骤s102和/或s104中被存储并表示为矩阵的观测的集合已经产生若干较小的矩阵。如果所有的观测都已经被包括,如果所有的观测都已经用于指定用于对模型进行训练的集合中(这是在两种过滤方法中所描述的情况),则可能不存在来自原始矩阵的信息的丢失。有趣的是,当用于对机器学习模型进行训练时,该集合的每个矩阵都具有较小的存储器占用(因为它较小)。此外,可以对该矩阵的集合并行进行随后的独立计算操作(例如,使用每个矩阵来对模型进行训练)。

接下来,在步骤s30处,对多个模型进行索引。以模型的元数据的形式来对用于训练每个模型的观测的变量进行索引。这表示模型是能够基于用于训练模型的观测的变量的值来搜索的。在已索引的模型的元数据中所列出的值的选择方面存在多种方法。

一种方法在于在模型的元数据中包括用于训练模型的所有观测的所有变量的值,从而每个变量作为索引中的模型的属性被引用,并且关于与用于训练模型的观测相对应的该变量的每个值被列在该属性的值中。这样的索引结构将典型地允许使用与在查询中所指定的值相同或相似的值来检索使用最大数量的观测而训练的模型。由于索引中使用的反向列表结构,这种索引所需要的存储空间将仅随着观测的矩阵的大小而线性增长。

另一种方法可以用于在每个模型的元数据中增加观测的变量,每个变量与关于该变量的聚类的质心的坐标相关联,在针对基于观测属于相同的聚类的事实而过滤的观测对模型进行训练的情况下该方法是特别相关的。指定若干变量的查询将导致对针对观测的聚类而训练的模型进行检索,该观测的聚类的质心关于指定的变量具有相同或相似的值。

为了支持基于变量的确切值的搜索,模型的索引包含对(模型id,模型)的列表和针对该变量的反向列表。

与变量相对应的反向列表是对(value,[模型id1,...,模型idn])的列表,其中[模型id1,...,模型idn]是已训练的模型id的列表,已训练的模型id与训练集的特征在于关于变量的值value的模型相对应(例如,这可以表示取决于方法,其质心具有关于变量的坐标值,或者其观测中的一个观测具有关于变量的值value,或者其它)。此结构使得在指定变量的值的查询时能够更快地对模型进行检索。实际上,对反向列表进行排序,因此与查看所有模型并检查其相应的相关联的值相比,在已排序的反向列表中找到指定值更快。

为了支持在具有反向列表的索引中搜索相似值,一种方法是在将值增加到反向列表之前对值进行离散化,并搜索在查询中指定的值的距离内的所有离散值。在这种情况下,对值进行离散化表示以小于该距离的精度等级使用四舍五入后的值对它们进行近似。

步骤s10至s30形成本发明的构建时间。构建时间也被称为预处理任务。在上文中讨论了预处理任务。

现在讨论步骤s40至s80,并且步骤s40至s80形成本发明的运行时间。

在步骤s40处,收集与一个或多个观测的第二集合有关的数据。观测的第二集合表示与步骤s10的观测中所存储的事件相似的事件。第二集合的观测至少包括与步骤s10的观测集合相同的变量。为了进行解释,相似的事件表示事件具有共同的特性。实际上,所收集的数据是相似事件的观测,每个观测与一个或多个变量相关联。事件之间的共同特性可以是变量。因此,观测的第二集合中的每个观测都描述与相同变量相似的事件,只是两个观测之间的变量可能具有不同的值。

以与步骤s10的观测的集合相同的方式来执行数据的收集;然而,仅对该值进行测量,也就是说,观测的第二集合仅包括已经关于现实事件进行了测量的变量的值。优选地将已测量的变量的已测量的值实时地发送到执行该方法的系统。这可以借助于经由任何通讯信道以及订阅或消息传递协议来订阅来自数据提供方或传感器的实时推送通知来完成。应当理解,信道典型地取决于数据提供方或传感器所提供的接口。这里,术语实时表示传送所收集的数据的时间是预确定的时间段;传送所需要的时间不应当超过预确定的时间段。

观测的集合可以包括关于过去的相似事件的观测,而观测的第二集合包括关于当前相似事件的观测。

然后,在步骤s50处,对被索引的至少一个已训练的模型进行查询。根据在步骤s40处收集的一个或多个变量来执行查询。

查询中包括的变量是典型地缓慢移动的变量,即在连续观测中值缓慢变化的变量。对于针对观测模型适用于对结果进行估计的所有观测来说,模型都应当是相关的。如果针对相似的观测对模型进行训练,则该模型是适当的。如果最近的观测关于一些变量共享相似的值,则选择针对关于相同的变量也共享相似的值的观测而训练的模型是个好主意。例如,如果每10分钟改变(查询)正被使用的模型并且每秒收集事件,则已经在600个过去收集的事件上示出相对稳定的值的变量是将被包括在针对下一个模型的查询中的好的候选。

作为查询的结果,返回至少一个已训练的模型。然而,可能多于一个模型与请求匹配,并且因此可能返回两个或更多个已训练的模型。因此,在步骤s60处,确定是否多于一个已训练的模型匹配查询。

在下面将讨论的步骤s90处,在仅返回一个已训练的模型的情况下,已训练的模型用于生成结果。在返回两个或更多个已训练的模型的情况下,确定如何根据多个模型生成结果。

可以如下执行对要保留的已训练的模型的选择。,存在至少两种响应于查询而选择模型的方法。在第一种方法中,仅选择一个模型。基于其元数据中的变量的值与查询(典型地,查询表示当前事件)中的相应的变量的值之间的接近度度量,所挑选的模型具有最高排序(s70)。

在第二种方法中,选择多个模型。在该方法中,也可以基于其元数据中的变量的值与查询(典型地,查询表示当前事件)中的相应的变量的值之间的接近度度量来选择模型。例如,基于上文所描述的接近度测量选择n个最高排序的模型。替代地,例如,选择与查询的接近度的测量低于或高于某一阈值的模型。

然后,在步骤s80处,将一个或多个观测输入到选择的模型中。每个观测包括具有值的至少一个输入变量。实际上,观测的输入变量(一个或多个)是所收集的观测的第二集合的所选择的变量的观测值。

接下来,在步骤s90处,针对输入到模型的观测对结果进行计算。每个所选择的模型都返回输出,也被称为目标值。目标值典型地用于对观测进行评定。例如,目标值可以是对给定观测的未来事件的预测,或者是观测的分类,以将所输入的观测与其它观测区分开。目标值可以是描述观测的度量。

如果在步骤s60-s70处仅选择一个模型,观测的结果是其输出响应于接收输入中的观测的函数。典型地,观测的结果是响应于接收输入中的观测的模型的输出。

如果在步骤s60处选择了多个模型,观测的结果是模型的输出响应于接收输入中的观测的函数。例如,如果每个模型的输出是一类(如果模型提供观测的分类),则结果可以是在所选择的模型的输出中表示最多的类,即结果是模型投票的结果。可以通过在步骤s60处所计算的模型与查询之间的相似性度量的函数对每个投票进行加权,以使得越相关的模型对投票贡献越多。如果每个模型的输出是数值,则结果可以是所输出的模型的度量的平均值。相似地,可以通过如步骤s60中所计算的模型的相应的相关性对平均值进行加权。

现在讨论本发明的示例,其帮助任务控制小组和机上小组在操作用于卫星发射的轨道器期间做出决策。

在这些操作中真实的是,根据自动操作的程序和计划的程序来进行大多数行动:准则和已计划的事件的集合在飞行数据文件中。飞行数据文件包括机组活动计划、有效载荷手册以及在精密的飞行计划过程期间合并在一起的其它文件。出于预见每种类型的问题的目的,提前对问题的类型进行分割并对行动进行计划。

然而,任务控制小组和机上小组仍然需要随时做出决策。例如,nasa声明:在所有中止模式中,在可能时中止轨道是优选模式,并且一个原因是这样做会给予控制器和飞行机组对情况进行评定、并决定着陆或如计划地继续、以及如何解决这个问题的时间。然而,这个时间是昂贵的,因为任务被搁置、资源正被消耗、并且问题可能正在加剧。当中止轨道不可能时,决策的速度和质量甚至更重要。

可以针对航天飞机测量若干变量:每个发动机的发动机节流阀、每个发动机的燃料等级、客舱压力(如果是减压的问题)、轨道器冷却系统的状态(如果损失一个的问题)、高度、飞行路径角度、航向、重量、速度/范围、运载工具表面上的压力、电气系统状态、当前程序(倒计时/第一阶段/第二阶段/返回到发射区/跨大西洋中止着陆/重返调整/中止轨道/应急中止/舱外活动)等等。仍然在该示例中,可操作的变量包括:每个发动机系统的发动机节流阀、燃料水平(燃料可以被倾倒)、重量(材料可以被倾倒)、操纵的选择(改变高度、姿态、飞行角度、航向等)、程序的选择以及轨道的选择。

在这种情况下,本发明可以应用于对事件的估计结果进行检索,例如,估计将卫星放置在正确轨道上、当返回地球时无风险地着陆、最小化任务的总成本(例如,通过最小化对材料的损坏,并且最小化容易导致机组成员受伤或伤亡的机舱内部的事故)的机会。生成或收集若干观测,并且使用这些观测的子集对若干机器学习算法进行训练并对其进行索引。上面列出的所有变量形成机器学习算法的输入变量,并且机器学习算法的输出对观测的结果进行估计。

索引中的每个模型对应于完全由上面定义的变量及其值描述的情况。为了根据索引对模型进行查询,将这些变量及其值增加到关联到相应的模型的元数据。例如,使用其元数据中的这些属性对适用于以下情况的模型进行索引:在飞行8分钟之后冷却系统的组件发生故障,此时高度为60英里并且飞行速度为16697mph。这允许根据情况查询正确的模型。再次说明,所索引的模型可以是仿真模型或机器学习模型。关于通过仿真而评估的选项对机器学习模型进行训练并对机器学习模型进行索引而不是对仿真模型进行索引的优点在于,与完全仿真相比机器学习模型一般将更快地执行(以评定可能的选项)。对机器学习模型进行预计算和索引的优点在于,不一定必须在行动的过程中对模型进行训练(因此节省了时间)。

例如,在多个中止模式是可能的情况下,这可以用于回答诸如“对于中止轨道模式来说优选轨道是哪条?”或者“优选的中止模式是哪种?”的问题。

例如,被训练为评定中止模式的模型将接受指定中止模式(在一个变量中)和在该中止模式被选择的背景(在其它变量中)的输入观测。背景使得中止模式相关或不相关,并且当接收输入中的相应的观测时,通过模型的结果来评定每个中止模式在其相应的背景中的相关性。响应于对指定当前情况(飞行阶段、高度、速度等,所有这些变量都在索引的元数据中以允许查询)的索引的自动操作的查询,将选择产生该结果的最相关的模型,并且将关于表示其共同背景中的中止模式的多个选择的观测来执行,以对模型的结果进行估计。

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