CN115943379A - 自动化机器学习:统一的、可定制的和可扩展的系统 - Google Patents
自动化机器学习:统一的、可定制的和可扩展的系统 Download PDFInfo
- Publication number
- CN115943379A CN115943379A CN202080102396.4A CN202080102396A CN115943379A CN 115943379 A CN115943379 A CN 115943379A CN 202080102396 A CN202080102396 A CN 202080102396A CN 115943379 A CN115943379 A CN 115943379A
- Authority
- CN
- China
- Prior art keywords
- solution
- machine learning
- metadata
- specified
- candidate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 103
- 238000000034 method Methods 0.000 claims description 72
- 230000008569 process Effects 0.000 claims description 40
- 238000005457 optimization Methods 0.000 claims description 37
- 238000011156 evaluation Methods 0.000 claims description 21
- 238000007670 refining Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 238000001914 filtration Methods 0.000 claims description 11
- 238000012805 post-processing Methods 0.000 claims description 9
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 238000003786 synthesis reaction Methods 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 description 19
- 238000013461 design Methods 0.000 description 9
- 238000007781 pre-processing Methods 0.000 description 9
- 238000003860 storage Methods 0.000 description 9
- 238000000605 extraction Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000013480 data collection Methods 0.000 description 7
- 230000015654 memory Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000007637 random forest analysis Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000003245 coal Substances 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000000137 annealing Methods 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0985—Hyperparameter optimisation; Meta-learning; Learning-to-learn
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/027—Frames
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本文描述的示例实现方式涉及在自动机器学习(AutoML)库上生成的新颖的AutoML构架,以便促进通过解决方案配置文件在同一个构架内结合多个机器学习模型库的功能性。示例实现方式还涉及识别要应用于由解决方案配置文件指定的数据集的机器学习模型的候选解决方案和参数的解决方案生成器。
Description
技术领域
本公开涉及自动化机器学习,更具体地涉及在自动化机器学习构架上提供统一、可定制且可扩展的系统。
背景技术
自动机器学习(AutoML)是一种系统或构架,其可以通过应用数据和特征预处理步骤、选择模型算法和调整超参数,为用户提供的数据自动建立(多个)模型,以实现用户提供的最佳评估指标。
AutoML被设计为使机器学习(ML)管道中的最大步骤数量自动化,这在不损害模型性能的情况下使所需的人力最小化。已经设计并实现了几个开源和商用的AutoML包。每个包都有其自己的优点和缺点。
发明内容
相关技术的AutoML库具有局限性和限制。例如,相关技术的AutoML库仅支持一个底层机器学习库,但是每个机器库使用不同的应用程序编程接口(API)。对于数据科学家,难以学习和使用所有API。真实世界的任务可能需要使用多个机器库,这些机器库需要大量的开发时间来学习和有效使用。需要一个统一且可扩展的构架来支持多个机器库,这些机器库可以利用最先进的机器学习和数据分析方法轻松地扩展。
此外,相关技术的AutoML库以预定顺序详尽地尝试一组固定的模型算法,直到期限期满。由于有期限,可能永远无法应用最佳算法和参数设置。因此,需要一种可定制的构架来调节和调整用于不同任务的默认建模配置。
此外,相关技术的AutoML库将每个任务作为新任务进行处理,因此它不使用从先前的问题、数据和模型中学习到的知识。它忽略了问题和数据的细节和特性;它还忽略了建立模型时模型算法的特点、优点和缺点。因此,需要一种利用现有的数据、问题和解决方案来提高效率以为新问题和数据产生最佳模型的解决方案。
本公开的各方面涉及一种方法,其包括:生成自动机器学习(AutoML)构架,该自动机器学习构架被配置为:输入与在解决方案配置文件中指定的多个机器学习模型相对应的多个机器学习库;从由解决方案配置文件指定的数据集中提取元数据;通过将所提取的元数据与历史元数据进行关联,从在解决方案配置文件中指定的多个机器学习模型生成用于数据集的候选解决方案;基于历史元数据细化候选解决方案;通过对多个机器学习模型的参数进行选择来优化候选解决方案;以及基于在解决方案配置文件中指定的评估参数来评估来自多个机器学习模型的候选解决方案。
本公开的各方面可以涉及存储指令的计算机程序,所述指令包括:生成自动机器学习(AutoML)构架,该自动机器学习构架被配置为输入与在解决方案配置文件中指定的多个机器学习模型相对应的多个机器学习库;从由解决方案配置文件指定的数据集中提取元数据;通过将所提取的元数据与历史元数据进行关联,从在解决方案配置文件中指定的多个机器学习模型生成用于数据集的候选解决方案;基于历史元数据细化候选解决方案;通过对多个机器学习模型的参数进行选择来优化候选解决方案;以及基于在解决方案配置文件中指定的评估参数来评估来自多个机器学习模型的候选解决方案。
本公开的各方面可以涉及一种系统,其包括:用于生成自动机器学习(AutoML)构架的装置,该自动机器学习构架被配置为输入与在解决方案配置文件中指定的多个机器学习模型相对应的多个机器学习库;用于从由解决方案配置文件指定的数据集中提取元数据的装置;用于通过将所提取的元数据与历史元数据进行关联来从在解决方案配置文件中指定的多个机器学习模型生成用于数据集的候选解决方案的装置;用于基于历史元数据细化候选解决方案的装置;用于通过对多个机器学习模型的参数进行选择来优化候选解决方案的装置;以及用于基于在解决方案配置文件中指定的评估参数来评估来自多个机器学习模型的候选解决方案的装置。
本公开的各方面可以涉及一种设备,其可以包括处理器,该处理器被配置为:生成自动机器学习(AutoML)构架,该自动机器学习构架被配置为输入与在解决方案配置文件中指定的多个机器学习模型相对应的多个机器学习库;从由解决方案配置文件指定的数据集中提取元数据;通过将所提取的元数据与历史元数据进行关联,从在解决方案配置文件中指定的多个机器学习模型生成用于数据集的候选解决方案;基于历史元数据细化候选解决方案;通过对多个机器学习模型的参数进行选择来优化候选解决方案;以及基于在解决方案配置文件中指定的评估参数来评估来自多个机器学习模型的候选解决方案。
附图说明
图1示出了根据示例实现方式的示例AutoML系统。
图2(a)示出了根据示例实现方式的示例解决方案生成器。
图2(b)示出了根据示例实现方式的示例解决方案配置文件。
图2(c)示出了根据示例实现方式的解决方案生成器的示例流程图。
图3示出了根据示例实现方式的数据收集模块的示例。
图4示出了根据示例实现方式的解决方案初始化模块的示例。
图5(a)示出了根据示例实现方式的解决方案选择模块的示例。
图5(b)示出了根据示例实现方式的递归协作过滤的示例流程。
图5(c)示出了根据示例实现方式的用于聚类的示例流程。
图5(d)示出了根据示例实现方式的用于向数据集和解决方案类别提供性能得分的示例数据表。
图6示出了根据示例实现方式的示例超参数优化模块。
图7示出了根据示例实现方式的模型后处理模块的示例。
图8示出了具有适合于在一些示例实现方式中使用的示例计算装置的示例计算环境。
具体实施方式
以下详细描述提供了本申请的附图和示例实现方式的细节。为了清楚起见,省略了附图之间的冗余元件的附图标记和描述。在整个说明书中使用的术语是作为示例提供的,而不旨在是限制性的。例如,术语“自动”的使用可以涉及包括用户或管理员对实现方式的某些方面的控制的全自动或半自动实现方式,这取决于实践本申请的实现方式的本领域普通技术人员期望的实现方式。选择可以由用户通过用户接口或其他输入装置进行,或者可以通过期望的算法来实现。本文所描述的示例实现方式可单独地或组合地使用,并且示例实现方式的功能性可以根据期望的实现方式通过任何装置来实现。
图1示出了根据示例实现方式的示例AutoML系统100。如图1所示,AutoML系统100包括两个组件,即AutoML构架101和解决方案生成器102。
在图1的示例中,AutoML构架101是统一的、高度可定制的和高度可扩展的AutoML构架101,其为各种底层机器学习库提供了统一且易于使用的接口,容易使用最先进的机器学习和数据分析方法进行扩展,并且可以定制以满足对不同数据科学任务的需要。因此,AutoML构架101被配置为输入一组机器学习库。即使库由不同的开发者独立地开发,AutoML构架101也支持多个库。
解决方案生成器102的功能类似于处理器或管道,该处理器或管道可以利用现有解决方案来优化新问题和数据的解决方案。在图2(a)中提供了进一步的细节。
因此,所提出的AutoML构架101可以补救相关技术的AutoML库中的缺陷,该AutoML库是静态的,具有固定的预定机器学习库,只能从该固定的预定机器学习库加载单个机器学习库。通过所提出的AutoML构架101和本文提出的解决方案配置文件,可以将多个机器学习库结合到构架和解决方案配置文件中的选择的模型中,并且可以根据期望的实现方式通过解决方案配置文件定制构架。
图2(a)示出了根据示例实现方式的示例解决方案生成器。解决方案生成器是使用现有解决方案来优化新解决方案的过程,该过程基于现有解决方案高效且有效地为新数据集初始化解决方案,利用创新方法优化解决方案搜索空间和搜索顺序,利用最先进方法使解决方案选择和超参数优化自动化,并且提供了新的组件和特征:数据准备(重采样、合成、分割);结果可解释性和可说明性;误差分析;自动特征提取和构造;模型生命周期管理等等。
如图2(a)所示,数据收集200可以包括对数据的收集、合成和清理功能。从数据收集所收集的数据被结合到各种模块中,这些模型包括解决方案初始化模块210、解决方案选择模块220、超参数优化模块230和后处理器模块240。
数据收集200吸入用于要通过解决方案解决的新问题的数据集,对该数据集进行诸如数据清理、数据预处理等过程。数据集是需要分析和建立模型的数据,该数据包括但不限于:伴随问题产生的数据(例如,由传感器收集的数据)、在公共域中找到的数据(例如,来自互联网)以及从第三方购买的数据等。数据集通常与问题一起提供。如果所提供的数据集不足以基于对问题和数据的理解来建立解决方案,则从问题和数据提供者和/或公共域请求新数据。并且,如果没有可用的新数据,则可以基于当前可用的数据来合成新数据。然后,将数据收集200提供给解决方案初始化210和解决方案选择220。给定新问题和建立解决方案所需的相关联的数据集,针对新问题执行模型以确定在历史数据库中是否存在类似的问题数据集。如果存在,则示例实现方式在210处利用类似问题的解决方案来初始化新问题的解决方案,这可以在解决方案选择220中进行选择。
一旦从解决方案选择220中获得了候选选择,就通过超参数优化230对现有解决方案进行优化以适应新问题和数据,从而获得最佳解决方案。一旦超参数优化230对解决方案进行优化以适应新问题,则在后处理240中评估该解决方案,以确定经优化的解决方案是否满足预定成功标准。如果满足,则根据期望的实现方式进行附加后处理240,例如在应当改变参数时将该模型与其他模型集成整体,等等。关于图3至图7提供了每个模块的进一步细节。
在AutoML构架的示例实现方式中,存在被配置为结合多个机器库的统一、可扩展和可定制的AutoML构架。在示例实现方式中,构架将每个解决方案制定成两部分:解决方案配置文件和主程序。解决方案配置文件定义了在解决方案中需要促进的所有目标。
图2(b)示出了根据示例实现方式的示例解决方案配置文件。每个解决方案都具有用于指定解决方案的所有细节的解决方案配置文件。在本文描述的示例实现方式中,解决方案配置文件250具有用于图2(a)中的每个模块的章节,以指定关于如何执行每个模块的配置和指令。该配置可以包括用于每个模块的章节;如果每个模块需要更多的规范,则使用子章节来指定这样的细节。示例解决方案配置文件指定了关于超参数优化230的更多细节,包括使用什么数据、将如何处理特征、将使用什么模型、每个模型的模型算法、如何评估模型、模型的参数以及根据期望的实现方式的其他参数。对于一些模块(例如,模型253-3),解决方案配置文件中的规范可以包括需要调用底层机器学习库中的什么模型算法、需要向模型算法传递什么参数等等。解决方案配置文件250用于定义每个解决方案中考虑的每个问题。例如,在机械情况下,可能存在由此用整个解决方案指定的分类和回归问题,包括如何预处理数据、如何进行特征设计、选择什么模型、参数调整、后处理、评估等等。
图2(a)的解决方案模块通过解决方案配置文件进行语法分析,并根据该文件从AutoML获取要执行的库。
示例实现方式利用解决方案配置文件来定义和指定解决方案,并且使用Python反射技术来读取和语法分析解决方案配置文件。通过这样的示例实现方式,结果是各种分析库和机器学习库可以在一个解决方案中一起使用。
在示例实现方式中,主程序是每个解决方案的入口点,并且被配置为读取解决方案配置文件,遵循每个模块的定义并相应地执行模块。
解决方案配置文件具有以下关键属性。解决方案配置文件是统一的,使得可以在单个解决方案配置文件中指定机器学习方法,例如来自多个机器学习库的特征设计和模型算法。解决方案配置文件是可扩展的,使得通过向解决方案配置文件添加章节,容易利用最先进技术扩展解决方案。解决方案配置文件是可定制的。为每种解决方案类型提供了优化的通用解决方案模板,包括但不限于:分类、回归、聚类、异常检测、推荐引擎、剩余使用寿命预测。为了超参数优化目的,模板指定所有可能的特征设计技术和相关联的参数网格、模型算法和相关联的参数网格以及评估技术。如果存在解决方案初始化模块和/或解决方案选择模块,则它们可以为特定的解决方案选择特征设计和建模技术的列表,并且将模板中所选择的技术的规范相应地用于解决方案。用户可以选择使用解决方案配置模板;或者轻松定制解决方案配置模板以满足他们自己的需求。
解决方案配置文件250可以包括解决方案初始化251、解决方案选择252、超参数优化253、模型后处理254、数据253-1、特征253-2、模型253-3、特征规范253-4、模型规范253-5和模型评估253-6。解决方案初始化251可以指示新数据集的位置以及解决方案初始化模型的位置。解决方案选择252可以指示新数据集的位置以及解决方案选择模型的位置。超参数优化253可以指示用于优化候选解决方案的子章节的列表。用于超参数优化253的子章节可以是:数据253-1、特征253-2、模型253-3、特征规范253-4、模型规范253-5和模型评估253-6。数据253-1可以指示要从中提取和输入用于超参数优化253的数据的数据源或数据文件,并且可以根据期望的实现方式包括诸如标签、所涉及的特征的类型、数据分割等参数。数据253-1还可以指定输入以及输出。特征253-2指示根据期望的实现方式的用于特征提取的参数,例如启用/停用提取相关特征、基于方差阈值的特征选择等等。模型253-3指示根据期望的实现方式要应用于数据253-1的模型,例如但不限于逻辑回归、随机森林分类器、梯度提升分类器、支持矢量机分类器、神经网络分类器等等。特征规格253-4可以指示用于被结合的特征253-2的参数。模型规范253-5指示用于被结合的模型253-3的参数。评估253-6指示用于评估模型253-3的指标。
在示例实现方式中,解决方案生成器是在给定问题和数据时生成解决方案的端到端过程。如图2(a)所示,在生成器中有五个模块。
在示例实现方式中,使用解决方案生成器来生成问题的解决方案。图2(c)示出了根据示例实现方式的解决方案生成器的示例流程图。以下步骤描述了解决方案生成器的工作流。本文进一步详述了每个组件的更多细节。
在261处,如果存在历史问题的数据库和数据并且已经为数据库中的每个问题和数据建立了解决方案,则解决方案生成器基于数据库制定四元组[问题、数据、解决方案、性能得分],并使用它们来训练解决方案初始化模型和解决方案选择模型。给定新的问题和数据集,解决方案生成器执行以下动作262-273。在另一个示例实现方式中,可以单独地(例如,离线)进行模型建立,使得解决方案初始化模型和解决方案选择模型是离线建立的,并且在261处的过程由此被配置为在模型存在的情况下加载模型。
解决方案初始化模型和解决方案选择模型都依赖于存储历史问题、数据、解决方案及其性能的数据库。在我们的实现方式中,数据库具有三个表:
1.“问题”:它定义并包含关于问题的信息和元数据:
i)问题标识符:问题的唯一标识符
ii)问题描述:问题的描述
iii)问题类别:分类值:有监督的、无监督的、强化学习
iv)问题行业:问题的行业,如“石油&天然气”、“开采”等
v)问题子行业:问题的子行业,如“煤矿开采”、“矿石开采”等。
vi)数据标识符:其用于指代“数据”表中的数据。
2.“数据”:它定义并包含关于数据的信息和元数据:
i)数据标识符:数据的唯一标识符
ii)数据描述:数据的描述
iii)列数:数据中的列的数量
iv)数值列的数量:数据中的数值列的数量
v)分类列的数量:数据中的分类列的数量
vi)数据点的数量:数据中的数据点或行的数量
vii)数据大小:数据占据的存储空间
viii)数据统计
(1)数值列:每个数值列的最小值、最大值、平均值、1%分位数、25%分位数、75%分位数、90%分位数、数据偏斜度
(2)分类列:每个分类列的分类值的数量;所有分类列的分类值的数量的最小值、最大值、平均值、1%分位数、25%分位数、75%分位数、90%分位数、数据偏斜度。
3.“解决方案”:它定义并包含每个解决方案的信息和元数据:
i)解决方案标识符:解决方案的唯一标识符
ii)解决方案描述:解决方案的描述
iii)解决方案配置文件:用于生成解决方案的解决方案配置文件的内容
iv)解决方案类别:特征设计步骤和模型的有序列表。
v)解决方案参数:可以实现最佳性能的解决方案类别中的每个步骤的参数的有序列表。将步骤名称加在参数名称前头,以便区分每个步骤的参数名称。
vi)性能得分:与“解决方案类别”和“解决方案参数”相关联的性能得分。这是基于作为超参数优化的一部分预先确定的评估指标。
vii)问题标识符:其用于指代“问题”表。
viii)数据标识符:其用于指代“数据”表。
在实现方式中,解决方案被定义为“解决方案类别”和“解决方案参数”的组合,并且每个问题和数据可以有多个解决方案。“解决方案类别”和“解决方案参数”是针对数据运行超参数优化之后获得的。
在262处,解决方案生成器加载并预处理数据集。在263处,解决方案生成器制定四元组[问题元数据、数据元数据、解决方案元数据、性能得分],其中此时缺少解决方案元数据和性能得分。在264处,如果存在解决方案初始化模型,则在265处,解决方案生成器针对新的问题和数据集运行解决方案初始化模型以获得若干个候选解决方案。否则,(否),在266处,解决方案生成器针对新的问题和数据集运行解决方案选择模型(聚类)以获得若干个候选解决方案。在267处,解决方案生成器检查候选解决方案是否满足标准,例如,新的问题和数据集的元数据与现有问题和与候选解决方案相关联的数据的元数据之间的相似性得分。如果满足,(是),行进到268以保留候选解决方案,然后行进到269。否则,(否),行进到266。在269处,如果存在解决方案选择模型(递归协作过滤),则解决方案生成器行进到270以运行解决方案选择模型(递归协作过滤)以细化候选解决方案;然后解决方案生成器行进到271以针对候选解决方案进行超参数优化。否则,(否),解决方案生成器行进到271以针对候选解决方案进行超参数优化。
在271处,解决方案生成器针对候选解决方案运行超参数优化并获得性能得分。在272处,确定任何解决方案的性能得分是否满足成功标准。如果满足(是),则解决方案生成器行进到273并针对(一个或多个)最佳模型运行模型后处理。然后,解决方案生成器将新的一组[问题、数据、解决方案、性能得分]结合到现有的一组[问题、数据、解决方案、性能得分]中,并且结束该过程。否则,(否),解决方案发生器返回到264,调整参数,并运行解决方案初始化模型和解决方案选择模型以获得更多候选解决方案。
下文描述了解决方案生成器中的每个模块的细节。
图3示出了根据示例实现方式的数据收集模块200的示例。数据收集模块200负责由用户提供的数据的数据ETL(提取、变换和加载)的收集201。如果所提供的数据不充分或者如果基于所提供的数据的解决方案无效,则它还执行数据合成202。根据期望的实现方式,用户可能需要在该模块中执行一些数据预处理。还使用数据清理203来将数据适当地格式化或语法分析为可以由其他模块处理的格式。
图4示出了根据示例实现方式的解决方案初始化模块210的示例。解决方案初始化模块210基于现有问题、数据、解决方案和与解决方案相关联的性能得分,高效且有效地为新的问题和数据初始化解决方案。作为解决方案生成器的一部分,机器学习模型被建立以初始化解决方案。解决方案初始化模块具有两个阶段:首先建立模型(211-214),然后将模型应用于新的问题和数据(215-218)。在“解决方案初始化”章节的解决方案配置文件中指定建立和运行模型所需的所有所需信息,包括数据文件和模型文件的位置、元数据模型算法的规范等。
给定历史数据集和解决方案211,解决方案初始化模块210将首先在212处提取元数据,并基于现有问题、数据、解决方案和与解决方案相关联的性能得分来建立解决方案初始化模型217,如在子模块211-214和217中所示。
元数据提取子模块212识别并提取问题和数据的元数据特征以生成历史元数据213。对于现有的问题和数据,用户首先形成四元组:[问题,数据集,解决方案,性能得分]。然后,元数据提取子模块212计算问题、数据集和模型算法的元数据以获得:用于历史元数据213的[问题的元数据、数据的元数据、解决方案的元数据、性能得分]。问题、数据和算法的元数据可以根据期望的实现方式来预定义和/或定制(例如,手动设计、利用自动标记工具自动生成等)。一些聚类方法也可以用于该目的。
四元组(问题、数据、解决方案、性能得分)的定义可以如下:
a.问题:它是需要解决的分析问题。例如,“预测煤矿开采厂的尾矿资产中的过载故障”。
b.数据:它是能够帮助解决该问题的所有数据。其包括来自问题的所有数据、公共数据、第三方数据等。例如,“来自Pi Historian数据库的传感器时间序列数据”、“天气数据”等。
c.解决方案:其对应于在解决方案配置文件中定义的所有特征设计和建模步骤以及在每个步骤中使用的参数。换句话说,它是“解决方案类别”和“解决方案参数”的组合。例如,解决方案类别可以是:“标准缩放器、随机森林模型”;解决方案参数可以是:“标准缩放器”的“with_mean=真”、随机森林模型的“树的数量=100、max_depth=5”。
d.性能得分:它是基于解决方案的预定评估指标的得分。例如,“均方根误差=0.05”
如前所述,存在用于存储用于历史问题和数据的这样的四元组的信息的数据库。
元数据建模子模块214将关于提取的特征的以下一个模型建立为模型217:
a.基于相似性的模型:元数据建模子模块214选择相似性指标并建立基于相似性的模型,以基于[问题的元数据,数据的元数据]来测量特征矢量之间的相似性得分。示例相似性指标可以是余弦相似性、皮尔逊相关得分等。
b.回归模型:元数据建模子模块214基于所述一组[问题的元数据、数据的元数据、解决方案的元数据、性能得分]来建立回归模型,其中问题的元数据、数据的元数据、解决方案的元数据被用作回归模型中的特征,并且性能得分被用作回归模型中的目标。示例回归模型可以是线性回归、随机森林回归等。
c.其他元学习模型:元数据建模子模块214根据期望的实现方式使用另一种类型的元学习模型。
给定新的问题和数据集215,解决方案生成器通过元数据提取212自动提取[问题的元数据、数据的元数据]作为新的元数据216,然后将元数据模型217应用于新的元数据216,以为新的问题和数据生成候选解决方案218。
对于相似性模型,模型217测量新的问题和数据集216的元数据与现有问题和数据集213的元数据之间的相似性。基于相似性得分和性能得分,模型217选择前N个解决方案,其中N是控制将多少解决方案用作新的问题和数据集的初始解决方案的参数。
对于回归模型,模型217通过将解决方案的所有可能的元数据附加到[问题的元数据,数据的元数据]216来建立测试集。然后,模型217将回归模型应用于测试集并基于性能得分进行预测。模型217基于预测的性能得分选择前N个解决方案。
图5(a)示出了根据示例实现方式的解决方案选择模块220的示例。解决方案选择模块220细化解决方案搜索空间和搜索顺序。解决方案选择模块220可以包括子功能,例如数据预处理221、特征设计222和模型算法223。解决方案选择模块220被提供有来自解决方案初始化模块210的候选解决方案。在“解决方案选择”章节的解决方案配置文件中指定建立和运行模型所需的所有所需信息,包括数据文件和模型文件的位置、解决方案选择模型算法的规范等。
可以在解决方案选择模块220中应用两种方法。在第一示例中,存在递归协作过滤。图5(b)示出了根据示例实现方式的递归协作过滤的示例流程,其涉及图2(c)中的265及270处的过程。在该示例中,假设存在一组四元组[问题、数据集、解决方案、性能得分]。在511处,该过程基于现有的一组[问题、数据、解决方案、性能得分]形成一组[数据、解决方案类别、性能得分],其中解决方案类别被定义为数据预处理221、特征设计222和模型算法223中的步骤的有序列表;并且从每组四元组[问题、数据、解决方案、性能得分]中的解决方案字段中提取解决方案类别。在512处,该过程建立递归协作过滤模型:它可以是基于相似性的;或通过矩阵因式分解方法。在513处,对于新的问题或数据集,该过程从解决方案初始化模块210获得候选解决方案的性能得分。然后形成其中元素是每个解决方案类别的性能得分的性能得分矢量。一些值将缺失。在514处,该过程将递归协作过滤模型应用于性能得分矢量并预测缺失值。在515处,该过程对性能得分矢量中的值进行排序并选择用于超参数优化的前M个解决方案类别,其中M是控制将使用多少来自模型选择模块的解决方案类别的参数。这里,M可以大于、等于或小于在0052中定义的N。然后,从匹配解决方案类别的所有候选解决方案中:解决方案生成器随机选择候选解决方案的子集或将它们全部用于超参数优化。
在516处,确定任何性能得分是否满足预定成功标准。如果满足(是),则过程结束。否则(否),如果没有性能得分满足成功标准,则过程进行到517,其中来自超参数优化的新计算的性能得分替换性能得分矢量中的预测得分,更新N的值,更新M的值,然后返回到215(解决方案初始化模块)。该递归过程继续,直到性能得分满足成功标准。
图5(c)示出了根据示例实现方式的用于聚类的示例流程。在解决方案选择模块的第二示例中,存在聚类过程,其中假设不存在历史[问题,数据集,解决方案,性能得分]。在这种方法中,在521处,该过程枚举潜在的解决方案类别,然后基于它们的元数据对解决方案类别进行聚类。这里的元数据是基于机器学习领域的专业知识而手动生成的。示例聚类模型可以是K均值、DBSCAN等。在522处,该过程从每个聚类中随机选择一个解决方案类别并形成一组候选解决方案。然后将候选解决方案传递给超参数优化模块,以找到具有最佳参数的最佳解决方案。如果来自任何解决方案的性能得分不能满足成功标准,则更新聚类参数:在这种情况下,用于从每个聚类中选择候选解决方案的随机种子。该递归过程继续,直到性能得分满足成功标准。
图5(d)示出了根据示例实现方式的用于向数据集和解决方案类别提供性能得分的示例数据表。图5(d)的示例是用于图5(b)的511处的过程的示例输出集。基于历史数据集,可以构建矩阵以使行与解决方案类别(从候选解决方案中提取)及其相关联的性能得分相关。在数据集的候选解决方案的历史执行中,可能存在以下情况:特定数据集仅由一个解决方案类别来评估,或者多个解决方案类别可能已应用于特定数据集。因此,矩阵内可能由此缺失一些性能得分(NULL)。
因此,通过图5(b)的512-516的过程,可以通过使用从递归协作过滤模型生成的估计值来填充缺失的性能得分。因此,即使对于感兴趣的特定数据集/解决方案类别对不存在现有的性能得分,也可以提供估计值来确定最佳解决方案类别,并因此确定候选解决方案。
因此,如图5(a)和图5(b)的过程所示,当添加新问题和/或新数据集时,执行解决方案初始化过程以生成候选解决方案。基于元数据提取,根据历史数据库确定相关数据集以确定候选解决方案的相关性能得分。对于缺失的得分,通过图5(b)的过程生成估计值,然后通过如图6中所示的超参数调整来更新矩阵的得分。一旦候选解决方案被优化,就可以选择具有高性能得分的候选解决方案。
图6示出了根据示例实现方式的示例超参数优化模块230。在利用本文描述的方法生成和选择候选解决方案之后,超参数优化模块230负责利用最佳的一组参数对所选择的每个候选解决方案进行优化,以使解决方案基于评估指标以最大优化执行。在优化过程中,要优化的参数利用候选解决方案中的对应参数值来初始化。
存在若干种优化方法,并且示例实现方式结合了最先进的方法,例如网格搜索和随机搜索231、贝叶斯优化232、演进技术233和强化学习234。
图7示出了根据示例实现方式的模型后处理模块240的示例。一旦确定了(一个或多个)最佳模型,示例性实施方式就用若干个组件对模型进行后处理。这些组件中的一些组件在相关技术的AutoML库中不可用。
可说明性和可解释性241说明和解释模型和各个预测。可说明的人工智能(AI)的目标是识别输入变量对模型结果的归因。因此,这提供了动作和响应之间的关系。归因表达了特征相对于基线值对预测值的变化的影响程度。选择与模型的正在被询问的问题相关的有意义的基线是重要的。归因值及其解释可能随着基线切换而发生重大变化。基线的一个例子可以从客户访谈中收集。
变量和参数是建模中的两种不同设置。参数在一次模拟期间是恒定的,其中变量是变化的,例如,Y=a.f(X)+b。在这种情况下,a和b是参数,f是函数,Y是输出变量,X是输入变量。这两种方法都使用多个模型,因此,f实际上是fn,其中n是模型的数量。
在另一个例子中,存在基于退火梯度的方法。通过经由超参数调整搜索参数空间,其通过将基线和变量重要性与模型输出进行比较来提取参数与变量关系的可追溯性。通过n个模型重复它。由此,可以解释变量归因的模型输出n。因此,示例实现方式可以由此计算所选择的每个候选解决方案的得分,将得分超过预定标准的所选择的候选应用于新的输入元数据并获得该解决方案的输出。
模型集成(model ensemble)242根据期望的实施方式将若干个模型组合成一个模型以获得更好的性能。误差分析243分析预测误差以改进模型。模型生命周期管理244将解决方案打包以供下游使用。
所提出的AutoML系统可以如下实现。
AutoML系统可以用机器学习库来实现,该机器学习库包括用于执行自动机器学习任务的软件组件,包括但不限于:解决方案初始化、解决方案选择、数据预处理、特征预处理、超参数优化、模型评估、模型集成、误差分析、模型和预测解释以及模型生命周期管理。用户编写代码以调用库中的功能,并且还管理计算和数据存储。
在一个示例实现方式中,AutoML系统可以被实现为工作台,该工作台是带有图形用户界面(GUI)的本地部署的软件,该软件暴露AutoML库中提供的功能。用户可以使用GUI轻松地执行自动机器学习任务。用户需要管理计算和数据存储。
在另一个示例实现方式中,AutoML系统可以被实现为基于软件即服务(SaaS)的解决方案,其通过基于web的用户界面来暴露AutoML库。服务提供者管理计算和数据存储。用户需要订阅AutoML服务,将数据上传到服务提供者,并使用基于web的用户界面来执行自动机器学习任务。
示例实现方式可以作为微服务和/或微应用程序以暴露AutoML库来促进。
示例实现方式可以作为开源机器学习库来促进,该开源机器学习库由用于执行自动机器学习任务的软件组件组成,包括但不限于:解决方案初始化、解决方案选择、数据预处理、特征预处理、超参数优化、模型评估、模型集合、误差分析、模型和预测解释以及模型生命周期管理。用户需要编写代码以调用库中的功能并管理计算和数据存储。
图8示出了具有适合于在一些示例实现方式中使用的示例计算装置的示例计算环境。计算环境800中的计算装置805可以包括一个或多个处理单元、核或处理器810、存储器815(例如,RAM、ROM等)、内部存储装置820(例如,磁、光、固态存储和/或有机)和/或IO接口825,其中的任何一个可以耦合在用于传送信息的通信机构或总线830上或嵌入在计算装置805中。IO接口825还被配置为从相机接收图像或向投影仪或显示器提供图像,这取决于期望的实现方式。
计算装置805可以通信地耦合到输入/用户接口835和输出装置/接口840。输入/用户接口835和输出装置/接口840中的任一个或两个可以是有线或无线接口并且可以是可拆卸的。输入/用户接口835可以包括可以用于提供输入的任何装置、组件、传感器或物理的或虚拟的接口(例如,按钮、触摸屏接口、键盘、指向/光标控件、麦克风、相机、盲文、运动传感器、光学读取器等)。输出装置/接口840可以包括显示器、电视、监视器、打印机、扬声器、盲文等。在一些示例实现方式中,输入/用户接口835和输出装置/接口840可以嵌入有计算装置805或物理耦合到计算装置805。在其他示例实现方式中,其他计算装置可充当用于计算装置805的输入/用户接口835和输出装置/接口840,或提供用于计算装置805的输入/用户接口835和输出装置/接口840的功能。
计算装置805的例子可以包括但不限于高度移动的装置(例如,智能电话、车辆和其他机器中的装置、由人类和动物携带的装置等)、移动装置(例如,平板电脑、笔记本电脑、膝上型计算机、个人计算机、便携式电视、收音机等)以及不是设计用于移动的装置(例如,台式计算机、其他计算机、信息亭、其中嵌入有和/或与其耦合有一个或多个处理器的电视、无线电等)。
计算装置805可以(例如,经由IO接口825)通信地耦合至外部存储装置845和网络850,以与包括相同或不同配置的一个或多个计算装置的任何数量的联网组件、装置和系统通信。计算装置805或任何连接的计算装置可以用作服务器、客户端、瘦服务器、通用机器、专用机器或另一个标签,提供服务器、客户端、瘦服务器、通用机器、专用机器或另一个标签的服务,或被称为服务器、客户端、瘦服务器、通用机器、专用机器或另一个标签。
IO接口825可以包括但不限于使用任何通信或IO协议或标准(例如,以太网、802.11x、通用系统总线、WiMax、调制解调器、蜂窝网络协议等)向和/或从计算环境800中的至少所有连接的组件、装置和网络传送信息的有线和/或无线接口。网络850可以是任何网络或网络的组合(例如,互联网、局域网、广域网、电话网络、蜂窝网络、卫星网络等)。
计算装置805可以使用计算机可用或计算机可读介质,和/或使用计算机可用或计算机可读介质进行通信,计算机可用或计算机可读介质包括瞬态介质和非瞬态介质。瞬态介质包括传输介质(例如,金属电缆、光纤)、信号、载波等。非瞬态介质包含磁性介质(例如,磁盘和磁带)、光学介质(例如,CDROM、数字视频光盘、蓝光光盘)、固态介质(例如,RAM、ROM、闪存、固态存储装置)和其他非易失性存储装置或存储器。
计算装置805可用于在一些示例计算环境中实现技术、方法、应用程序、过程或计算机可执行指令。计算机可执行指令可以从瞬态介质中获取,并且可以被存储在非瞬态介质上并从非瞬态介质中获取。可执行指令可以源自任何编程、脚本和机器语言(例如,C、C++、C#、Java、Visual Basic、Python、Perl、JavaScript等)中的一种或多种。
处理器810可以在本地或虚拟环境中的任何操作系统(OS)(未被示出)下执行。可以部署包括逻辑单元860、应用程序编程接口(API)单元865、输入单元870、输出单元875和单元间通信机制895的一个或多个应用程序,用于不同单元彼此通信、与OS通信以及与其他应用程序(未被示出)通信。所描述的单元和元件可以在设计、功能、配置或实现方式上变化,并且不限于所提供的描述。(一个或多个)处理器810可以是诸如中央处理单元(CPU)的硬件处理器的形式,或硬件和软件单元的组合。
在一些示例实现方式中,当API单元865接收到信息或执行指令时,它可以被传送到一个或多个其他单元(例如,逻辑单元860、输入单元870、输出单元875)。在一些情况下,在上述一些示例实现方式中,逻辑单元860可以被配置为控制单元之间的信息流并引导由API单元865、输入单元870、输出单元875提供的服务。例如,一个或多个过程或实现方式的流程可以由逻辑单元860单独或与API单元865结合来控制。输入单元870可被配置为获得用于示例实现方式中所描述的计算的输入,并且输出单元875可被配置为基于示例实现方式中所描述的计算而提供输出。
(一个或多个)处理器810可以被配置为生成统一的、可定制的和可扩展的自动机器学习(AutoML)构架,该AutoML构架被配置为:输入与在解决方案配置文件中指定的多个机器学习模型相对应的多个机器学习库;从由解决方案配置文件指定的数据集中提取元数据;通过将所提取的元数据与历史元数据进行关联,从在解决方案配置文件中指定的多个机器学习模型生成用于数据集的候选解决方案;基于历史元数据细化候选解决方案;通过对多个机器学习模型的参数进行选择来优化候选解决方案;以及基于在解决方案配置文件中指定的评估参数来评估来自多个机器学习模型的候选解决方案,如图2(a)至图2(c)所示。这样的示例实现方式可以由此利用配置文件来促进将多个机器学习库结合到构架和解决方案配置文件中所选择的模型中,并且可以根据期望的实现方式通过解决方案配置文件来定制构架。这样的示例实现方式是对仅提供用于构架的单个静态机器学习模型的相关技术的解决方案的改进。
(一个或多个)处理器810可以被配置为从由解决方案配置文件指定的问题中提取问题元数据,并且其中生成候选解决方案的方法是:将所提取的问题元数据和所提取的数据元数据与数据库中的历史问题元数据和历史数据元数据进行匹配来确定数据库中的相关联的历史数据集;获得在解决方案配置文件中指定的多个机器学习模型中的、应用于每个相关联的历史数据集的一些机器学习模型的候选解决方案和得分;以及基于得分为问题和数据集提供候选解决方案,如图5(b)和图5(d)所示。
处理器810可以被配置为通过执行递归协作过滤以导出多个机器学习模型中的不具有所述历史数据集中的一些历史数据集的得分的一些机器学习模型的缺失得分,然后细化用于新问题数据集的候选解决方案的列表,来基于历史元数据细化候选解决方案,如图5(b)所示。
(一个或多个)处理器810可以被配置为通过对在解决方案配置文件中指定的多个机器学习模型中的、与候选解决方案相对应的一些机器学习模型执行超参数优化过程,并且从多个机器学习模型中的具有根据超参数优化过程确定的最佳参数的一些机器学习模型中选择根据超参数优化过程确定的最佳模型,来优化候选解决方案,如图6所示。
处理器810可以被配置为基于机器学习域知识从由解决方案配置文件指定的潜在解决方案类别的列表中提取元数据,并且其中生成候选解决方案包括:对在解决方案配置文件中指定的多个机器学习模型中的每个机器学习模型的解决方案元数据进行聚类,如图5(c)所示。
(一个或多个)处理器810可以被配置为基于在解决方案配置文件中指定的评估参数来评估来自多个机器学习模型的候选解决方案,其包括对候选解决方案中的与高于阈值的得分相关联的一些候选解决方案执行模型后处理,如图7所示。
(一个或多个)处理器810可被配置为对由解决方案配置文件指定的数据集执行数据合成以生成用于数据集的附加数据,如图3所示。
详细描述的一些部分根据计算机内的操作的算法和符号表示来呈现。这些算法描述和符号表示是数据处理领域的技术人员用于向本领域其他技术人员传达其创新实质的手段。算法是导致期望的结束状态或结果的一系列定义的步骤。在示例实现方式中,所执行的步骤需要对有形量进行物理操纵以实现有形结果。
除非特别声明,否则如从讨论中显而易见的,应当理解,在整个说明书中,利用诸如“处理”、“计算”、“运算”、“确定”、“显示”等术语进行的讨论可以包括计算机系统或其他信息处理装置的动作和过程,该计算机系统或其他信息处理装置将表示为计算机系统的寄存器和存储器内的物理(电子)量的数据操纵和变换为类似地表示为计算机系统的存储器或寄存器或其他信息存储装置、传输或显示装置内的物理量的其他数据。
示例实现方式还可以涉及用于执行本文的操作的设备。该设备可以是为了所需目的而专门构造的,或者它可以包括由一个或多个计算机程序选择性地激活或重新配置的一个或多个通用计算机。这样的计算机程序可以存储在计算机可读介质中,例如计算机可读存储介质或计算机可读信号介质。计算机可读存储介质可以包括有形介质,例如但不限于光盘、磁盘、只读存储器、随机存取存储器、固态装置和驱动器或适合于存储电子信息的任何其他类型的有形或非瞬态介质。计算机可读信号介质可以包括诸如载波的介质。本文所呈现的算法和显示器并不固有地与任何特定计算机或其他设备相关。计算机程序可以包括纯软件实现方式,其包括执行期望的实现方式的操作的指令。
根据本文的示例,各种通用系统可以与程序和模块一起使用,或者可以证明构造更专用的设备来执行期望的方法步骤是方便的。另外,未参考任何特定编程语言来描述示例实现方式。应理解,可使用多种编程语言来实现本文所描述的示例实现方式的教导。(一种或多种)编程语言的指令可以由一个或多个处理装置(例如,中央处理单元(CPU)、处理器或控制器)执行。
如本领域中已知的,上述操作可以由硬件、软件或软件和硬件的某种组合来执行。示例实现方式的各个方面可以使用电路和逻辑装置(硬件)来实现,而其他方面可以使用存储在机器可读介质(软件)上的指令来实现,所述指令在由处理器执行时将使处理器执行用于执行本申请的实现方式的方法。此外,本申请的一些示例实现方式可以仅在硬件中执行,而其他示例实现方式可以仅在软件中执行。此外,所描述的各种功能可以在单个单元中执行,或者可以通过任何数量的方式分布在多个组件上。当由软件执行时,该方法可以由诸如通用计算机的处理器基于存储在计算机可读介质上的指令来执行。如果需要,指令可以以压缩和/或加密格式存储在介质上。
此外,考虑到本申请的说明书和教导的实践,本申请的其他实现方式对于本领域技术人员将是显而易见的。所描述的示例实现方式的各个方面和/或组件可以单独使用或以任何组合使用。说明书和示例实现方式旨在仅被视为示例,本申请的真实范围和精神由所附权利要求指示。
Claims (15)
1.一种方法,包括:
生成自动机器学习(AutoML)构架,所述自动机器学习构架被配置为输入与在解决方案配置文件中指定的多个机器学习模型相对应的多个机器学习库;
从由所述解决方案配置文件指定的数据集中提取数据元数据;
通过将提取的数据元数据与历史元数据进行关联,从在所述解决方案配置文件中指定的所述多个机器学习模型生成用于所述数据集的候选解决方案;
基于历史元数据细化所述候选解决方案;
通过对所述多个机器学习模型的参数进行选择,来优化所述候选解决方案;以及
基于在所述解决方案配置文件中指定的评估参数,来评估来自所述多个机器学习模型的所述候选解决方案。
2.根据权利要求1所述的方法,其还包括:从由所述解决方案配置文件指定的问题中提取问题元数据,并且其中生成所述候选解决方案包括:
通过将所提取的问题元数据和所提取的数据元数据与数据库中的历史数据集的历史问题元数据和历史数据元数据进行匹配,来确定所述数据库中的相关联的历史数据集;
获得在所述解决方案配置文件中指定的所述多个机器学习模型中的、应用于每个相关联的历史数据集的一些机器学习模型的所述候选解决方案和得分;以及
基于所述得分从在所述解决方案配置文件中指定的所述机器学习模型,提供所述候选解决方案。
3.根据权利要求1所述的方法,其中,基于历史元数据细化所述候选解决方案包括:执行递归协作过滤以导出所述多个机器学习模型中的不具有所述历史数据集中的一些历史数据集的所述得分的一些机器学习模型的缺失得分,然后细化用于新问题数据集的候选解决方案的列表。
4.根据权利要求1所述的方法,其中,优化所述候选解决方案包括:对在所述解决方案配置文件中指定的所述多个机器学习模型中的、与所述候选解决方案相对应的一些机器学习模型执行超参数优化过程,并且从所述多个机器学习模型中的具有根据所述超参数优化过程确定的最佳参数的所述一些机器学习模型中选择根据所述超参数优化过程确定的最佳模型。
5.根据权利要求1所述的方法,其中,从由所述解决方案配置文件指定的潜在解决方案类别的列表中提取元数据基于机器学习域知识,并且其中,生成所述候选解决方案包括:对在所述解决方案配置文件中指定的所述多个机器学习模型中的每个机器学习模型的解决方案元数据进行聚类。
6.根据权利要求1所述的方法,其中,基于在所述解决方案配置文件中指定的评估参数来评估来自所述多个机器学习模型的所述候选解决方案包括:对所述候选解决方案中的与高于阈值的得分相关联的一些候选解决方案执行模型后处理。
7.根据权利要求1所述的方法,其中,所述方法还包括:对由所述解决方案配置文件指定的所述数据集执行数据合成以生成用于所述数据集的附加数据。
8.一种计算机程序,其存储用于执行过程的指令,所述指令包括:
生成自动机器学习(AutoML)构架,所述自动机器学习构架被配置为输入与在解决方案配置文件中指定的多个机器学习模型相对应的多个机器学习库;
从由所述解决方案配置文件指定的数据集中提取数据元数据;
通过将所提取的数据元数据与历史元数据进行关联,从在所述解决方案配置文件中指定的所述多个机器学习模型生成用于所述数据集的候选解决方案;
基于历史元数据细化所述候选解决方案;
通过对所述多个机器学习模型的参数进行选择,来优化所述候选解决方案;以及
基于在所述解决方案配置文件中指定的评估参数,来评估来自所述多个机器学习模型的所述候选解决方案。
9.根据权利要求8所述的计算机程序,所述指令还包括:从由所述解决方案配置文件指定的问题中提取问题元数据,并且其中生成所述候选解决方案包括:
通过将所提取的问题元数据和所提取的数据元数据与数据库中的历史数据集的历史问题元数据和历史数据元数据进行匹配,来确定所述数据库中的相关联的历史数据集;
获得在所述解决方案配置文件中指定的所述多个机器学习模型中的、应用于每个相关联的历史数据集的一些机器学习模型的所述候选解决方案和得分;以及
基于所述得分为在所述解决方案配置文件中指定的每个所述机器学习模型提供所述候选解决方案。
10.根据权利要求8所述的计算机程序,其中,基于历史元数据细化所述候选解决方案包括:执行递归协作过滤以导出所述多个机器学习模型中的不具有所述历史数据集中的一些历史数据集的所述得分的一些机器学习模型的缺失得分,然后细化用于新问题数据集的候选解决方案的列表。
11.根据权利要求8所述的计算机程序,其中,优化所述候选解决方案的指令包括:对在所述解决方案配置文件中指定的所述多个机器学习模型中的、与所述候选解决方案相对应的一些机器学习模型执行超参数优化过程,并且从所述多个机器学习模型中的具有根据所述超参数优化过程确定的最佳参数的所述一些机器学习模型中选择根据所述超参数优化过程确定的最佳模型。
12.根据权利要求8所述的计算机程序,其中,从由所述解决方案配置文件指定的潜在解决方案类别的列表中提取元数据基于机器学习域知识,并且其中,生成所述候选解决方案包括:对在所述解决方案配置文件中指定的所述多个机器学习模型中的每个机器学习模型的解决方案元数据进行聚类。
13.根据权利要求8所述的计算机程序,其中,基于在所述解决方案配置文件中指定的评估参数来评估来自所述多个机器学习模型的所述候选解决方案包括:对所述候选解决方案中的与高于阈值的得分相关联的一些候选解决方案执行模型后处理。
14.根据权利要求8所述的计算机程序,其中,所述方法还包括:对由所述解决方案配置文件指定的所述数据集执行数据合成以生成用于所述数据集的附加数据。
15.一种装置,包括:
处理器,其被配置为:
生成自动机器学习(AutoML)构架,所述自动机器学习构架被配置为输入与在解决方案配置文件中指定的多个机器学习模型相对应的多个机器学习库;
从由所述解决方案配置文件指定的数据集中提取元数据;
通过将所提取的元数据与历史元数据进行关联,从在所述解决方案配置文件中指定的所述多个机器学习模型生成用于所述数据集的候选解决方案;
基于历史元数据细化所述候选解决方案;
通过对所述多个机器学习模型的参数进行选择,来优化所述候选解决方案;以及
基于在所述解决方案配置文件中指定的评估参数,来评估来自所述多个机器学习模型的所述候选解决方案。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2020/039647 WO2021262179A1 (en) | 2020-06-25 | 2020-06-25 | Automated machine learning: a unified, customizable, and extensible system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115943379A true CN115943379A (zh) | 2023-04-07 |
Family
ID=79281683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080102396.4A Pending CN115943379A (zh) | 2020-06-25 | 2020-06-25 | 自动化机器学习:统一的、可定制的和可扩展的系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11829890B2 (zh) |
EP (1) | EP4172824A4 (zh) |
JP (1) | JP7463560B2 (zh) |
CN (1) | CN115943379A (zh) |
WO (1) | WO2021262179A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220051049A1 (en) * | 2020-08-11 | 2022-02-17 | International Business Machines Corporation | Using meta-learning to optimize automatic selection of machine learning pipelines |
US20230099635A1 (en) * | 2021-09-28 | 2023-03-30 | International Business Machines Corporation | Context aware automated artificial intelligence framework |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9292688B2 (en) * | 2012-09-26 | 2016-03-22 | Northrop Grumman Systems Corporation | System and method for automated machine-learning, zero-day malware detection |
US10740430B2 (en) * | 2012-11-27 | 2020-08-11 | Autodesk, Inc. | Analytics-driven global optimization strategy selection and refinement |
US10366346B2 (en) * | 2014-05-23 | 2019-07-30 | DataRobot, Inc. | Systems and techniques for determining the predictive value of a feature |
CA2902105A1 (en) | 2014-08-28 | 2016-02-28 | Radicalogic Technologies, Inc. Dba Rl Solutions | System and method for health care data integration |
WO2016061283A1 (en) | 2014-10-14 | 2016-04-21 | Skytree, Inc. | Configurable machine learning method selection and parameter optimization system and method |
US20160358099A1 (en) * | 2015-06-04 | 2016-12-08 | The Boeing Company | Advanced analytical infrastructure for machine learning |
US10311065B2 (en) * | 2015-12-01 | 2019-06-04 | International Business Machines Corporation | Scoring candidate evidence passages for criteria validation using historical evidence data |
US20180268258A1 (en) * | 2017-03-14 | 2018-09-20 | TUPL, Inc. | Automated decision making using staged machine learning |
JP2019003603A (ja) * | 2017-04-10 | 2019-01-10 | 株式会社クロスコンパス | 人工知能モジュール開発方法、人工知能モジュール開発システム及び人工知能モジュール開発統合システム |
US11544494B2 (en) * | 2017-09-28 | 2023-01-03 | Oracle International Corporation | Algorithm-specific neural network architectures for automatic machine learning model selection |
WO2019089651A1 (en) * | 2017-10-31 | 2019-05-09 | Myndshft Technologies, Inc. | System and method for configuring an adaptive computing cluster |
US20210027182A1 (en) * | 2018-03-21 | 2021-01-28 | Visa International Service Association | Automated machine learning systems and methods |
EP3794145A1 (en) * | 2018-05-18 | 2021-03-24 | Grail, Inc. | Inferring selection in white blood cell matched cell-free dna variants and/or in rna variants |
US10996944B2 (en) * | 2019-05-06 | 2021-05-04 | Red Hat, Inc. | Automated software selection using matrix factorization |
CN112101562B (zh) * | 2019-06-18 | 2024-01-30 | 第四范式(北京)技术有限公司 | 机器学习建模过程的实现方法和系统 |
US11562267B2 (en) * | 2019-09-14 | 2023-01-24 | Oracle International Corporation | Chatbot for defining a machine learning (ML) solution |
US11599826B2 (en) * | 2020-01-13 | 2023-03-07 | International Business Machines Corporation | Knowledge aided feature engineering |
US11631031B2 (en) * | 2020-02-20 | 2023-04-18 | Bank Of America Corporation | Automated model generation platform for recursive model building |
-
2020
- 2020-06-25 WO PCT/US2020/039647 patent/WO2021262179A1/en unknown
- 2020-06-25 JP JP2022571364A patent/JP7463560B2/ja active Active
- 2020-06-25 EP EP20941904.3A patent/EP4172824A4/en active Pending
- 2020-06-25 CN CN202080102396.4A patent/CN115943379A/zh active Pending
- 2020-06-25 US US17/922,582 patent/US11829890B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2023527188A (ja) | 2023-06-27 |
US20230132064A1 (en) | 2023-04-27 |
WO2021262179A1 (en) | 2021-12-30 |
EP4172824A1 (en) | 2023-05-03 |
US11829890B2 (en) | 2023-11-28 |
JP7463560B2 (ja) | 2024-04-08 |
EP4172824A4 (en) | 2024-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230195845A1 (en) | Fast annotation of samples for machine learning model development | |
US11761792B2 (en) | Machine learning model development with interactive model evaluation | |
US20200012962A1 (en) | Automated Machine Learning System | |
US20180240041A1 (en) | Distributed hyperparameter tuning system for machine learning | |
US11537506B1 (en) | System for visually diagnosing machine learning models | |
US11544604B2 (en) | Adaptive model insights visualization engine for complex machine learning models | |
US11367016B2 (en) | Machine learning model development with interactive model building | |
US11858651B2 (en) | Machine learning model development with interactive feature construction and selection | |
US11544493B2 (en) | Machine learning model development with interactive exploratory data analysis | |
US10963802B1 (en) | Distributed decision variable tuning system for machine learning | |
US20210110299A1 (en) | Interactive machine learning | |
EP4046084A1 (en) | Interactive machine learning | |
CN112905340A (zh) | 系统资源分配方法、装置及设备 | |
US20240202600A1 (en) | Machine learning model administration and optimization | |
JP2024516656A (ja) | 産業特定機械学習アプリケーション | |
CN115943379A (zh) | 自动化机器学习:统一的、可定制的和可扩展的系统 | |
US11501103B2 (en) | Interactive machine learning model development | |
US11620550B2 (en) | Automated data table discovery for automated machine learning | |
AU2021276239A1 (en) | Identifying claim complexity by integrating supervised and unsupervised learning | |
US11907241B2 (en) | Data recommender using lineage to propagate value indicators | |
US20230289623A1 (en) | Systems and methods for an automated data science process | |
CN116756398A (zh) | 标签体系构建系统及标签体系构建方法 | |
CA3203726A1 (en) | Integrated feature engineering | |
CN117151247A (zh) | 机器学习任务建模的方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |