CN110956272B - 实现数据处理的方法和系统 - Google Patents
实现数据处理的方法和系统 Download PDFInfo
- Publication number
- CN110956272B CN110956272B CN201911061020.9A CN201911061020A CN110956272B CN 110956272 B CN110956272 B CN 110956272B CN 201911061020 A CN201911061020 A CN 201911061020A CN 110956272 B CN110956272 B CN 110956272B
- Authority
- CN
- China
- Prior art keywords
- feature
- model
- node
- machine learning
- directed acyclic
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 182
- 238000012545 processing Methods 0.000 title claims abstract description 178
- 238000010801 machine learning Methods 0.000 claims abstract description 507
- 238000012549 training Methods 0.000 claims description 310
- 230000000694 effects Effects 0.000 claims description 234
- 238000004422 calculation algorithm Methods 0.000 claims description 98
- 238000011156 evaluation Methods 0.000 claims description 93
- 239000002131 composite material Substances 0.000 claims description 72
- 230000008569 process Effects 0.000 claims description 60
- 238000000605 extraction Methods 0.000 claims description 42
- 230000012010 growth Effects 0.000 claims description 36
- 230000004044 response Effects 0.000 claims description 36
- 238000004458 analytical method Methods 0.000 claims description 25
- 238000004806 packaging method and process Methods 0.000 claims description 23
- 238000013468 resource allocation Methods 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 22
- 238000007781 pre-processing Methods 0.000 claims description 21
- 238000012216 screening Methods 0.000 claims description 20
- 238000007726 management method Methods 0.000 claims description 9
- 230000000670 limiting effect Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 125000002015 acyclic group Chemical group 0.000 claims description 4
- 238000003491 array Methods 0.000 claims description 4
- 230000000875 corresponding effect Effects 0.000 description 256
- 238000012360 testing method Methods 0.000 description 47
- 238000013103 analytical ultracentrifugation Methods 0.000 description 26
- 238000007477 logistic regression Methods 0.000 description 24
- 238000012804 iterative process Methods 0.000 description 21
- 230000003698 anagen phase Effects 0.000 description 19
- 230000006870 function Effects 0.000 description 17
- 238000005457 optimization Methods 0.000 description 17
- 230000002829 reductive effect Effects 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 9
- 230000002860 competitive effect Effects 0.000 description 9
- 238000009826 distribution Methods 0.000 description 9
- 238000003066 decision tree Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 238000004088 simulation Methods 0.000 description 7
- 230000009466 transformation Effects 0.000 description 7
- 230000001174 ascending effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012163 sequencing technique Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000002844 continuous effect Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000013517 stratification Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种实现数据处理的方法和系统。所述方法包括:响应于用户的生成有向无环图的操作,生成相应的有向无环图;响应于运行有向无环图的操作,执行有向无环图对应的数据处理流程。本发明的方案提供了广泛适用于不同场景的实现数据处理方法和系统,满足了用户日益复杂的机器学习场景要求。
Description
技术领域
本发明涉及机数据处理领域,更具体地讲,涉及一种实现数据处理的方法和系统。
背景技术
随着海量数据的出现,人工智能技术迅速发展,而机器学习是人工智能发展到一定阶段的必然产物,其致力于通过计算的手段,从大量数据中挖掘有价值的潜在信息。
在机器学习领域,往往通过将经验数据提供给机器学习算法来训练机器学习模型,而训练好的机器学习模型可被应用于在面对新的预测数据时提供相应的预测结果。然而,机器学习过程中所涉及的许多工作(例如,特征预处理和选择、模型算法选择、超参数调整等)往往既需要具备计算机(特别是机器学习)专业知识,也需要具备与预测场景相关的具体业务经验,因此,需要耗费大量的人力成本。为了降低利用机器学习技术的门槛,出现了很多机器学习系统(例如,机器学习平台),然而,现有的机器学习平台局限于如何基于积累的数据来训练出相应的模型(或实现相应的模型管理),这使得平台能够支持的功能非常有限且固定。此外,现有平台往往只是针对相对单一的机器学习场景,难以满足用户日益复杂的机器学习场景要求。
发明内容
本发明的目的在于提供一种用于实现数据处理的方法和系统,能够广泛适用于不同场景。
本发明的一个方面提供一种实现数据处理的方法,包括:
响应于用户的生成有向无环图的操作,生成相应的有向无环图;
响应于运行有向无环图的操作,执行有向无环图对应的数据处理流程。
本发明的另一个方面提供了一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如上所述的方法。
本发明的又一个方面提供了一种包括至少一个计算装置和存储指令的至少一个存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如上所述的方法。
本发明的再一个方面,提供了一种数据处理系统,其中,该系统包括:
操作单元,适于响应于用户的生成有向无环图的操作,生成相应的有向无环图;
运行单元,适于响应于运行有向无环图的操作,执行有向无环图对应的数据处理流程。
本发明的方案提供了广泛适用于不同场景的方法和系统,满足了用户日益复杂的机器学习场景要求。
附图说明
通过下面结合附图进行的详细描述,本发明的上述和其他目的和特点将会变得更加清楚,其中:
图1示出根据本发明实施例的一种实现数据处理的方法的流程图;
图2示出根据本发明实施例的第一图形用户界面的示意图;
图3示出根据本发明示例性实施例的用于生成组合特征的搜索树的示例;
图4示出根据本发明实施例的一种实现数据处理的系统的示意图。
具体实施方式
以下,参照附图来详细说明本发明的实施例。
图1示出根据本发明实施例的一种实现数据处理的方法的流程图。如图1所示,该方法包括:
步骤S110,响应于用户的生成有向无环图的操作,生成相应的有向无环图。
本步骤中,用户的生成有向无环图(Directed Acyclic Graph,DAG)的操作可以是多样,例如,用户可以输入用于生成有向无环图的脚本语言,用于也可以基于提供的图形用户界面以拖拉拽的方式构建有向无环图。这里所生成的有向无环图代表一个数据处理流,有向无环图中的节点为数据本身或对数据进行处理的计算逻辑,节点之间的连线代表数据处理过程的逻辑关系和顺序。
步骤S120,响应于运行有向无环图的操作,执行有向无环图对应的数据处理流程。
本步骤中,运行有向无环图的操作可以用户即时触发的操作,也可以是按照用户设定的时间定时触发的操作。有向无环图对应的数据处理流程为与机器学习相关的数据处理流程。
在图1所述的方法,通过生成DAG,再执行DAG对应的数据处理流程,从而使得大数据处理过程的构建和编辑更为容易上手,降低了利用机器学习技术的门槛。
在本发明的一个实施例中,图1所述方法中的步骤S110所述响应于用户的生成有向无环图的操作,生成相应的有向无环图包括:显示包括节点展示区域和画布区域的第一图形用户界面,其中,所述节点展示区域中的节点类型包括数据、样本、模型和算子;响应于在所述节点展示区域选择节点的操作,在画布区域显示相应节点,以及响应于连接节点的操作,在画布区域中的相应节点之间生成连线,以生成有向无环图。
在本发明的一个实施例中,所述节点展示区域包括元素列表和算子列表,元素列表包括数据、样本和模型,算子列表包括与机器学习相关的各种数据处理算子;所述节点展示区域还包括文件列表,文件列表包括有向无环图。所述节点展示区域的节点还包括有向无环图。
图2示出根据本发明实施例的第一图形用户界面的示意图。参见图2,第一图形用户界面的左侧为节点展示区域,包括文件列表、元素列表和算子列表。通过选定列表可以进一步展示该列表中的节点,例如图2中显示的是算子列表被选定,因此进一步展示了算子列表中的各种算子。第一图形用户界面的中间部分是画布区域,在图2中示意了一个构建好的DAG图。
在本发明的一个实施例中,图1所述的方法还包括以下多项中的至少一项:
1)响应于在节点展示区域选择有向无环图的操作,在画布区域显示所选择的有向无环图,以供直接运行或修改编辑;例如,在图2所示的界面中选中文件列表,则会进一步展示文件列表中的各种文件,其中包括保存为文件的DAG,当进一步选定其中的一个DAG时,在画布区域显示该DAG;
2)响应于保存画布区域中的有向无环图的操作,保存有向无环图,并将保存的有向无环图添加到所述节点展示区域中;例如,在图2所示的界面,保存的DAG被添加到文件列表中;
3)响应于导出有向无环图的操作,将相应有向无环图输出到指定的导出位置;例如,在图2所示的界面中,用户可以在文件列表中选中一个DAG后点击右键可出现下载控件,进一步选择该下载控件,可将该DAG下载到指定的位置。
在本发明的一个实施例中,图1所述的方还包括以下多项中的至少一项(这里,元素为数据、样本或模型):
1)响应于从外部导入元素的操作,保存相应的元素,并添加到所述节点展示区域中;例如,参见图2所示的界面,导入的元素被添加到元素列表中。
2)保存在执行有向无环图对应的数据处理流程的过程中产生的元素,并将保存的元素添加到所述节点展示区域中;例如,参见图2所示的界面,运行DAG所产生的中间数据、样本和模型被添加到元素列表中。
3)提供管理执行有向无环图对应的数据处理流程的过程中产生的元素的管理页面,以供用户通过该管理页面对中间元素进行查看和删除操作;运行DAG所产生的中间数据、样本和模型会被单独进行管理,以方便用户进行查看和删除。
4)响应于导出元素的操作,将相应的元素输出到指定的导出位置,例如,在图2所示的界面中,用户可以在元素列表中选中一个元素后点击右键可出现下载控件,进一步选择该下载控件,可将该元素下载到指定的位置。
在本发明的一个实施例中,图1所述的方法还包括以下多项中的至少一项:
1)响应于从外部导入算子的操作,保存相应算子对应的代码,并将相应算子添加到节点展示区域中;例如,参见图2,将导入的算子添加到算子列表中。
2)提供算子代码编辑界面,从该界面获取输入的代码并保存,并将相应算子添加到节点展示区域中;例如,参见图2,将相应的算子添加到算子列表中。
在本发明的一个实施例中,图1所述的方法还包括:
响应于选中画布区域中的一个节点的操作,显示该节点的配置界面,根据所述配置界面上的配置操作,完成对相应节点的相关配置;例如,参见图2,画布区域中的“数据拆分”算子被选中,第一图形用户界面的最右侧显示“数据拆分算子”的配置界面,可以在该配置界面对“数据拆分”算子进行配置;
当节点未进行必要的配置时,或者所配置的参数不符合预定要求时,在画布区域中的相应节点处显示提示标识;例如参见图2,可以在画布区域中的未进行必要配置或配置错误的节点上显示一个感叹号以提示用户。
在本发明的一个实施例中,图1所述的方法还包括以下多项中的至少一项:
1)在所述第一图形用户界面中显示运行有向无环图的图形控件,响应于触发该图形控件的操作,根据有向无环图中的各节点以及各节点之间的连线关系,执行有向无环图对应的数据处理流程;例如,可以在合适的位置显示一个“运行”控件,或者,如图2所示,在画布区域的左上角显示“播放”按钮,用于启动DAG的运行。
2)在所述第一图形用户界面上显示一个计时器,用于对执行有向无环图对应的数据处理流程的用时进行实时计时。例如,可以在画布区域显示一个计时器以供用户查看DAG的运行用时。
在本发明的一个实施例中,图1所述的方法还包括以下多项中的至少一项:
1)在执行有向无环图对应的数据处理流程的过程中,在第一图形用户界面上的有向无环图的各节点上显示用于表示相应节点被执行的进度的信息;例如,可以在节点上以进度条的形式显示节点被执行的进度,或者,也可以依据节点被执行的进度实时显示当时的进度百分比数。
2)在执行有向无环图对应的数据处理流程的过程中,在第一图形用户界面上的有向无环图的每个节点上显示正在运行中的标识,当一个节点对应的数据处理流程被执行完毕时,在该节点上显示执行完毕的标识;例如,在DAG运行时,在DAG中的每个节点上显示一个漏斗作为正在运行的标识,以及当一个节点对应的数据处理流程被执行完毕时,将漏斗替换为绿色的对勾作为执行完毕的标识。
3)响应于查看有向无环图中的节点的运行结果的操作,获取并展示该节点对应的运行结果数据;例如,查看有向无环图中的节点的运行结果的操作具体可以是用户在一个节点上点击右键再选择出现的状态查看控件,或者,可以是响应于用户点击一个节点的操作,在该节点的附近展示一个与运行结果类型对应的图标,响应于用户点击该图标的操作,展示该节点对应的运行结果数据。
在本发明的一个实施例中,图1所述的方法包括如下中的一项或多项:
1)画布区域中的数据、样本和模型均支持以下操作中的一个或多个:复制、删除和预览;
2)画布区域中的算子支持以下操作中的一个或多个:复制、删除、预览、运行当前任务、从当前任务开始运行、运行到当前任务、查看日志、查看任务详情。例如,鼠标选中一个算子后点击右键,可以查看算子支持的操作。其中,复制是将已配置/未配置参数的算子复制后粘贴至任意画布中重复使用;删除是将已经拖入画布的算子进行删除;重命名是对算子重新命名以便于标记和识别;运行当前任务,是指若上游接入的数据已满足条件,则可选择运行当前任务;从当前任务开始运行,是指从当前选中的算子开始运行至最后;运行到当前任务,是指从开始单元一直运行到当前选中算子后结束运行;预览是对算子的运行结果进行预览查看;查看日志,用于定位算子运行失败时更加详细的错误信息定位,算子运行结束后可查看;任务详情,可跳转至Yarn集群任务链接/PWS Console页面。
3)对于画布区域中的运行完成的有向无环图,响应于点击其中一个算子的操作,显示与该算子输出的产物的类型分别对应的产物类型标志,响应于点击产物类型标志的操作,展示产物相关信息界面,该产物信息相关界面包括:预览产物的控件、导出产物的控件、将产物导入元素列表的控件、产物的基本信息和保存产物的路径信息;其中算子输出的产物类型包括:数据、样本、模型和报告。
在本发明的一个实施例中,图1所述的方法中所述节点展示区域中包括如下算子:
1)数据拆分算子:数据拆分是指将一份数据集拆成两份数据的计算单元。通常,我们会将其中的一份数据作为用于训练模型的数据,另一份则用于模型评估,即验证模型。
通过数据拆分算子的配置界面对数据拆分算子进行配置。数据拆分有一个输入连接点,两个输出连接点,左输出点的输出结果记做“数据集1”,右输出点记为“数据集2”。拆分后的两份数据表可连接多个下游操作,还可对数据表进行多次连续拆分以得到更多份数据表。数据拆分算子的配置界面中提供的数据拆分方法包括按比例拆分、按规则拆分和先排序后拆分中的一种或多种。
当选择按比例拆分时可进一步选择按比例顺序拆分、按比例随机拆分和按比例分层拆分。当选择随机拆分时进一步在配置界面上提供设置随机种子参数的输入区域,随机种子参数取值范围为0-999999999之间的任意整数,系统将根据给出的随机种子生成随机数,设定随机种子的目的是在必要情况下重现随机拆分的结果。当选择分层拆分时进一步在配置界面上提供设置分层依据的字段的输入区域,分层拆分是指根据指定字段把数据集切分成若十“层”之后再进行拆分。可自定义是否开启分层拆分,选择分层拆分则需要指定一个分层依据字段。使用分层拆分的原因是有些数据集受某个字段控制分布不均匀,避免这种分布不均匀对建模效果产生不好的影响。假设,我们要做一个总统选举的投票预测,那数据集和该国家的人口分布高度相关,这时候就可能需要按人口分层拆分比较符合实际问题。示例:如果按照某数据表中的性别字段来分层,假设该字段只有0和1两个值,如果此时拆分占比设置的是0.5,则会从值为0的样本中采样50%,然后在值为1的样本中采样50%,将这两部分采样内容作为数据集1,剩余作为数据集2。
当选择按规则拆分时提供用于输入拆分规则的输入区域;拆分规则表达式可以使用SQL语法来编写,符合规则的数据被输出到数据集1,不符合规则以及返回值为NULL的被输出到数据集2。
当选择先排序后拆分时进一步在配置界面上提供拆分比例选择项、用于设置排序字段的输入区域、以及排序方向选择项。先排序后拆分是指先对数据表中某个字段排序后按比例拆分,排序方式可选择升序或降序。一般当建模场景需要通过历史数据预测未来数据时,应该对样本按时间排序后再进行拆分,以避免“时间穿越“。
2)数据清洗算子:使用数据清洗可以对每列的数据进行处理,通过对数据表中某一列定义配置函数,可以对该列数据进行清洗。数据清洗输入的是一份数据表,经配置函数处理后输出的仍然是一份数据表,在清洗之后被清洗的原始数据列将会被处理后输出的列替代。
3)数据表统计算子:使用数据表统计算子可对数据表内的字段信息开展数据统计,统计的项目有NULL数量、平均值、方差、中位数、众数等。对数据表的数据分布及统计信息的查看,可方便后续的特征处理及建模工作。
4)特征抽取算子:特征抽取算子的配置界面中提供添加输入源的接口和脚本编辑入口,还提供样本随机排序选项、特征精确统计选项、输出样本是否压缩的选项、输出明文选项、标签类型选项和输出结果存储类型选项中的至少一个。其中通过脚本编辑入口可以输入特征抽取的脚本,或者,可以自动展示数据源数据,并响应于生成配置的按钮被触发的操作,展示快速配置脚本框,用户只需要输入目标值即可快速生成脚本配置,进一步响应于触发异常验证按钮的操作,对编辑框内的脚本内容进行校验,进行错误提示。并非所有算法都需要在特征抽取后打乱特征顺序,并且shuffle本身有资源消耗,所以我们能够使用“样本随机排序”开关来控制每次特征抽取后是否要进行随机打乱,该开关是默认开启的,如不需要可选择关闭它。在特征抽取过程中,系统将自动对特征维度进行统计,进而展示产出样本数据中特征的概貌。但是由于特征维度统计需要对全体特征进行去重计数,在大规模数据场景下存在较大的性能折损。因此这里平台将默认对特征维度作近似估计,并且保证统计结果的相对误差小于0.01。如果需要进行精确的严格统计,则打开特征精确统计开关即可实现。样本表示平台文件中占用空间资源较大的一种文件,因此建议对输出的文本文件进行压缩,以提升空间利用率。特征抽取过程中会对所处理特征进行编码变换,此时特征对应的原文信息将会丢失,为了方便后续模型的深度处理(如模型debug),这里通过“是否输出明文”开关可以控制是否在产出样本的同时产出相关的明文信息,打开的情况下将会把明文信息存储在一个系统路径中,因此将带来一定的存储开销。特征抽取支持三种场景的目标值标记:二分类、多分类、回归,分别对应binary_label、multiclass_label和regression_label三种标签方法,需要提前选择后进行脚本编辑。
5)特征重要性分析算子:特征重要性分析算子的输入是带有目标值的样本表,输出为特征重要性评价报告,报告中包含各个特征的重要性系数,报告中还包含特征数、样本数和各个特征的基本统计信息中的一个或多个。特征重要性分析是指分析样本表中每个特征和目标值之间的重要性关系(与模型无关),该关系可通过重要性系数来表示,以此分析特征的异常现象,从而对模型特征进行调整优化。
6)自动特征组合算子:自动特征组合算子的配置界面中提供特征选择项、评分指标选择项、学习率设置项和终止条件选择项中的至少一个,其中,特征选择项用于确定进行特征组合的各个特征,终止条件选择项中包括最多运行特征池个数和最多输出特征数。特征组合是一种加强特征描述的能力,提升个性化预测效果的方法。自动特征组合算子可以对一份样本表做各种特征组合分析,主要用于生成基于组合方法产生的特征,并评估重要性。
7)自动调参算子:自动调参算子用于根据调参算法从给定的参数范围中搜索出合适的参数,用搜索出的参数训练模型并进行模型评估;自动调参算子的配置界面中提供特征选择设置项、调参方法选项和调参次数设置项中的至少一个,其中,特征选择设置项中可以选择全部特征或自定义特征选择,调参方法选项中可选择随机搜索或网格搜索。
8)TensorFlow算子:TensorFlow算子用于运行用户写好的TensorFlow代码,TensorFlow算子的配置界面中提供输入源设置项和TensorFlow代码文件路径设置项。TensorFlow算子给用户提供了充分的灵活性,由此也要求用户对Tensorflow十分熟悉才能自己书写TensorFlow代码。如果想使用分布式的TensorFlow需要自己书写TensorFlow的分布式代码。
9)自定义脚本算子:用于向用户提供使用特定的脚本语言自定义编写算子的接口,自定义脚本算子的配置中提供输入源设置项和脚本编辑入口。可以提供若干自定义脚本算子,各自定义脚本算子分别对应不同的脚本语言。例如业界常用的SQL、自定义的脚本语言等。
在本发明的实施例中,前述提到的特征重要性分析算子通过以下三种方式中的至少一个确定特征的重要性:
第一种确定特征重要性的方式:基于样本集训练至少一个特征池模型,其中,特征池模型是指基于样本包含的各个特征之中的至少一部分特征来提供关于机器学习问题的预测结果的机器学习模型,获取所述至少一个特征池模型的效果,并根据获取的所述至少一个特征池模型的效果来确定所述各个特征的重要性;其中,通过对所述至少一部分特征之中的至少一个连续特征执行离散化运算来训练特征池模型。
具体来说包括如下步骤:(A)获取历史数据记录,其中,所述历史数据记录包括关于机器学习问题的标记和用于生成机器学习样本的各个特征的至少一个属性信息;(B)利用获取的历史数据记录,训练至少一个特征池模型,其中,特征池模型是指基于所述各个特征之中的至少一部分特征来提供关于机器学习问题的预测结果的机器学习模型;(C)获取所述至少一个特征池模型的效果,并根据获取的所述至少一个特征池模型的效果来确定所述各个特征的重要性;其中,在步骤(B)中,通过对所述至少一部分特征之中的至少一个连续特征执行离散化运算来训练特征池模型。
这里,假设历史数据记录具有属性信息{p1,p2,…,pm}和相应的标记(其中,m是正整数),基于这些属性信息和标记,可产生与机器学习问题相应的机器学习样本,这些机器学习样本将应用于针对机器学习问题的模型训练和/或测试。上述机器学习样本的特征部分可表示为{f1,f2,…,fn}(其中,n是正整数),而本发明的示例性实施例旨在确定特征部分{f1,f2,…,fn}之中各个特征的重要程度。从{f1,f2,…,fn}之中选择至少一部分特征作为特征池模型的训练样本的特征,并将相应历史数据记录的标记作为所述训练样本的标记。所选择的至少一部分特征之中的部分或全部连续特征需经过离散化处理。可训练一个或多个特征池模型,其中,可基于相同特征池模型(所述相同特征池模型可基于机器学习样本的全部特征或一部分特征)在原始测试数据集与变换测试数据集上的预测效果差异来综合得出相应特征的重要性,其中,通过对原始测试数据集中的某些目标特征的取值进行变换来获得变换测试数据集,这样,预测效果差异即可反映出目标特征的预测作用,即,重要性;或者,可基于不同特征池模型在相同测试数据集(即,原始测试数据集)上的预测效果差异来综合得出相应特征的重要性,这里,不同特征池模型可被设计为基于不同的特征组合,这样,预测效果差异即可反映出不同特征各自的预测作用,即,重要性;特别地,可分别针对机器学习样本的每个特征来训练出单特征模型,相应地,单特征模型的预测效果即可代表其所依据的特征的重要性。应注意,上述两种衡量特征重要性的方式可单独使用,也可结合使用。
其中,在步骤(C)中,根据特征池模型在原始测试数据集和变换测试数据集上的效果之间的差异来确定所述特征池模型所基于的相应特征的重要性;其中,变换测试数据集是指通过对原始测试数据集中的其重要性待确定的目标特征的取值替换为以下项之一而获得的数据集:零值、随机数值、通过将目标特征的原始取值扰乱顺序后得到的值。其中,所述至少一个特征池模型包括一个全部特征模型,其中,全部特征模型是指基于所述各个特征之中的全部特征来提供关于机器学习问题的预测结果的机器学习模型。
其中,所述至少一个特征池模型包括多个基于不同特征组来提供关于机器学习问题的预测结果的机器学习模型;其中,在步骤(C)中,根据所述至少一个特征池模型在原始测试数据集上的效果之间的差异来确定所述各个特征的重要性。
其中,所述至少一个特征池模型包括一个或多个主特征池模型以及分别与每个主特征池模型相应的至少一个子特征池模型,其中,子特征池模型是指基于与其相应的主特征池模型所基于的特征之中除了其重要性待确定的目标特征之外的剩余特征来提供关于机器学习问题的预测结果的机器学习模型;其中,在步骤(C)中,根据主特征池模型和与其相应的各个子特征池模型在原始测试数据集上的效果之间的差异来确定相应的目标特征的重要性。
其中,所述至少一个特征池模型包括多个单特征模型,其中,单特征模型是指基于所述各个特征之中的其重要性待确定的目标特征来提供关于机器学习问题的预测结果的机器学习模型;其中,在步骤(C)中,根据单特征模型在原始测试数据集上的效果之间的差异来确定相应的目标特征的重要性。
例如,假设某特征池模型所依据的特征为机器学习样本的特征部分{f1,f2,…,fn}之中的三个特征{f1,f3,f5},并且,其中的连续特征f1在特征池模型的训练样本中是经过离散化处理的,相应地,该特征池模型在测试数据集上的AUC可反映特征组合{f1,f3,f5}的预测能力。此外,假设还有另一特征池模型所依据的两个特征为{f1,f3},同样地,连续特征f1经过了离散化处理,相应地,该特征池模型在测试数据集上的AUC可反映特征组合{f1,f3}的预测能力。在此基础上,上述两个AUC之间的差值可用于反映特征f5的重要性。
又例如,假设某特征池模型所依据的特征为机器学习样本的特征部分{f1,f2,…,fn}之中的三个特征{f1,f3,f5},并且,其中的连续特征f1在特征池模型的训练样本中是经过离散化处理的,相应地,该特征池模型在原始测试数据集上的AUC可反映特征组合{f1,f3,f5}的预测能力。这里,为了确定目标特征f5的重要性,可通过对原始测试数据集所包括的各个测试样本中的特征f5的取值进行处理来得到变换测试数据集,并进而获得特征池模型在变换测试数据集上的AUC。在此基础上,上述两个AUC之间的差值可用于反映目标特征f5的重要性。作为示例,在变换处理中,可将各原始测试样本中的特征f5的取值替换为零值、随机数值、或通过将特征f5的原始取值扰乱顺序后得到的值。
其中,所述离散化运算包括基本分箱运算和至少一个附加运算。所述至少一个附加运算包括以下种类的运算之中的至少一种运算:对数运算、指数运算、绝对值运算、高斯变换运算。所述至少一个附加运算包括与基本分箱运算分箱方式相同但分箱参数不同的附加分箱运算;或者,所述至少一个附加运算包括与基本分箱运算分箱方式不同的附加分箱运算。基本分箱运算和附加分箱运算分别对应于不同宽度的等宽分箱运算或不同深度的等深分箱。所述不同宽度或不同深度在数值上构成等比数列或等差数列。其中,执行基本分箱运算和/或附加分箱运算的步骤包括:额外设置离群箱,使得具有离群值的连续特征被分到所述离群箱。
其中,在步骤(B)中,基于对数几率回归算法来训练特征池模型。
其中,特征池模型的效果包括特征池模型的AUC。所述原始测试数据集由获取的历史数据记录构成,其中,在步骤(B)中,将获取的历史数据记录划分为多组历史数据记录以逐步地训练各个特征池模型,并且,步骤(B)还包括:使用经过当前组历史数据记录训练后的特征池模型来针对下一组历史数据记录执行预测以得到与所述下一组历史数据记录相应的分组AUC,并综合各个分组AUC来得到特征池模型的AUC;其中,在得到与所述下一组历史数据记录相应的分组AUC之后,利用所述下一组历史数据记录来继续训练经过所述当前组历史数据记录训练后的特征池模型。
其中,在步骤(B)中,在使用经过当前组历史数据记录训练后的特征池模型来针对下一组历史数据记录执行预测时,当所述下一组历史数据记录包括缺少用于产生特征池模型所基于的至少一部分特征的属性信息的缺失历史数据记录时,基于以下处理之一来得到与所述下一组历史数据记录相应的分组AUC:仅利用所述下一组历史数据记录中除了缺失历史数据记录以外的其他历史数据记录的预测结果来计算分组AUC;利用所述下一组历史数据记录的全部历史数据记录的预测结果来计算分组AUC,其中,将缺失历史数据记录的预测结果设置为默认值,所述默认值基于预测结果的取值范围来确定或基于获取的历史数据记录的标记分布来确定;将利用所述下一组历史数据记录中除了缺失历史数据记录以外的其他历史数据记录的预测结果计算出的AUC与所述其他历史数据记录在所述下一组历史数据记录中所占的比例相乘来得到分组AUC。
其中,在步骤(B)中,在基于对数几率回归算法来训练特征池模型时,针对连续特征设置的正则项不同于针对非连续特征设置的正则项。
其中,步骤(B)还包括:向用户提供用于配置特征池模型的以下项目之中的至少一个项目的界面:特征池模型所基于的至少一部分特征、特征池模型的算法种类、特征池模型的算法参数、离散化运算的运算种类、离散化运算的运算参数,并且,在步骤(B)中,根据用户通过所述界面配置的项目来分别训练特征池模型。其中,在步骤(B)中,响应于用户关于确定特征重要性的指示来向用户提供所述界面。
其中,所述的方法,还包括:(D)以图形化方式向用户展示确定的各个特征的重要性。其中,在步骤(D)中,按照特征的重要性的顺序来展示各个特征,并且/或者,对所述各个特征之中的一部分特征进行突出显示,其中,所述一部分特征包括与高重要性对应的重要特征、与低重要性对应的不重要特征和/或与异常重要性对应的异常特征。
第二种确定特征重要性的方式:确定样本的基本特征子集,以及确定重要性待确定的多个目标特征子集;针对所述多个目标特征子集之中的每一个目标特征子集,获取相应的复合机器学习模型,其中,所述复合机器学习模型包括根据提升框架训练而成的基本子模型和附加子模型,其中,基本子模型基于基本特征子集训练而成,附加子模型基于所述每一个目标特征子集训练而成;以及根据复合机器学习模型的效果来确定所述多个目标特征子集的重要性。
具体包括如下步骤:(A1)确定机器学习样本的基本特征子集,其中,基本特征子集包括至少一个基本特征;(B1)确定机器学习样本的重要性待确定的多个目标特征子集,其中,每一个目标特征子集包括至少一个目标特征;(C1)针对所述多个目标特征子集之中的每一个目标特征子集,获取相应的复合机器学习模型,其中,所述复合机器学习模型包括根据提升框架训练而成的基本子模型和附加子模型,其中,基本子模型基于基本特征子集训练而成,附加子模型基于所述每一个目标特征子集训练而成;以及(D1)根据复合机器学习模型的效果来确定所述多个目标特征子集的重要性。
其中,在步骤(D1)中,根据复合机器学习模型在相同数据集上的效果之间的差异来确定所述多个目标特征子集的重要性。
其中,复合机器学习模型的效果包括复合机器学习模型的AUC。
其中,所述目标特征基于基本特征而产生。
其中,所述目标特征为通过对至少一个基本特征进行组合而得到的组合特征。
其中,在步骤(C1)中,通过并行地训练多个复合机器学习模型来获取与每一个目标特征子集相应的复合机器学习模型。
其中,目标特征子集包括通过对至少一个基本特征进行组合而得到的一个组合特征,并且,所述方法还包括:(E1)以图形化方式向用户展示确定的各个组合特征的重要性。
其中,在步骤(C1)中,通过在固定已经训练出的基本子模型的情况下训练附加子模型来获取相应的复合机器学习模型。
其中,基本子模型和附加子模型的类型相同。
根据本发明的示例性实施例,对于每一个目标特征子集,需获取对应的复合机器学习模型。这里,可自身完成复合机器学习模型的训练,也可从外部获取已经训练好的复合机器学习模型。这里,复合机器学习模型包括根据提升框架(例如,梯度提升框架)训练而成的基本子模型和附加子模型,其中,基本子模型和附加子模型可以是类型相同的模型,例如,基本子模型和附加子模型可以都是线性模型(例如,对数几率回归模型),此外,基本子模型和附加子模型也可以具有不同的类型。这里,各个复合机器学习模型的提升框架可以是相同的,即,各个复合机器学习模型具有相同类型的基本子模型和相同类型的附加子模型,区别仅在于附加子模型所依据的目标特征子集不一样。
假设单个复合机器学习模型表示为F,这里,F可由基本子模型fbase和附加子模型fadd组成,假设输入的训练数据记录表示为x,在按照确定的基本特征子集和目标特征子集经过相应的特征处理之后,基本子模型fbase对应的样本部分的特征为xb,附加子模型fadd对应的样本部分的特征为xa。相应地,可按照以下的等式来构建复合机器学习模型F:
F(x)=fbase(xb)+fadd(xa)
然而,应注意,基本子模型和附加子模型除了可基于相同的训练数据记录集训练而成之外,还可基于不同的训练数据记录集训练而成。例如,上述两种子模型均可基于全体训练数据记录训练而成,或者,也可分别基于从全体训练数据记录中采样的一部分训练数据记录训练而成。作为示例,可根据预设的采样策略为基本子模型和附加子模型分配相应的训练数据记录,例如,可将较多的训练数据记录分配给基本子模型,而将较少的训练数据记录分配给附加子模型,这里,不同子模型分配的训练数据记录之间可具有一定比例的交集或者完全没有交集。通过根据采样策略来确定各个子模型所使用的训练数据记录,可进一步提升整个机器学习模型的效果。
第三种确定特征重要性的方式:对样本中的至少一个候选特征进行重要性的预排序,并根据预排序结果从所述至少一个候选特征中筛选出一部分候选特征以组成候选特征池;以及对候选特征池中的各个候选特征进行重要性的再排序,并根据再排序结果从候选特征池中选择重要性较高的至少一个候选特征作为重要特征。
具体包括如下步骤:(A2)获取历史数据记录,其中,所述历史数据记录包括多个属性信息;(B2)基于所述多个属性信息生成至少一个候选特征;(C2)对所述至少一个候选特征进行重要性的预排序,并根据预排序结果从所述至少一个候选特征中筛选出一部分候选特征以组成候选特征池;以及(D2)对候选特征池中的各个候选特征进行重要性的再排序,并根据再排序结果从候选特征池中选择重要性较高的至少一个候选特征作为重要特征。
其中,在步骤(C2)中,基于第一数量的历史数据记录进行预排序;在步骤(D2)中,基于第二数量的历史数据记录进行再排序,并且,第二数量不少于第一数量。第二数量的历史数据记录包括第一数量的历史数据记录。
其中,在步骤(C2)中,根据预排序结果从所述至少一个候选特征中筛选出重要性较高的候选特征以组成候选特征池。
其中,在步骤(C2)中,通过以下处理来进行预排序:针对每一个候选特征,得到预排序单特征机器学习模型,基于各个预排序单特征机器学习模型的效果来确定各个候选特征的重要性,其中,预排序单特征机器学习模型对应所述每一个候选特征。作为示例,假设存在N(N为大于1的整数)个候选特征fn,其中,n∈[1,N]。相应地,预排序装置300可利用至少一部分历史数据记录来构建N个预排序单特征机器学习模型(其中,每一个预排序单特征机器学习模型基于相应的单个候选特征fn来针对机器学习问题进行预测),然后衡量这N个预排序单特征机器学习模型在相同测试数据集上的效果(例如,AUC(ROC(受试者工作特征,Receiver Operating Characteristic)曲线下的面积,Area Under ROC Curve)、MAE(平均绝对误差,Mean Absolute Error)等),并基于效果的排序来确定各个候选特征的重要性顺序。
其中,在步骤(C2)中,通过以下处理来进行预排序:针对每一个候选特征,得到预排序整体机器学习模型,基于各个预排序整体机器学习模型的效果来确定各个候选特征的重要性,其中,预排序整体机器学习模型对应预排序基本特征子集和所述每一个候选特征。作为示例,这里的预排序整体机器学习模型可以是对数几率回归(LR)模型;相应地,预排序整体机器学习模型的样本由预排序基本特征子集和所述每一个候选特征组成。假设存在N个候选特征fn,相应地,可利用至少一部分历史数据记录来构建N个预排序整体机器学习模型(其中,每一个预排序整体机器学习模型的样本特征包括固定的预排序基本特征子集和相应的候选特征fn),然后衡量这N个预排序整体机器学习模型在相同测试数据集上的效果(例如,AUC、MAE等),并基于效果的排序确定各个候选特征的重要性顺序。
其中,在步骤(C2)中,通过以下处理来进行预排序:针对每一个候选特征,得到预排序复合机器学习模型,基于各个预排序复合机器学习模型的效果来确定各个候选特征的重要性,其中,预排序复合机器学习模型包括基于提升框架的预排序基本子模型和预排序附加子模型,其中,预排序基本子模型对应预排序基本特征子集,预排序附加子模型对应所述每一个候选特征。作为示例,假设存在N个候选特征fn,相应地,可利用至少一部分历史数据记录来构建N个预排序复合机器学习模型(其中,每一个预排序复合机器学习模型基于固定的预排序基本特征子集和相应的候选特征fn,按照提升框架来针对机器学习问题进行预测),然后衡量这N个预排序复合机器学习模型在相同测试数据集上的效果(例如,AUC、MAE等),并基于效果的排序确定各个候选特征的重要性顺序。优选地,为了进一步提高运算效率并降低资源消耗,预排序装置300可通过在固定预排序基本子模型的情况下,分别针对每一个候选特征fn训练预排序附加子模型来构建各个预排序复合机器学习模型。
其中,预排序基本特征子集包括由所述多个属性信息之中的至少一个属性信息自身单独表示的单位特征,并且,候选特征包括由所述单位特征组合而成的组合特征。
其中,在步骤(D2)中,通过以下处理来进行再排序:针对候选特征池中的每一个候选特征,得到再排序单特征机器学习模型,基于各个再排序单特征机器学习模型的效果来确定各个候选特征的重要性,其中,再排序单特征机器学习模型对应所述每一个候选特征。
其中,在步骤(D2)中,通过以下处理来进行再排序:针对候选特征池中的每一个候选特征,得到再排序整体机器学习模型,基于各个再排序整体机器学习模型的效果来确定各个候选特征的重要性,其中,再排序复合机器学习模型对应再排序基本特征子集和所述每一个候选特征。
其中,在步骤(D2)中,通过以下处理来进行再排序:针对候选特征池中的每一个候选特征,得到再排序复合机器学习模型,基于各个再排序复合机器学习模型的效果来确定各个候选特征的重要性,其中,再排序复合机器学习模型包括基于提升框架的再排序基本子模型和再排序附加子模型,其中,再排序基本子模型对应再排序基本特征子集,再排序附加子模型对应所述每一个候选特征。
其中,再排序基本特征子集包括由所述多个属性信息之中的至少一个属性信息自身单独表示的单位特征,并且,候选特征包括由所述单位特征组合而成的组合特征。
该方法,还包括:(E2)检验所述重要特征是否适于作为机器学习样本的特征。
其中,在步骤(E2)中,利用基于由所述多个属性信息之中的至少一个属性信息自身单独表示的单位特征的机器学习模型在引入所述重要特征之后的效果变化来检验所述重要特征是否适于作为机器学习样本的特征。
其中,在检验结果为所述重要特征不适于作为机器学习样本的特征的情况下,根据预排序结果从所述至少一个候选特征中筛选出另外的一部分候选特征以组成新的候选特征池,并重新执行步骤(D2)和步骤(E2)。
在本发明的示例性实施例中,步骤(B2)中基于所述多个属性信息生成至少一个候选特征具体为:针对历史数据记录的至少一部分属性信息,可产生相应的连续特征,这里,连续特征是与离散特征(例如,类别特征)相对的一种特征,其取值可以是具有一定连续性的数值,例如,距离、年龄、金额等。相对地,作为示例,离散特征的取值不具有连续性,例如,可以是“来自北京”、“来自上海”或“来自天津”、“性别为男”、“性别为女”等无序分类的特征。可将历史数据记录中的某种离散值属性信息直接作为对应的离散特征,或者,也可通过对历史数据记录中的某些属性信息(例如,连续值属性和/或离散值属性信息)进行处理,以得到相应的离散特征。
举例说来,可将历史数据记录中的某种连续值属性信息直接作为对应的连续特征,例如,可将距离、年龄、金额等属性信息直接作为相应的连续特征。或者,也可通过对历史数据记录中的某些属性信息(例如,连续值属性和/或离散值属性信息)进行处理,以得到相应的连续特征,例如,将身高与体重的比值作为相应的连续特征。可根据需要对连续值属性信息进行离散化和/或对离散值属性信息进行连续化等,可对原始或经过处理的不同属性值信息进行进一步的运算或结合等。甚至,特征之间也可以进行任意组合或运算,例如,离散特征之间可进行笛卡尔积组合。
根据本发明的一个实施例,前述提到的自动特征组合算子通过以下方式中的至少一个进行特征组合:
第一种进行自动特征组合的方式:针对样本中的每一个连续特征,执行至少一种分箱运算,以得到由至少一个分箱特征组成的分箱组特征,其中,每种分箱运算对应一个分箱特征;以及通过在分箱组特征和/或样本中的其他离散特征之间进行特征组合来生成机器学习样本的组合特征;
具体来说包括:(A3)获取数据记录,其中,所述数据记录包括多个属性信息;(B3)针对基于所述多个属性信息产生的每一个连续特征,执行至少一种分箱运算,以得到由至少一个分箱特征组成的分箱组特征,其中,每种分箱运算对应一个分箱特征;以及(C3)通过在分箱组特征和/或基于所述多个属性信息产生的其他离散特征之间进行特征组合来生成机器学习样本的组合特征。
这里,可执行至少一种分箱运算,从而能够同时获得多个从不同的角度、尺度/层面来刻画原始数据记录的某些属性的离散特征。这里,分箱(binning)运算是指将连续特征进行离散化的一种特定方式,即,将连续特征的值域划分为多个区间(即,多个箱子),并基于划分的箱子来确定相应的分箱特征值。分箱运算大体上可划分为有监督分箱和无监督分箱,这两种类型各自包括一些具体的分箱方式,例如,有监督分箱包括最小熵分箱、最小描述长度分箱等,而无监督分箱包括等宽分箱、等深分箱、基于k均值聚类的分箱等。在每种分箱方式下,可设置相应的分箱参数,例如,宽度、深度等。应注意,根据本发明的示例性实施例,由分箱组特征生成装置200执行的分箱运算不限制分箱方式的种类,也不限制分箱运算的参数,并且,相应产生的分箱特征的具体表示方式也不受限制。以无监督下的等宽分箱为例,假设连续特征的取值区间为[0,100],相应的分箱参数(即,宽度)为50,则可分出2个箱子,在这种情况下,取值为61.5的连续特征对应于第2个箱子,如果这两个箱子的标号为0和1,则所述连续特征对应的箱子标号为1。或者,假设分箱宽度为10,则可分出10个箱子,在这种情况下,取值为61.5的连续特征对应于第7个箱子,如果这十个箱子的标号为0到9,则所述连续特征对应的箱子标号为6。或者,假设分箱宽度为2,则可分出50个箱子,在这种情况下,取值为61.5的连续特征对应于第31个箱子,如果这五十个箱子的标号为0到49,则所述连续特征对应的箱子标号为30。
在步骤(B3)之前,还包括:(D3)从预定数量的分箱运算中选择所述至少一种分箱运算,使得与选择的分箱运算对应的分箱特征的重要性不低于与未被选择的分箱运算对应的分箱特征的重要性。
在步骤(D3)中,针对与所述预定数量的分箱运算对应的分箱特征之中的每一个分箱特征,构建单特征机器学习模型,基于各个单特征机器学习模型的效果来确定各个分箱特征的重要性,并基于各个分箱特征的重要性来选择所述至少一种分箱运算,其中,单特征机器学习模型对应所述每一个分箱特征。
或者,在步骤(D3)中,针对与所述预定数量的分箱运算对应的分箱特征之中的每一个分箱特征,构建复合机器学习模型,基于各个复合机器学习模型的效果来确定各个分箱特征的重要性,并基于各个分箱特征的重要性来选择所述至少一种分箱运算,其中,复合机器学习模型包括基于提升框架的基本子模型和附加子模型,其中,基本子模型对应基本特征子集,附加子模型对应所述每一个分箱特征。其中,根据关于组合特征的搜索策略,按照迭代的方式来生成机器学习样本的组合特征。其中,针对每一轮迭代来执行步骤(D3)以更新所述至少一种分箱运算,并且,每一轮迭代中生成的组合特征作为新的离散特征被加入基本特征子集。其中,通过在固定基本子模型的情况下分别训练附加子模型来构建各个复合机器学习模型。
在步骤(C3)中,分箱组特征和/或所述其他离散特征之间按照笛卡尔积进行特征组合。
其中,所述至少一种分箱运算分别对应于不同宽度的等宽分箱运算或不同深度的等深分箱运算。所述不同宽度或不同深度在数值上构成等比数列或等差数列。
分箱特征指示连续特征按照对应的分箱运算被分到了哪个箱子。
所述每一个连续特征由所述多个属性信息之中的连续值属性信息自身形成,或者,所述每一个连续特征通过对所述多个属性信息之中的离散值属性信息进行连续变换而形成。所述连续变换指示对所述离散值属性信息的取值进行统计。
其中,通过在固定基本子模型的情况下分别训练附加子模型来构建各个复合机器学习模型。
在本发明的实施例中,可将单个离散特征看做一阶特征,根据本发明的示例性实施例,可进行两阶、三阶等更高阶的特征组合,直至满足预定的截止条件。作为示例,可根据关于组合特征的搜索策略,按照迭代的方式来生成机器学习样本的组合特征。
图3示出根据本发明示例性实施例的用于生成组合特征的搜索树的示例。根据本发明的示例性实施例,例如,所述搜索树可基于诸如集束搜索的启发式搜索策略,其中,搜索树的一层可对应于特定阶数的特征组合。
参照图3,假设可进行组合的离散特征包括特征A、特征B、特征C、特征D和特征E,作为示例,特征A、特征B、特征C可以是由数据记录的离散值属性信息自身形成的离散特征,而特征D和特征E可以是由连续特征转换而来的分箱组特征。
根据搜索策略,在第一轮迭代中,选取了作为一阶特征的特征B和特征E这两个节点,这里,可将例如特征重要性等作为指标来对各个节点进行排序,并进而选取一部分节点以在下一层继续扩展。
在下一轮迭代中,基于特征B和特征E来生成作为二阶组合特征的特征BA、特征BC、特征BD、特征BE、特征EA、特征EB、特征EC、特征ED,并继续基于排序指标选取了其中的特征BC和特征EA。作为示例,特征BE和特征EB可被看做相同的组合特征。
按照上述方式继续进行迭代,直至满足特定的截止条件,例如,阶数限制等。这里,在每一层中被选择的节点(用实线示出)可作为组合特征以进行后续的处理,例如,作为最终采用的特征或进行进一步的重要性评价,而其余特征(用虚线示出)被剪枝。
第二种进行自动特征组合的方式:按照启发式搜索策略,在样本的至少一个特征之间逐阶段地进行特征组合以生成候选组合特征,其中,针对每一阶段,从候选组合特征集合中选择目标组合特征以作为机器学习样本的组合特征。
具体地,本发明中的一种生成机器学习样本的组合特征的方法,包括:(A4)获取历史数据记录,其中,所述历史数据记录包括多个属性信息;以及(B4)按照启发式搜索策略,在基于所述多个属性信息生成的至少一个特征之间逐阶段地进行特征组合以生成候选组合特征;其中,针对每一阶段,从候选组合特征集合中选择目标组合特征以作为机器学习样本的组合特征。这里的启发式搜索策略参照图3,这里不再复述。
其中,所述至少一个特征为至少一个离散特征,其中,通过对所述多个属性信息之中的至少一个连续值属性信息和/或离散值属性信息进行处理而生成所述离散特征;或者,所述至少一个特征为至少一个连续特征,其中,通过对所述多个属性信息之中的至少一个连续值属性信息和/或离散值属性信息进行处理而生成所述连续特征。
其中,在所述启发式搜索策略下,通过将当前阶段中选择的目标组合特征与所述至少一个特征进行组合来生成下一阶段的候选组合特征。
其中,在所述启发式搜索策略下,通过在当前阶段和先前阶段中选择的目标组合特征之间进行两两组合来生成下一阶段的候选组合特征。
其中,候选组合特征集合包括在当前阶段中生成的候选组合特征。
其中,候选组合特征集合包括在当前阶段中生成的候选组合特征以及在先前阶段中生成的未被选择作为目标组合特征的全部候选组合特征。
其中,候选组合特征集合包括在当前阶段中生成的候选组合特征以及在先前阶段中生成的未被选择作为目标组合特征的一部分候选组合特征。所述一部分候选组合特征为在先前阶段中生成的未被选择作为目标组合特征的候选组合特征之中重要性较高的候选组合特征。
其中,目标组合特征为候选组合特征集合中重要性较高的候选组合特征。
第三种进行自动特征组合的方式:获取样本中的能够进行组合的单位特征;向用户提供用于设置特征组合配置项的图形界面,其中,所述特征组合配置项用于限定如何在单位特征之间进行特征组合;接收用户为了设置特征组合配置项而在图形界面上执行的输入操作,并根据所述输入操作来获取用户设置的特征组合配置项;以及基于获取的特征组合配置项对单位特征之中的待组合特征进行组合,以生成机器学习样本的组合特征。
具体地,本发明中的一种生成机器学习样本的组合特征的方法,包括:(A5)获取能够进行组合的单位特征;(B5)向用户提供用于设置特征组合配置项的图形界面,其中,所述特征组合配置项用于限定如何在单位特征之间进行特征组合;(C5)接收用户为了设置特征组合配置项而在图形界面上执行的输入操作,并根据所述输入操作来获取用户设置的特征组合配置项;以及(D5)基于获取的特征组合配置项对单位特征之中的待组合特征进行组合,以生成机器学习样本的组合特征。这里,单位特征是能够进行特征组合的最小单位。
其中,特征组合配置项包括以下项之中的至少一项:特征配置项,用于指定单位特征之中的待组合特征,使得在步骤(D5)中对指定的待组合特征进行组合;评价指标配置项,用于指定组合特征的评价指标,使得在步骤(D5)中按照指定的评价指标来衡量与各种组合特征相应的机器学习模型的效果以确定待组合特征的组合方式;训练参数配置项,用于指定机器学习模型的训练参数,使得在步骤(D5)中通过衡量在指定的训练参数下得到的与各种组合特征相应的机器学习模型的效果来确定待组合特征的组合方式。特征组合配置项还包括:分桶运算配置项,用于指定将对待组合特征之中的至少一个连续特征分别执行的一种或多种分桶运算,使得在步骤(D5)中对所述至少一个连续特征分别执行指定的一种或多种分桶运算以得到相应的一个或多个分桶特征,并将得到的分桶特征作为整体与其他待组合特征进行组合。所述分桶运算配置项用于分别针对每一个连续特征指定一种或多种分桶运算;或者,所述分桶运算配置项用于针对所有连续特征统一指定一种或多种分桶运算。
作为示例,与特定组合特征相应的机器学习模型可指示该机器学习模型的样本包括所述特定组合特征。根据本发明的示例性实施例,在进行单位特征的组合时,可通过衡量与组合特征相应的机器学习模型的效果来确定是否采用该组合特征。这里,所设置的评价指标可用于衡量与各种组合特征相应的机器学习模型的效果,如果某机器学习模型的评价指标越高,则与该机器学习模型相应的组合特征越容易被确定为机器学习样本的组合特征。作为示例,训练参数配置项可包括一个或多个不同训练参数的配置项。例如,训练参数配合项可包括学习率配置项和/或调参次数配置项等。对于每一个连续特征而言,对其执行的每种分桶运算可产生一个分桶特征,相应的,由所有分桶特征组成的特征可代替原始的连续特征而参与待组合特征之间的自动组合。作为示例,分桶运算配置项可进一步包括分桶方式配置项和/或分桶参数配置项。分桶方式配置项用于指定分桶运算所使用的分桶方式。分桶参数配置项用于指定分桶方式的分桶参数。例如,可通过分桶方式配置项指定等宽分桶方式或等深分桶方式,可通过分桶参数配置项指定桶数量、或桶宽度、或桶深度等。这里,用户可手动输入或选择分桶参数配置项的数值,特别地,可提示用户按照等比或等差关系来设置等宽/等深分桶的各个宽度/深度。
在步骤(D5)之后,所述的方法,还包括:(E5)向用户显示生成的组合特征。在步骤(E5)中,还向用户显示每个组合特征关于评价指标的评价值。
在步骤(D5)之后,所述的方法,还包括:(F5)直接将生成的组合特征应用于后续的机器学习步骤。
在步骤(E5)之后,所述的方法,还包括:(G5)将用户从显示的组合特征中选出的组合特征应用于后续的机器学习步骤。
在步骤(D5)之后,所述的方法,还包括:(H5)将在步骤(D5)中生成的组合特征的组合方式以配置文件的形式进行保存。
在步骤(G5)之后,所述的方法,还包括:(I5)将用户在步骤(G5)中选出的组合特征的组合方式以配置文件的形式进行保存。
其中,在步骤(A5)中,通过对数据记录的属性信息进行特征处理来得到单位特征。
根据本发明的示例性实施例,可通过有向无环图(DAG图)的形式来执行机器学习流程,该机器学习流程可涵盖用于进行机器学习模型训练、测试或预估的全部或部分步骤。例如,可针对特征自动组合来建立包括历史数据导入步骤、数据拆分步骤、特征抽取步骤、自动特征组合步骤的DAG图。也即,上述各个步骤可作为DAG图中的节点而被执行。
第四种进行自动特征组合的方式:按照搜索策略,在样本的至少一个离散特征之间迭代地进行特征组合以生成候选组合特征,并从生成的候选组合特征中选择目标组合特征以作为组合特征;其中,针对每一轮迭代,对候选组合特征集合中的各个候选组合特征进行重要性的预排序,根据预排序结果从候选组合特征集合中筛选出一部分候选组合特征以组成候选组合特征池,对候选组合特征池中的各个候选组合特征进行重要性的再排序,根据再排序结果从候选组合特征池中选择重要性较高的至少一个候选组合特征作为目标组合特征。
具体地,一种生成机器学习样本的组合特征的方法,包括:(A6)获取历史数据记录,其中,所述历史数据记录包括多个属性信息;以及(B6)按照搜索策略,在基于所述多个属性信息生成的至少一个离散特征之间迭代地进行特征组合以生成候选组合特征,并从生成的候选组合特征中选择目标组合特征以作为机器学习样本的组合特征。其中,针对每一轮迭代,对候选组合特征集合中的各个候选组合特征进行重要性的预排序;根据预排序结果从候选组合特征集合中筛选出一部分候选组合特征以组成候选组合特征池;对候选组合特征池中的各个候选组合特征进行重要性的再排序;根据再排序结果从候选组合特征池中选择重要性较高的至少一个候选组合特征作为目标组合特征。这里的搜索策略参照图3,这里不再复述。
其中,基于第一数量的历史数据记录进行预排序,基于第二数量的历史数据记录进行再排序,并且,第二数量不少于第一数量。
其中,根据预排序结果从候选组合特征集合中筛选出重要性较高的候选组合特征以组成候选组合特征池。
其中,候选组合特征集合包括在当前轮迭代中生成的候选组合特征;或者,候选组合特征集合包括在当前轮迭代中生成的候选组合特征以及在先前轮迭代中生成的未被选择作为目标组合特征的候选组合特征。
其中,通过将当前轮迭代中选择的目标组合特征与所述至少一个离散特征进行组合来生成下一轮迭代的候选组合特征;或者,通过在当前轮迭代和先前轮迭代中选择的目标组合特征之间进行两两组合来生成下一轮迭代的候选组合特征。
其中,所述至少一个离散特征包括通过以下处理从基于所述多个属性信息产生的连续特征转换而来的离散特征:针对每一个连续特征,执行至少一种分箱运算,以生成由至少一个分箱特征组成的离散特征,其中,每种分箱运算对应一个分箱特征。所述至少一种分箱运算是针对每一轮迭代或针对所有轮迭代从预定数量的分箱运算中选择的,其中,与选择的分箱运算对应的分箱特征的重要性不低于与未被选择的分箱运算对应的分箱特征的重要性。
具体地,通过以下处理来选择所述至少一种分箱运算:针对与所述预定数量的分箱运算对应的分箱特征之中的每一个分箱特征,得到分箱单特征机器学习模型,基于各个分箱单特征机器学习模型的效果来确定各个分箱特征的重要性,并基于各个分箱特征的重要性来选择所述至少一种分箱运算,其中,分箱单特征机器学习模型对应所述每一个分箱特征。或者,通过以下处理来选择所述至少一种分箱运算:针对与所述预定数量的分箱运算对应的分箱特征之中的每一个分箱特征,得到分箱整体机器学习模型,基于各个分箱整体机器学习模型的效果来确定各个分箱特征的重要性,并基于各个分箱特征的重要性来选择所述至少一种分箱运算,其中,分箱整体机器学习模型对应分箱基本特征子集和所述每一个分箱特征。再或者,通过以下处理来选择所述至少一种分箱运算:针对与所述预定数量的分箱运算对应的分箱特征之中的每一个分箱特征,得到分箱复合机器学习模型,基于各个分箱复合机器学习模型的效果来确定各个分箱特征的重要性,并基于各个分箱特征的重要性来选择所述至少一种分箱运算,其中,分箱复合机器学习模型包括基于提升框架的分箱基本子模型和分箱附加子模型,其中,分箱基本子模型对应分箱基本特征子集,分箱附加子模型对应所述每一个分箱特征。其中,分箱基本特征子集包括在当前轮迭代之前选择的目标组合特征。
其中,通过以下处理来进行预排序:针对候选组合特征集合中的每一个候选组合特征,得到预排序单特征机器学习模型,基于各个预排序单特征机器学习模型的效果来确定各个候选组合特征的重要性,其中,预排序单特征机器学习模型对应所述每一个候选组合特征。
其中,通过以下处理来进行预排序:针对候选组合特征集合中的每一个候选组合特征,得到预排序整体机器学习模型,基于各个预排序整体机器学习模型的效果来确定各个候选组合特征的重要性,其中,预排序整体机器学习模型对应预排序基本特征子集和所述每一个候选组合特征。
其中,通过以下处理来进行预排序:针对候选组合特征集合中的每一个候选组合特征,得到预排序复合机器学习模型,基于各个预排序复合机器学习模型的效果来确定各个候选组合特征的重要性,其中,预排序复合机器学习模型包括基于提升框架的预排序基本子模型和预排序附加子模型,其中,预排序基本子模型对应预排序基本特征子集,预排序附加子模型对应所述每一个候选组合特征。
其中,预排序基本特征子集包括在当前轮迭代之前选择的目标组合特征。
其中,通过以下处理来进行再排序:针对候选组合特征池中的每一个候选组合特征,得到再排序单特征机器学习模型,基于各个再排序单特征机器学习模型的效果来确定各个候选组合特征的重要性,其中,再排序单特征机器学习模型对应所述每一个候选组合特征。
其中,通过以下处理来进行再排序:针对候选组合特征池中的每一个候选组合特征,得到再排序整体机器学习模型,基于各个再排序整体机器学习模型的效果来确定各个候选组合特征的重要性,其中,再排序复合机器学习模型对应再排序基本特征子集和所述每一个候选组合特征。
其中,通过以下处理来进行再排序:针对候选组合特征池中的每一个候选组合特征,得到再排序复合机器学习模型,基于各个再排序复合机器学习模型的效果来确定各个候选组合特征的重要性,其中,再排序复合机器学习模型包括基于提升框架的再排序基本子模型和再排序附加子模型,其中,再排序基本子模型对应再排序基本特征子集,再排序附加子模型对应所述每一个候选组合特征。
其中,再排序基本特征子集包括在当前轮迭代之前选择的目标组合特征。
其中,步骤(B6)还包括:针对每一轮迭代,检验选择的目标组合特征是否适于作为机器学习样本的组合特征。在步骤(B6)中,利用基于已经通过检验的目标组合特征的机器学习模型在引入所述选择的目标组合特征之后的效果变化来检验所述选择的目标组合特征是否适于作为机器学习样本的组合特征。在检验结果为所述选择的目标组合特征适于作为机器学习样本的组合特征的情况下,将所述选择的目标组合特征作为机器学习样本的组合特征,并执行下一轮迭代;在检验结果为所述选择的目标组合特征不适于作为机器学习样本的组合特征的情况下,根据预排序结果从候选组合特征集合中筛选出另外的一部分候选组合特征以组成新的候选组合特征池。
这里,可采用任何适当的方式来自动确定分箱特征的重要性。
例如,可针对与预定数量的分箱运算对应的分箱特征之中的每一个分箱特征,得到分箱单特征机器学习模型,基于各个分箱单特征机器学习模型的效果来确定各个分箱特征的重要性,并基于各个分箱特征的重要性来选择所述至少一种分箱运算,其中,分箱单特征机器学习模型对应所述每一个分箱特征。
作为示例,假设对于连续特征F而言,存在预定数量M(M为大于1的整数)种分箱运算,对应M个分箱特征fm,其中,m∈[1,M]。相应地,可利用至少一部分历史数据记录来构建M个分箱单特征机器学习模型(其中,每一个分箱单特征机器学习模型基于相应的单个分箱特征fm来针对机器学习问题进行预测),然后衡量这M个分箱单特征机器学习模型在相同测试数据集上的效果(例如,AUC(ROC(受试者工作特征,Receiver OperatingCharacteristic)曲线下的面积,Area Under ROC Curve)、MAE(平均绝对误差,MeanAbsolute Error)等),并基于效果的排序来确定最终执行的至少一种分箱运算。
又例如,可针对与所述预定数量的分箱运算对应的分箱特征之中的每一个分箱特征,得到分箱整体机器学习模型,基于各个分箱整体机器学习模型的效果来确定各个分箱特征的重要性,并基于各个分箱特征的重要性来选择所述至少一种分箱运算,其中,分箱整体机器学习模型对应分箱基本特征子集和所述每一个分箱特征。作为示例,这里的分箱整体机器学习模型可以是对数几率回归(LR)模型;相应地,分箱整体机器学习模型的样本由分箱基本特征子集和所述每一个分箱特征组成。
作为示例,假设对于连续特征F而言,存在预定数量M种分箱运算,对应M个分箱特征fm,相应地,可利用至少一部分历史数据记录来构建M个分箱整体机器学习模型(其中,每一个分箱整体机器学习模型的样本特征包括固定的分箱基本特征子集和相应的分箱特征fm),然后衡量这M个分箱整体机器学习模型在相同测试数据集上的效果(例如,AUC、MAE等),并基于效果的排序来确定最终执行的至少一种分箱运算。
又例如,可针对与所述预定数量的分箱运算对应的分箱特征之中的每一个分箱特征,得到分箱复合机器学习模型,基于各个分箱复合机器学习模型的效果来确定各个分箱特征的重要性,并基于各个分箱特征的重要性来选择所述至少一种分箱运算,其中,分箱复合机器学习模型包括基于提升框架(例如,梯度提升框架)的分箱基本子模型和分箱附加子模型,其中,分箱基本子模型对应分箱基本特征子集,分箱附加子模型对应所述每一个分箱特征。
作为示例,假设对于连续特征F而言,存在预定数量M种分箱运算,对应M个分箱特征fm,相应地,可利用至少一部分历史数据记录来构建M个分箱复合机器学习模型(其中,每一个分箱复合机器学习模型基于固定的分箱基本特征子集和相应的分箱特征fm,按照提升框架来针对机器学习问题进行预测),然后衡量这M个分箱复合机器学习模型在相同测试数据集上的效果(例如,AUC、MAE等),并基于效果的排序来确定最终执行的至少一种分箱运算。优选地,为了进一步提高运算效率并降低资源消耗,可通过在固定分箱基本子模型的情况下,分别针对每一个分箱特征fm训练分箱附加子模型来构建各个分箱复合机器学习模型。
根据本发明的示例性实施例,分箱基本特征子集可固定地应用于所有相关分箱整体机器学习模型或分箱复合机器学习模型中的分箱基本子模型,这里,针对第一轮迭代,分箱基本特征子集可以为空;或者,可将任何基于历史数据记录的属性信息产生的特征作为分箱基本特征,例如,可将历史数据记录的一部分属性信息或全部属性信息直接作为分箱基本特征。此外,作为示例,可考虑实际的机器学习问题,基于估算或根据业务人员指定来确定相对重要或基本的特征作为分箱基本特征。
这里,可利用任何判断特征重要性的手段来衡量候选组合特征池中的各个候选组合特征的重要性。
例如,可针对候选组合特征池中的每一个候选组合特征,得到再排序单特征机器学习模型,基于各个再排序单特征机器学习模型的效果来确定各个候选组合特征的重要性,其中,再排序单特征机器学习模型对应所述每一个候选组合特征。
作为示例,假设候选组合特征池包括10个候选组合特征。相应地,可利用至少一部分历史数据记录来构建10个再排序单特征机器学习模型(其中,每一个再排序单特征机器学习模型基于相应的单个候选组合特征来针对机器学习问题进行预测),然后衡量这10个再排序单特征机器学习模型在相同测试数据集上的效果(例如,AUC、MAE等),并基于效果的排序来确定候选组合特征池之中的各个候选组合特征的重要性顺序。
又例如,可针对候选组合特征池中的每一个候选组合特征,得到再排序整体机器学习模型,基于各个再排序整体机器学习模型的效果来确定各个候选组合特征的重要性,其中,再排序复合机器学习模型对应再排序基本特征子集和所述每一个候选组合特征。作为示例,这里的再排序整体机器学习模型可以是LR模型;相应地,再排序整体机器学习模型的样本由再排序基本特征子集和所述每一个候选组合特征组成。
作为示例,假设候选组合特征池包括10个候选组合特征,相应地,可利用至少一部分历史数据记录来构建10个再排序整体机器学习模型(其中,每一个再排序整体机器学习模型的样本特征包括固定的再排序基本特征子集和相应的候选组合特征),然后衡量这10个再排序整体机器学习模型在相同测试数据集上的效果(例如,AUC、MAE等),并基于效果的排序确定候选组合特征池之中的各个候选组合特征的重要性顺序。
又例如,可针对候选组合特征池中的每一个候选组合特征,得到再排序复合机器学习模型,基于各个再排序复合机器学习模型的效果来确定各个候选组合特征的重要性,其中,再排序复合机器学习模型包括基于提升框架(例如,梯度提升框架)的再排序基本子模型和再排序附加子模型,其中,再排序基本子模型对应再排序基本特征子集,再排序附加子模型对应所述每一个候选组合特征。
作为示例,假设候选组合特征池包括10个候选组合特征,相应地,可利用至少一部分历史数据记录来构建10个再排序复合机器学习模型(其中,每一个再排序复合机器学习模型基于固定的再排序基本特征子集和相应的候选组合特征,按照提升框架来针对机器学习问题进行预测),然后衡量这10个再排序复合机器学习模型在相同测试数据集上的效果(例如,AUC、MAE等),并基于效果的排序确定候选组合特征池之中的各个候选组合特征的重要性顺序。优选地,为了进一步提高运算效率并降低资源消耗,通过在固定再排序基本子模型的情况下,分别针对每一个候选组合特征训练再排序附加子模型来构建各个再排序复合机器学习模型。
第五种进行自动特征组合的方式:从样本的特征中筛选出多个关键单位特征;以及利用自动特征组合算法从所述多个关键单位特征得到至少一个组合特征,其中,每个组合特征由所述多个关键单位特征之中对应的部分关键单位特征组合而成;将得到的所述至少一个组合特征作为自动生成的组合特征。
具体地,一种自动生成组合特征的方法,包括:配置特征抽取步骤,其中,所述特征抽取步骤用于针对输入的数据集中的各个数据记录的属性字段,按照多个单位特征进行特征抽取处理;配置自动特征组合步骤,其中,所述自动特征组合步骤用于基于特征抽取处理结果,利用自动特征组合算法来得到至少一个组合特征;以及运行配置的特征抽取步骤和自动特征组合步骤,将得到的所述至少一个组合特征作为自动生成的组合特征。
在本发明的实施例中,除上述基于对数据记录的属性字段进行特征处理来得到单位特征的方式之外,还可以直接将属性字段作为单位特征。上述自动生成组合特征的方法中,通过运行预先配置好的特征抽取步骤和自动特征组合步骤来获得组合特征,使得在获得组合特征的过程时,即使技术人员对业务场景没有深刻的理解,或者技术人员不具备丰富的行业实践经验,也可以对特征进行自动组合,降低了特征工程的使用门槛,提高了特征工程的易用性。
其中,所述自动特征组合步骤被配置为包括:从特征抽取处理结果中筛选出多个关键单位特征;以及利用自动特征组合算法从所述多个关键单位特征得到至少一个组合特征,其中,每个组合特征由所述多个关键单位特征之中对应的部分关键单位特征组合而成。根据特征重要性、特征关联性和/或特征填充率从特征抽取处理结果中筛选出多个关键单位特征。
作为示例,可基于机器学习模型的效果来确定特征重要性。例如,可建立分别与特征抽取处理之后获得的多个单位特征之中的每一个单位特征对应的机器学习模型(例如,机器学习模型的样本包括固定特征部分和附加特征部分,其中,附加特征部分为每一个单位特征),基于机器学习模型的效果确定出特征重要性较高的多个单位特征(例如,将所有单位特征按照特征重要性进行降序排序,处于预定数量之前的单位特征),将特征重要性较高的多个单位特征作为多个关键单位特征。此外,还可以基于各种统计方法或者特征自身的数据特性来确定特征关联性和特征填充率。
其中,所述自动特征组合算法用于遍历地产生各种候选组合特征,基于机器学习模型的效果来衡量每种候选组合特征的重要性,将重要性高的至少一个候选组合特征确定为组合特征。例如,可将每种候选组合特征作为机器学习模型的区别输入,基于机器学习模型的效果来确定每种候选组合特征的重要性,将每种候选组合特征按照重要性进行降序排序,将处于预定数量之前的候选组合特征确定为组合特征。
其中,所述自动特征组合步骤被配置为包括:基于特征抽取处理结果,并行地执行多个与所述自动特征组合算法对应的处理流程来得到所述至少一个组合特征。
其中,所述自动特征组合步骤被配置为包括:基于与数据集的每个子集对应的特征抽取处理结果,并行地执行多个与所述自动特征组合算法对应的处理流程来得到与每个子集对应的组合特征。当并行地执行多个与自动特征组合算法对应的处理流程时,其获得的组合特征可能存在重复,针对这种情况所述自动特征组合步骤被配置为还包括:对与所有子集对应的组合特征进行去重处理,将去重处理后得到的组合特征作为所述至少一个组合特征。所述特征抽取步骤对应于表示机器学习过程的有向无环图中的特征抽取节点,所述自动特征组合步骤对应于所述有向无环图中的自动特征组合节点。利用所述自动特征组合节点的配置项来配置所述自动特征组合步骤。
其中,所述自动特征组合节点的配置项包括关于是否开启关键特征筛选功能的选项开关,其中,在所述选项开关被用户开启的情况下,所述自动特征组合步骤被配置为包括:从特征抽取处理结果中筛选出多个关键单位特征;以及利用自动特征组合算法从所述多个关键单位特征得到至少一个组合特征,其中,每个组合特征由所述多个关键单位特征之中对应的部分关键单位特征组合而成。
其中,所述自动特征组合节点的配置项包括与并行地执行多个与所述自动特征组合算法对应的处理流程相关的并行运算配置项,其中,所述并行运算配置项涉及以下项之中的至少一项:并行执行的处理流程的数量、每个处理流程对应的自动特征组合算法中训练机器学习模型时的超参数。所述并行运算配置项还涉及以下项之中的至少一项:数据集的子集数量、每个子集对应的数据记录抽取规则。所述并行运算配置项具有默认配置值和/或手动配置值。涉及超参数的并行运算配置项的默认配置值使得不同处理流程对应的自动特征组合算法中训练的机器学习模型具有实质性差异。涉及超参数的并行运算配置项的默认配置值使得不同处理流程对应的自动特征组合算法中训练机器学习模型的超参数具有差异。所述超参数包括学习率,并且,涉及学习率的并行运算配置项的默认配置值使得不同处理流程对应的自动特征组合算法中训练机器学习模型的超参数呈现阶梯型递增的趋势。
其中,所述自动特征组合节点的配置项包括关于是否开启去重功能的选项开关,其中,在所述选项开关被用户开启的情况下,所述自动特征组合步骤被配置为还包括:对与所有子集对应的组合特征进行去重处理,将去重处理后得到的组合特征作为所述至少一个组合特征。
根据本发明的一个实施例,前述提到所述自动调参算子通过以下方式中的任一个进行自动调参:
第一种自动调参方式:在每一轮迭代过程中执行如下步骤:确定当前可用的资源;分别对多个超参数调优策略进行评分,根据评分结果为所述多个超参数调优策略分配当前可用的资源,其中,每个所述超参数调优策略用于基于自身所对应的超参数选择策略为所述机器学习模型选择超参数组合;获取分配到资源的各超参数调优策略分别基于所分配到的资源生成的一个或多个超参数组合。
具体的,该方法融合了多个超参数调优策略,每个所述超参数调优策略用于基于自身所对应的超参数选择策略为所述机器学习模型选择超参数组合,该方法的每一轮迭代过程包括:确定当前可用的资源;为所述多个超参数调优策略分配当前可用的资源;获取分配到资源的各超参数调优策略分别基于所分配到的资源生成的一个或多个超参数组合。
当前可用的资源,也即当前轮次待分配的资源。本发明述及的资源可以是多种类型的资源,如可以是CPU个数、CPU核数等计算力资源,也可以是表征工作时长的时间资源,还可以是表征任务个数的任务资源。在本发明中,任务个数也即需要生成的超参数组合的个数,每个需要生成的超参数组合可以视为一个任务。作为一个示例,当前可用的资源可以包括当前轮次可用的计算资源。其中,计算资源可以包括计算力资源和时间资源。例如,可以将“10个CPU核”作为当前可用的资源,也可以将“10个CPU核工作2小时”作为当前可用的资源。作为另一个示例,当前可用的资源可以包括当前轮次需要生成的超参数组合的个数。当前需要生成的超参数组合的个数可以是根据当前可用的计算资源确定的,例如,在当前可用计算资源较多时,可以确定较多数量个需要生成的超参数组合,在当前可用计算资源较少时,可以确定较少数量个需要生成的超参数组合。因此,在分配当前轮次需要生成的超参数组合的个数时,本质上也是一种计算资源的分配。
每个超参数调优策略用于基于自身所对应的超参数选择策略为机器学习模型选择超参数组合。本发明述及的超参数调优策略可以是现有的超参数调优方案,如可以是随机搜索、网格搜索、进化算法、贝叶斯优化等多种超参数调优策略。其中,多个超参数调优策略可以包括一个或多个非模型导向搜索策略和/或一个或多个模型导向策略。非模型导向搜索策略用于基于预定的搜索方式(如随机搜索、网格搜索、进化算法等方式)从超参数搜索空间内选择超参数组合,其中,超参数搜索空间是指所有超参数的可能取值空间。模型导向策略用于基于预测模型选择超参数组合,其中,预测模型可以是基于迭代过程中生成的至少部分超参数组合进行训练得到的。可选地,模型导向策略可以是贝叶斯优化、树形结构Parzen估计器(Tree-structured Parzen Estimator,TPE)等超参数优化算法。
所述多个超参数调优策略包括:一个或多个非模型导向搜索策略,所述非模型导向搜索策略用于基于预定的搜索方式从超参数搜索空间内选择超参数组合;和/或,一个或多个模型导向策略,所述模型导向策略用于基于预测模型选择超参数组合,其中,所述预测模型是基于迭代过程中生成的至少部分超参数组合进行训练得到的。
其中,所述为所述多个超参数调优策略分配当前可用的资源包括:将当前可用的资源平均分配给所述多个超参数调优策略;或者,将当前可用的资源按照预设的比例分配给所述多个超参数调优策略。
或者,所述为所述多个超参数调优策略分配当前可用的资源包括:分别对所述多个超参数调优策略进行评分;根据评分结果为所述多个超参数调优策略分配当前可用的资源。其中,当所述多个超参数调优策略包括一个或多个模型导向策略时,在每一轮迭代过程中,该方法还包括:获取在该轮迭代过程中生成的一个或多个超参数组合分别对应的评价指标,将所述一个或多个超参数组合及其评价指标加入到所述机器学习模型的超参数组合样本集。该方法还包括:在该轮分配到资源的模型导向策略以所述机器学习模型当前的超参数组合样本集中的至少部分超参数组合为训练样本,进行模型训练,以得到所述预测模型。
其中,分别对多个超参数调优策略进行评分包括如下中的至少一种:根据各超参数调优策略的可用度,分别对所述多个超参数调优策略进行评分;根据各超参数调优策略的置信度,分别对所述多个超参数调优策略进行评分;根据各超参数调优策略在之前一轮或多轮迭代中生成的超参数组合的评价指标,分别对所述多个超参数调优策略进行评分。
其中,所述根据各超参数调优策略的可用度,分别对所述多个超参数调优策略进行评分包括:所述非模型导向搜索策略的可用度为固定常数,在迭代过程中生成的超参数组合的数量小于或等于预设阈值时,所述模型导向策略的可用度为零,在迭代过程中生成的超参数组合的数量大于所述预设阈值时,所述模型导向策略的可用度与迭代过程中生成的超参数组合的数量成正比。
其中,所述根据各超参数调优策略的置信度,分别对所述多个超参数调优策略进行评分包括:所述非模型导向搜索策略的置信度为固定常数;将迭代过程中生成的超参数组合划分为至少一对训练集和测试集,计算每个所述模型导向型策略在每对训练集和测试集下的得分,将得分平均后进行归一化,以得到每个所述模型导向型策略的置信度。
其中,所述根据各超参数调优策略在之前一个或多个轮次中生成的超参数组合的评价指标,分别对所述多个超参数调优策略进行评分包括:根据各超参数调优策略在之前一轮或多轮迭代中生成的超参数组合的评价指标在所有生成的超参数组合中的平均排名,分别对所述多个超参数调优策略进行评分,其中,评分结果与所述平均排名成正比。
其中,根据评分结果为所述多个超参数调优策略分配当前可用的资源包括:根据评分结果确定每个所述超参数调优策略的概率值,其中,所述概率值与所述评分结果成正比;将所述当前可用的资源分为多份;基于概率值对所述多个超参数调优策略进行多次抽样,以确定每份资源所属的超参数调优策略。
其中,所述当前可用的资源包括:当前轮次需要生成的超参数组合的个数;或者,当前轮次可用的计算资源。
所述的方法,还包括:当满足迭代终止条件时,从迭代过程中生成的至少部分超参数组合中选择评价指标最优的超参数组合,作为所述机器学习模型最终的超参数组合。例如,在连续预定数量个轮次下生成的超参数组合的评价指标的提升度均小于预定阈值的情况下,终止所述迭代过程;或者,在生成的超参数组合的评价指标达到预定目标的情况下,终止所述迭代过程;或者,在所消耗的资源超过预定资源阈值的情况下,终止所述迭代过程。
具体地,在本实施例中在分别对多个超参数调优策略进行评分时,主要是根据各超参数调优策略在当前轮次的状态及历史优劣情况进行评分。作为示例,在对超参数调优策略进行评分时,可以参考如下三种维度中的任意一种或多种。
维度1、超参数调优策略的可用度
超参数调优策略的可用度用于表征超参数调优策略能够为机器学习模型选择超参数组合的可用程度。以超参数调优策略分为非模型导向搜索策略和模型导向策略为例:
非模型导向搜索策略为机器学习模型选择超参数组合的过程中,不依赖迭代过程中生成的超参数组合,一直可用。因此,非模型导向搜索策略的可用度可以是固定常数,如可以是1;
模型导向策略基于预测模型来为机器学习模型选择超参数组合,而预测模型的生成依赖于迭代过程中生成的超参数组合。在初始时迭代过程中生成的超参数组合的数量较少,如小于训练预测模型所需的超参数组合的最小数值时,无法训练出预测模型,此时模型导向策略不可用。在迭代过程中生成的超参数组合的数量大于训练预测模型所需的超参数组合的最小数值时,模型导向策略可用,并且超参数组合的数量越多,训练出的预测模型的效果越好,模型导向策略的可用性越强。
因此,模型导向策略的可用度与迭代过程中生成的超参数组合的数量有关。具体地说,在迭代过程中生成的超参数组合的数量小于或等于预设阈值时,模型导向策略的可用度为0。在迭代过程中生成的超参数组合的数量大于预设阈值时,模型导向策略的可用度大于零,并且模型导向策略的可用度与迭代过程中生成的超参数组合的数量成正比。其中,预设阈值可以是训练模型导向策略的预测模型所需的超参数组合的最小数值,例如,一种模型导向策略TPE(Tree-structured Parzen Estimator,)需要至少10组评估后的超参数组合才开始构造模型,所以TPE对应的预设阈值可以设置为10。
在基于超参数调优策略的可用度,分别对多个超参数调优策略进行评分时,超参数调优策略的可用度越高,其评分也越高。例如,可以将超参数调优策略的可用度,作为该维度下的评分。
作为示例,在基于可用度对超参数调优策略i进行评分时:
如果超参数调优策略i是非模型导向搜索策略,则评分可以记为固定常数1,如可以记为:
如果超参数调优策略i是模型导向策略,则评分可以记为:
其中,表示超参数调优策略i在维度1下的评分,D是超参数样本集,|D|是超参数样本集中超参数组合的个数,函数/>是关于|D|的单调递增函数。该表达式的含义为,如果模型导向策略需要至少Mi组超参数才能构造模型,那么当|D|<Mi时,评分为负无穷,等同于最后该超参数调优策略的概率值为0,当|D|≥Mi时,模型导向策略的可用度会随着超参数样本集的的增大而提升,这个提升程度由单调递增函数fi 1(|D|)决定。单调递增函数fi 1(|D|)的具体形式可以根据实际情况设定,例如,fi 1(|D|)=|D|d,d为大于0的数值,如可以是0.5。
维度2、超参数调优策略的置信度
超参数调优策略的置信度用于表征超参数调优策略为机器学习模型选择超参数组合的可信程度,也即超参数调优策略的效果。以超参数调优策略分为非模型导向搜索策略和模型导向策略为例:非模型导向搜索策略的置信度可以视为固定常数,如可以是1;模型导向策略是基于预测模型来为机器学习模型选择超参数组合,其置信度依赖于预测模型的模型效果。因此,可以通过评估预测模型的模型效果,来确定模型导向策略的置信度。
作为示例,可以将迭代过程中生成的超参数组合划分为至少一对训练集和测试集,例如可以基于交叉验证的方式对迭代过程中生成的超参数组合进行划分,以得到多对训练集和测试集。这里,为了方便进行说明以迭代过程中生成的超参数组合为10组为例,可以将第【1-9】组超参数组合作为训练集,将第【10】组超参数组合作为测试集,将第【1-8,10】组超参数组合作为训练集,将第【9】组超参数组合作为测试集,将第【1-7,9-10】组超参数组合作为训练集,将第【8】组超参数组合作为测试集,以此类推,可以得到10对训练集和测试集。然后可以计算每个模型导向策略(也即模型导向策略的预测模型)在每对训练集和测试集下的得分。这里可以基于训练集训练预测模型,然后使用测试集对生成的预测模型进行验证,以得到模型导向型策略在该对训练集和测试集下的得分。最后可以将得分平均后进行归一化,将数值归一化到【0,1】区间,以得到每个模型导向型策略的置信度。
在基于超参数调优策略的置信度,分别对多个超参数调优策略进行评分时,超参数调优策略的置信度越高,其评分也越高。例如,可以将超参数调优策略的置信度,作为该维度下的评分。
作为示例,在基于置信度对超参数调优策略i进行评分时,如果超参数调优策略i是非模型导向搜索策略,则评分可以记为固定常数1,如可以记为如果超参数调优策略i是模型导向策略,则可以将通过上述方式计算得到的置信度作为其评分,以得到 表示超参数调优策略i在维度2下的评分。
维度3、各超参数调优策略在之前一轮或多轮迭代中生成的超参数组合的评价指标
面临不同的机器学习模型时,各个超参数调优策略的效果会存在一定的差异,为了提高针对超参数调优策略得到的评分结果的准确性和鲁棒性。本发明提出,还可以实时监测各超参数调优策略在之前一轮或多轮迭代中生成的超参数组合的评价指标,根据之前一轮或多轮迭代中生成的超参数组合的评价指标,来对超参数调优策略进行评分。
作为示例,可以根据各超参数调优策略在之前一轮或多轮迭代中生成的超参数组合的评价指标在所有生成的超参数组合中的平均排名,分别对多个超参数调优策略进行评分,其中,评分结果与平均排名成正比。
例如,可以根据超参数组合的评价指标,计算超参数调优策略i生成过的超参数组合在所有生成的超参数组合中的排名,然后根据排名计算分位数(quantile),排名越靠前分位数越高,将计算得到的分位数的平均值作为超参数调优策略i的评分。再例如,也可以根据超参数组合的评价指标,计算超参数调优策略i生成过的超参数组合在所有生成的超参数组合中的平均排名,然后根据平均排名计算分位数(quantile),平均排名越靠前分位数越高,将计算得到的分位数作为超参数调优策略i的评分。其中,分位数的大小与排名成正比,排名越靠前,分位数越大。基于维度3得到的评分可以记为
综上,针对超参数调优策略i,可以计算超参数调优策略i在上述一种或多种维度下的评分,然后根据超参数调优策略i在上述一种或多种维度下的评分,得到超参数调优策略i的最终评分。其中,可以通过多种方式计算最终评分,如可以通过求和、求乘积、加权求和等多种方式计算最终评分。作为示例,在基于上述三种维度计算超参数调优策略i的评分时,超参数调优策略i的最终评分可以记为
评分结果可以表征各个超参数调优策略在当前轮次中的优劣情况,因此可以根据评分结果为多个超参数调优策略分配当前可用的资源。作为示例,评分结果可以用于表征为超参数调优策略分配资源的概率,超参数调优策略的评分越高,表示为该超参数调优策略分配资源的概率越大。例如,可以根据评分结果确定每个超参数调优策略的概率值,并将当前可用的资源分为多份,基于概率值对多个超参数调优策略进行多次抽样,以确定每份资源所属的超参数调优策略。以共有四个超参数调优策略,且其中的超参数调优策略1对应的概率值为0.2、超参数调优策略2对应的概率值为0.8、超参数调优策略3对应的概率值为0.6以及超参数调优策略4对应的概率值为0.5为例,对于每份资源都按照各超参数调优策略对应的概率值从四个超参数调优策略中抽样出一个超参数调优策略,并将当前的该份资源分配给抽样出的该超参数调优策略。
超参数调优策略的概率值与评分结果成正比。以超参数调优策略i的最终评分记为为例,对应的概率值可以表示为:/>其中,qi(D)表示超参数调优策略i的概率值,N表示超参数调优策略的个数。
在将当前可用的资源分为多份时,可以根据多种划分标准进行划分,关于资源的具体划分方式,可以根据实际情况设定,此处仅做示例性说明。
例如,可以根据工作时长划分为多份,如当前可用的资源为“10个CPU核工作1天”时,可以划分为24份资源,每份资源为“10个CPU核工作1小时”。再例如,也可以根据CPU核数等物理资源进行划分,如当前可用的资源为“10个CPU核工作1天”时,可以划分为10份资源,每份资源为“1个CPU核工作1天”。
还例如,在当前可用的资源为“需要生成3个超参数组合”时,可以划分3份资源,每份资源为“需要生成1个超参数组合”。其中,每份资源可以视为一个任务。当前需要生成的超参数组合的个数可以根据当前可用的计算资源确定。例如,在当前可用计算资源较多时,可以确定较多数量个需要生成的超参数组合,在当前可用计算资源较少时,可以确定较少数量个需要生成的超参数组合。因此,在分配当前轮次需要生成的超参数组合的个数时,本质上也是一种计算资源的分配。
在根据评分结果为多个超参数调优策略分配当前可用的资源后,分配到资源的各超参数调优策略就可以分别基于所分配到的资源生成一个或多个超参数组合。其中,分配到资源的超参数调优策略可以基于自身对应的超参数选择策略为机器学习模型选择超参数组合,以生成一个或多个超参数组合。关于超参数组合的生成过程,不再赘述。
需要说明的是,机器学习模型超参数优化过程支持并行计算。例如,在优化过程中,分配到资源的超参数调优策略可以并行运行,以同时提供多组超参数组合。由此,可以大大提高优化速率。
考虑到使用单一策略进行机器学习模型超参数优化时,不可避免地存在某些场景效果不佳或收敛到局部最优的风险,本实施例提出,在机器学习模型超参数优化中,可以同时使用多种超参数优化策略。并且考虑到超参数优化过程中能够使用的资源有限,本实施例进一步提出了一种机器学习模型超参数优化过程中的资源调度方案,在每一轮迭代过程中,根据多个超参数调优策略在当前轮次的状态及历史优劣情况,为这多个超参数调优策略分配当前可用的资源。本实施例的这种模拟优胜劣汰的资源调度方案可以保证整个机器学习模型超参数优化过程中都使用最佳效果的超参数调优策略组合,因此,在资源有限的情况下,能够有效加速调参的收敛效率,并提升超参数优化效果。
第二种自动调参方式:在竞争阶段,通过在多个竞争超参数组合下,分别按照机器学习算法训练对应的竞争模型以获取具有最佳效果的竞争模型,将获取的竞争模型及其所对应的竞争超参数组合作为优胜模型和优胜超参数组合进入成长阶段;在成长阶段,在本轮竞争阶段得到的优胜超参数组合下,继续训练本轮竞争阶段得到的优胜模型,并获得优胜模型的效果,若优胜模型的效果指示出现模型效果停止成长,则重新开始竞争阶段以在更新的多个竞争超参数组合下,分别按照机器学习算法继续训练更新的竞争模型,否则,继续训练优胜模型,上述过程反复迭代直到满足预设终止条件;其中,更新的多个竞争超参数组合基于上一轮成长阶段的优胜超参数组合而得到,更新的竞争模型均为上一轮成长阶段得到的优胜模型。
其中,所述在竞争阶段,通过在多个竞争超参数组合下,分别按照机器学习算法训练对应的竞争模型以获取具有最佳效果的竞争模型,包括:在竞争阶段的多个竞争训练步骤之中的每一个竞争训练步骤结束时,分别获取每个竞争超参数组合下所训练的竞争模型的效果;以及基于获取的各个竞争模型的效果来调整进入下一个竞争训练步骤的竞争超参数组合及其对应的竞争模型,并获取最后一个竞争训练步骤结束时具有最佳效果的竞争模型;其中,在所述每一个竞争训练步骤,基于第一预定数量个训练样本来进行竞争模型的至少一次梯度更新。
其中,所述基于获取的各个竞争模型的效果来调整进入下一个竞争训练步骤的竞争超参数组合及其对应的竞争模型,并获取最后一个竞争训练步骤结束时具有最佳效果的竞争模型,包括:在获取的各个竞争模型的效果指示竞争模型未处于停退状态时,如当前竞争训练步骤并非最后一个竞争训练步骤,则得到进入下一个竞争训练步骤的竞争超参数组合及其对应的竞争模型,如当前竞争训练步骤为最后一个竞争训练步骤,则获取具有最佳效果的竞争模型。
其中,所述得到进入下一个竞争训练步骤的竞争超参数组合及其对应的竞争模型,包括:去除效果最差的第二预定数量个竞争模型,从而得到进入下一个竞争训练步骤的竞争超参数组合及其对应的竞争模型;或者
用效果最好的第三预定数量个竞争模型替换掉效果最差的第二预定数量个竞争模型,并对进行替换的所述效果最好的第三预定数量个竞争模型各自的竞争超参数组合进行微调,从而得到进入下一个竞争训练步骤的竞争超参数组合及其对应的竞争模型;或者
随机去除第二预定数量个竞争模型,从而得到进入下一个竞争训练步骤的竞争超参数组合及其对应的竞争模型;或者
用效果最好的第三预定数量个竞争模型替换掉随机选取的第二预定数量个竞争模型,并对效果最好的第三预定数量个竞争模型各自的超参数组合进行微调,从而得到进入下一个竞争训练步骤的竞争;或者
去除存在时间最久的第二预定数量个竞争模型,从而得到进入下一个竞争训练步骤的竞争超参数组合及其对应的竞争模型;或者
用效果最好的第三预定数量个竞争模型替换掉存在时间最久的第二预定数量个竞争模型,并对效果最好的第三预定数量个竞争模型各自的超参数组合进行微调,从而得到进入下一个竞争训练步骤的竞争;或者
直接将当前竞争训练步骤的竞争超参数组合及其对应的竞争模型作为进入下一个竞争训练步骤的竞争超参数组合及其对应的竞争模型。
其中,第二预定数量大于或者等于第三预定数量;并且/或者,第二预定数量被设置为针对每个竞争训练步骤为固定值或规律变化值。
其中,所述方法还包括获取所述竞争训练步骤的数量,包括:根据所述竞争模型的数量、训练样本的总数、所述训练样本的最大迭代次数和每一所述竞争训练步骤所能训练的训练样本数,获取所述竞争训练步骤的数量。
其中,所述在成长阶段,在本轮竞争阶段得到的优胜超参数组合下,继续训练本轮竞争阶段得到的优胜模型,并获得优胜模型的效果,包括:在成长阶段,在本轮竞争阶段得到的优胜超参数组合下,按照成长训练步骤来继续训练本轮竞争阶段得到的优胜模型,并获得每个成长训练步骤所得到的优胜模型的效果;其中,在所述每一个成长训练步骤,基于第四预定数量个训练样本来进行优胜模型的至少一次梯度更新。
所述方法还包括:基于优胜模型在连续第五预定数量个成长训练步骤得到的效果来确定优胜模型的效果是否指示出现模型效果停止成长;所述基于优胜模型在连续第五预定数量个成长训练步骤得到的效果来确定优胜模型的效果是否指示出现模型效果停止成长,包括:当优胜模型在连续第五预定数量个成长训练步骤得到的效果出现下滑趋势时,确定优胜模型的效果指示出现模型效果停止成长,其中,基于在连续第五预定数量个成长训练步骤得到的效果的下降程度和/或抖动程度来确定是否出现下滑趋势;或者,当优胜模型在连续第五预定数量个成长训练步骤得到的效果满足预设的衰减条件时,确定优胜模型的效果指示出现模型效果停止成长,其中,所述衰减条件满足存在第六预定数量个连续的效果均低于其之前第七预定数量个效果的平均值。
所述方法还包括:针对每个成长训练步骤来获得优胜模型在连续第五预定数量个成长训练步骤得到的效果,并且,所述继续训练优胜模型,包括:若优胜模型的效果指示未出现模型效果停止成长,则继续下一个成长训练步骤;或者,所述方法还包括:针对每第五预定数量个成长训练步骤来获得优胜模型在连续第五预定数量个成长训练步骤得到的效果,并且,所述继续训练优胜模型包括:若优胜模型的效果指示未出现模型效果停止成长,则继续接下来的第五预定数量个成长训练步骤。
其中,所述预设终止条件指示以下任意一项或者多项:在每一个竞争训练步骤结束时获取的各个竞争模型的效果指示竞争模型处于停退状态;训练时间达到了时间限制;以及优胜模型的效果达到了预期值。
所述方法还包括:在优胜模型的效果指示出现模型效果停止成长时,确定训练时间是否达到了时间限制;和/或,在优胜模型的效果指示出现模型效果停止成长时,确定优胜模型的效果是否达到了预期值。
其中,所述方法还包括:基于满足预设终止条件时得到的至少一个效果最好的模型来得到训练出的机器学习模型。
其中,所述竞争超参数组合中包括至少一个模型超参数和至少一个训练超参数;或者,所述竞争超参数组合中包括至少一个训练超参数。
其中,对于首轮竞争阶段的每个竞争超参数组合,其中的至少一个训练超参数通过以下方式来获取:将每一所述训练超参数的线性超参数空间划分为多份,并取中间的多个点作为每一所述训练超参数的取值候选集合;对于每一所述竞争模型,分别从每一所述训练超参数的取值候选集合中选取一个数值,形成所配置的一组训练超参数组合。
其中,对于重新开始的竞争阶段的更新的每个竞争超参数组合,其中的至少一个训练超参数通过以下方式来获取:从上一轮成长阶段的优胜超参数组合中,获取每一所述训练超参数的数值;随机地将每一所述训练超参数的数值设置为每一所述训练超参数的线性超参数空间的上边界或下边界,以得到新的线性超参数空间;将新的线性超参数空间划分为多份,并取中间的多个点作为每一所述训练超参数的取值候选集合;对于每一所述更新的竞争模型,分别从每一所述训练超参数的所述取值候选集合中选取一个数值,形成所配置的一组训练超参数组合。
其中,所述训练超参数中包括学习率,对于重新开始的竞争阶段的更新的每个竞争超参数组合,其中的学习率通过以下方式来获取:从上一轮成长阶段的优胜超参数组合中,获取所述学习率的数值;设置所述学习率的数值为所述学习率超参数空间的上边界,以得到更新的学习率超参数空间;获取更新后的所述学习率超参数空间的中间值作为备选值,并将所述备选值存储至备选值集合中;在所述备选值集合中包括的备选值个数大于或者等于所述更新的竞争模型的数量时,随机为每一所述更新的竞争模型分配对应的备选值作为对应的学习率。
其中,所述方法还包括:在所述备选值集合中包括的备选值个数小于所述更新的竞争模型的数量时,将当前得到的备选值作为所述学习率超参数空间的下边界,以得到更新的学习率超参数空间;重新执行获取更新后的所述学习率超参数空间的中间值作为备选值,并将所述备选值存储至备选值集合中的步骤。
其中,所述预设终止条件指示:在每一个竞争训练步骤结束时获取的各个竞争模型的效果指示竞争模型处于停退状态;和/或训练时间达到了时间限制,并且,所述方法还包括:确定基于满足预设终止条件时得到的至少一个效果最好的模型是否能够得到期望效果的机器学习模型;在能够得到期望效果的机器学习模型的情况下,输出所述期望效果的机器学习模型;在无法得到期望效果的机器学习模型的情况下,重新设置所述模型超参数,并再次进入竞争阶段。
其中,训练样本由数据构成,所述机器学习模型用于对数据进行处理;其中,所述数据至少包括图像数据、文本数据或者语音数据。所述训练样本由图像数据构成,所述机器学习模型为神经网络模型,机器学习算法为神经网络算法,所述神经网络模型用于对图像进行处理。
本实施例中,其是将模型的一次训练过程划分为若干竞争阶段和若干成长阶段,在竞争阶段,采用多个竞争超参数组合同时训练对应的竞争模型,不断地选择、淘汰和进化竞争超参数组合,并选择最佳效果的竞争模型及其对应的竞争超参数组合进入成长阶段,即,在成长阶段,仅利用胜出的竞争超参数组合继续训练对应的竞争模型。
在一个例子中,竞争超参数组合中可以包括至少一个模型超参数和至少一个训练超参数。
以上模型超参数是用于定义模型的超参数,例如但不限于是激活函数(例如恒等函数、S型函数以及截断斜波函数等)、隐含层节点数量、卷积层通道数量以及全连接层节点数量等。
以上训练超参数是用于定义模型训练过程的超参数,例如但不限于是学习率、批尺寸以及迭代次数等。
在另一个例子中,竞争超参数组合中可以包括至少一个训练超参数。
本实施例中,模型训练开始便进入竞争阶段,也即,当前为首轮竞争阶段,在此,对于首轮竞争阶段的每个竞争超参数组合,其中的至少一个训练超参数可以通过以下步骤S1010~S1020来获取:
步骤S1010,将每一训练超参数的线性超参数空间划分为多份,并取中间的多个点作为每一训练超参数的取值候选集合。
该步骤S1010中,如果当前为初始化进入竞争阶段(首轮竞争阶段),则例如可以是将每一训练超参数的线性超参数空间划分为N+2份或者是N+4份,并取中间的N个值作为对应该训练超参数的取值候选集合。其中,N为竞争模型的数量,N的大小可以自适应调整,例如可以是根据硬件资源(如CPU核数、GPU个数以及集群个数等)设置N的大小,也可以是根据当前剩余的训练时间设置N的大小,还可以是根据以下公式(1)计算N的大小:
N=2*n+1 (1)
其中,n可以为竞争超参数组合中训练超参数和模型超参数的总数量,也可以仅是竞争超参数组合中训练超参数的数量,在此不做限定。
步骤S1020,对于每一竞争模型,分别从每一训练超参数的取值候选集合中选取一个数值,形成所配置的一组训练超参数组合。
该步骤S1020中,对于每一竞争模型,例如可以是从每一训练超参数的取值候选集合中等概率随机选取一个数值作为超参数值,也可以是根据预设的概率分布(例如但不限于是高斯分布或泊松分布等)从每一训练超参数的取值候选集合中选取一个数值作为超参数值,对不同的训练超参数各进行一次取值,则形成所配置的一组训练超参数组合。
这里,只要能够确保为每一竞争模型配置的训练超参数组合整体不同即可,例如但不限于是为每一竞争模型配置的相同训练超参数的超参数值互不相同。
在本发明的一个实施例中,该步骤S2100中在竞争阶段,通过在多个竞争超参数组合下,分别按照机器学习算法训练对应的竞争模型以获取具有最佳效果的竞争模型可以进一步包括如下步骤S2110~S2120:
步骤S2110,在竞争阶段的多个竞争训练步骤之中的每一个竞争训练步骤结束时,分别获取每个竞争超参数组合下所训练的竞争模型的效果。
该步骤S2110中,例如可以是在竞争阶段设置K个竞争训练步骤,对于进入当前竞争训练步骤的每一竞争模型,分别通过各自的一组竞争超参数对对应的竞争模型进行当前训练步骤的训练,获得训练后的竞争模型的效果。其中,K为竞争阶段的竞争训练步骤的数量,K的大小可以自适应调整,例如可以是人为指定K的大小,也可以是根据竞争模型的数量、训练样本的总数、训练样本的最大迭代次数和每一竞争训练步骤所能训练的训练样本数计算K的大小:
其中,N是竞争模型的数量、R是训练样本的最大迭代次数,I是训练样本的总数,i是每一竞争训练步骤所能训练的训练样本数。
这里,可以采用任何指标来衡量竞争模型的效果,例如可以是以训练后的竞争模型在当前验证数据集上的准确率、损失率、准确率的导数或者损失率的导数中的任意一项或者多项作为评判标准,在当前竞争训练步骤结束时获得每个竞争超参数组合所训练的竞争模型之后,对训练后的竞争模型的效果进行排序。
步骤S2120,基于获取的各个竞争模型的效果来调整进入下一个竞争训练步骤的竞争超参数组合及其对应的竞争模型,并获取最后一个竞争训练步骤结束时具有最佳效果的竞争模型。
可以看出,根据本发明的示例性实施例,在竞争阶段,其使用模型参数继承技术,在当前竞争训练步骤结束时获得每个竞争超参数组合所训练的竞争模型的效果之后,可以基于该效果来得到进入下一竞争训练步骤的竞争超参数组合及其对应的竞争模型,也即,在整个竞争阶段的模型训练过程当中,并未使用替代模型,从而,在竞争阶段训练结束时,除了能够产生最优的竞争超参数组合之外,还能够产生最佳效果的竞争模型,该最佳效果的竞争模型对应最优的超参数组合。
在本发明的一个实施例中,该步骤S2120中基于获取的各个竞争模型的效果来调整进入下一个竞争训练步骤的竞争超参数组合及其对应的竞争模型,并获取最后一个竞争训练步骤结束时具有最佳效果的竞争模型可以进一步包括如下步骤S2121:
步骤S2121,在获取的各个竞争模型的效果指示竞争模型未处于停退状态时,如当前竞争训练步骤并非最后一个竞争训练步骤,则得到进入下一个竞争训练步骤的竞争超参数组合及其对应的竞争模型,如当前竞争训练步骤为最后一个竞争训练步骤,则获取具有最佳效果的竞争模型。
竞争模型未处于停退状态是指每一个竞争训练步骤结束时获取的效果之中的最优效果优于上一个竞争训练步骤结束时获取的最优效果。
该步骤S2121中,在每一个竞争训练步骤,基于第一预定数量个训练样本来进行竞争模型的至少一次梯度更新。
第一预定数量可以是根据具体应用场景或仿真实验进行设置,可以是多个竞争模型同时使用相同数量的训练样本进行一个竞争训练步骤的训练,但是具体每一个竞争模型的训练样本数据可以相同,也可以不同。例如多个竞争模型分别使用1000个训练样本进行一个竞争训练步骤的训练,但是各自使用的1000个训练样本数据可以相同,也可以不同。
在本发明的一个实施例中,该步骤S2121中得到进入下一个竞争训练步骤的竞争超参数组合及其对应的竞争模型可以进一步包括如下步骤S2121-1~S2121~7中任意一项或者多项:
步骤S2121-1,去除效果最差的第二预定数量个竞争模型,从而得到进入下一个竞争训练步骤的竞争超参数组合及其对应的竞争模型。
以上第二预定数量可以是根据具体应用场景或仿真实验进行设置。以上第二预定数量被设置为针对每个竞争训练步骤为固定值或规律变化值
可以理解的是,去除效果最差的第二预定数量个竞争模型之后,进入当前竞争训练步骤的竞争模型的数量小于进入下一个竞争训练步骤的竞争模型的数量。
可以理解的是,去除最差效果模型,可使得最后一个竞争训练步骤之后去除第二预定数量个模型,则只剩下一个最佳效果的模型。
步骤S2121-2,用效果最好的第三预定数量个竞争模型替换掉效果最差的第二预定数量个竞争模型,并对进行替换的效果最好的第三预定数量个竞争模型各自的竞争超参数组合进行微调,从而得到进入下一个竞争训练步骤的竞争超参数组合及其对应的竞争模型。
以上第三预定数量可以是根据具体应用场景或仿真实验进行设置。
以上第二预定数量大于或者等于第三预定数量。
在一个例子中,在第二预定数量等于第三预设数量的情况下,进入当前竞争训练步骤的竞争模型的数量和进入下一个竞争训练步骤的竞争模型的数量相同。
在另一个例子中,在第二预定数量大于第三预设数量的情况下,进入当前竞争训练步骤的竞争模型的数量小于进入下一个竞争训练步骤的竞争模型的数量。
该步骤S2121-2中,进行微调的方法不唯一,例如但不限于是对竞争超参数组合随机增加或减少现值的z%,得到一组新的竞争超参数组合。其中,可以是根据具体应用场景和仿真实验设置z。
步骤S2121-3,随机去除第二预定数量个竞争模型,从而得到进入下一个竞争训练步骤的竞争超参数组合及其对应的竞争模型。
可以理解的是,随机去除第二预定数量个竞争模型之后,进入当前竞争训练步骤的竞争模型的数量小于进入下一个竞争训练步骤的竞争模型的数量。
步骤S2121-4,用效果最好的第三预定数量个竞争模型替换掉随机选取的第二预定数量个竞争模型,并对效果最好的第三预定数量个竞争模型各自的超参数组合进行微调,从而得到进入下一个竞争训练步骤的竞争。
步骤S2121-5,去除存在时间最久的第二预定数量个竞争模型,从而得到进入下一个竞争训练步骤的竞争超参数组合及其对应的竞争模型。
可以理解的是,去除存在时间最长的第二预定数量个竞争模型之后,进入当前竞争训练步骤的竞争模型的数量小于进入下一个竞争训练步骤的竞争模型的数量。
步骤S2121-6,用效果最好的第三预定数量个竞争模型替换掉存在时间最久的第二预定数量个竞争模型,并对效果最好的第三预定数量个竞争模型各自的超参数组合进行微调,从而得到进入下一个竞争训练步骤的竞争。
步骤S2121-7,直接将当前竞争训练步骤的竞争超参数组合及其对应的竞争模型作为进入下一个竞争训练步骤的竞争超参数组合及其对应的竞争模型。
在本实施例中,根据以上步骤S2100获取具有最佳效果的竞争模型之后,便可将获取的竞争模型及其所对应的竞争超参数组合作为优胜模型和优胜超参数组合进入成长阶段,以便在成长阶段继续利用优胜超参数组合充分训练优胜模型。
步骤S2200,在成长阶段,在本轮竞争阶段得到的优胜超参数组合下,继续训练本轮竞争阶段得到的优胜模型,并获得优胜模型的效果,若优胜模型的效果指示出现模型效果停止成长,则重新开始竞争阶段以在更新的多个竞争超参数组合下,分别按照机器学习算法继续训练更新的竞争模型,否则,继续训练优胜模型,上述过程反复迭代直到满足预设终止条件。
成长阶段的主要作用在于利用在本轮竞争阶段得到的优胜超参数组合充分训练在本轮竞争阶段得到的优胜模型,并且,在竞争阶段使用的训练样本的数量小于在成长阶段使用的训练样本的数量,从而,在竞争阶段使用极小的计算成本用于超参数组合寻优,而将模型的耗时重心落在成长阶段。
可以看出,根据本发明的示例性实施例,竞争阶段和成长阶段反复迭代,其中,在从成长阶段重新回到竞争阶段时,更新的多个竞争超参数组合基于上一轮成长阶段的优胜超参数组合而得到,更新的竞争模型均为上一轮成长阶段得到的优胜模型。
在一个例子中,在从成长阶段重新回到竞争阶段时,由于更新的多个竞争超参数组合基于上一轮成长阶段的优胜超参数组合而得到,在此,对于重新开始的竞争阶段的更新的每个竞争超参数组合,其中的至少一个训练超参数可以通过以下步骤S2011~S2014来获取:
步骤S2011,从上一轮成长阶段的优胜超参数组合中,获取每一训练超参数的数值。
该步骤S2011中,如果当前为从成长阶段进入竞争阶段,则例如可以是从上一轮成长阶段的优胜超参数组合中获取该优胜超参数组合中每一训练超参数的数值,并根据每一训练超参数的数值更新每一训练超参数的线性超参数空间。
步骤S2012,随机地将每一训练超参数的数值设置为每一训练超参数的线性超参数空间的上边界或下边界,以得到新的线性超参数空间。
通过该步骤S2012可以缩小每一训练超参数的线性超参数空间。
步骤S2013,将新的线性超参数空间划分为多份,并取中间的多个点作为每一训练超参数的取值候选集合。
该步骤S2013中,可以是将每一训练超参数的新的线性超参数空间划分为N+2份或者是N+4份,并取中间的N个值作为对应该训练超参数的取值候选集合。其中,关于N的计算已经在以上步骤S1010中详细给出,在此不做赘述。
步骤S2014,对于每一更新的竞争模型,分别从每一训练超参数的取值候选集合中选取一个数值,形成所配置的一组训练超参数组合。
该步骤S2014中,对于每一更新的竞争模型,例如可以是从每一训练超参数的取值候选集合中等概率随机选取一个数值作为超参数值,也可以是根据预设的概率分布(例如但不限于是高斯分布或泊松分布等)从每一训练超参数的取值候选集合中选取一个数值作为超参数值,对不同的训练超参数各进行一次取值,则形成所配置的一组训练超参数组合。
这里,只要能够确保为每一更新的竞争模型配置的训练超参数组合整体不同即可,例如但不限于是为每一更新的竞争模型配置的相同训练超参数的超参数值互不相同。
在另一个例子中,训练超参数中包括学习率,可以根据学习率下降策略,对于重新开始的竞争阶段的更新的每个竞争超参数组合,其中的学习率可以通过以下步骤S2021~S2024来获取:
步骤S2021,从上一轮成长阶段的优胜超参数组合中,获取学习率的数值。
该步骤S2021中,如果当前为从成长阶段进入竞争阶段,则例如可以是从上一轮成长阶段的优胜超参数组合中获取该学习率的数值。
步骤S2022,设置学习率的数值为学习率超参数空间的上边界,以得到更新的学习率超参数空间。
通过该步骤S2022可以缩小学习率的超参数空间。
步骤S2023,获取更新后的学习率超参数空间的中间值作为备选值,并将备选值存储至备选值集合中。
步骤S2024,在备选值集合中包括的备选值个数大于或者等于更新的竞争模型的数量时,随机为每一更新的竞争模型分配对应的备选值作为对应的学习率。
步骤S2024,在备选值集合中包括的备选值个数小于更新的竞争模型的数量时,将当前得到的备选值作为学习率超参数空间的下边界,以得到更新的学习率超参数空间,并重新执行步骤S2023获取更新后的学习率超参数空间的中间值作为备选值,并将备选值存储至备选值集合中的步骤。
在一个例子中,上述反复迭代终止的预设终止条件指示以下任意一项或者多项:
在每一个竞争训练步骤结束时获取的各个竞争模型的效果指示竞争模型处于停退状态;
训练时间达到了时间限制;以及
优胜模型的效果达到了预期值。
其中,竞争模型处于停退状态是指每一个竞争训练步骤结束时获取的效果之中的最优效果未优于上一个竞争训练步骤结束时获取的最优效果。
该例子中,例如可以是在优胜模型的效果指示出现模型效果停止成长时,确定训练时间是否达到了时间限制;又例如也可以是在优胜模型的效果指示出现模型效果停止成长时,确定优胜模型的效果是否达到了预期值。
该例子中,可以是基于满足预设终止条件时得到的至少一个效果最好的模型来得到训练出的机器学习模型,并输出该机器学习模型。
在一个例子中,上述反复迭代终止的预设终止条件还可以指示:在每一个竞争训练步骤结束时获取的各个竞争模型的效果指示竞争模型处于停退状态;和/或训练时间达到了时间限制。
该例子中,可以是确定基于满足预设终止条件时得到的至少一个效果最好的模型是否能够得到期望效果的机器学习模型。并在能够得到期望效果的机器学习模型的情况下,输出期望效果的机器学习模型;以及,在无法得到期望效果的机器学习模型的情况下,重新设置模型超参数,并再次进入竞争阶段。也就是说,在最初设置的至少一个模型超参数的数值的基础上,无法仅通过竞争阶段和成长阶段的反复迭代以得到期望效果的机器学习模型,因此,需要重新去设置至少一个模型超参数的数值,并再次进入竞争阶段,进而通过竞争阶段和成长阶段的反复迭代以得到期望效果的机器学习模型。
在本发明的一个实施例中,该步骤S2200中在成长阶段,在本轮竞争阶段得到的优胜超参数组合下,继续训练本轮竞争阶段得到的优胜模型,并获得优胜模型的效果可以进一步包括:
在成长阶段,在本轮竞争阶段得到的优胜超参数组合下,按照成长训练步骤来继续训练本轮竞争阶段得到的优胜模型,并获得每个成长训练步骤所得到的优胜模型的效果。
本实施例中,在每一个成长训练步骤,基于第四预定数量个训练样本来进行优胜模型的至少一次梯度更新。
第四预定数量可以是根据具体应用场景或仿真实验进行设置,可以是每一个成长训练步骤均包括相同数量的训练样本。例如每一步成长训练步骤均包括10000个训练样本;又例如也可以是第一个成长训练步骤训练10000个样本,第二次成长训练步骤训练8000个样本等。
在本发明的一个实施例中,可以基于优胜模型在连续第五预定数量个成长训练步骤得到的效果来确定优胜模型的效果是否指示出现模型效果停止成长,并在指示出现模型效果停止成长的情况下,重新开始竞争阶段以在更新的多个竞争超参数组合下,分别按照机器学习算法继续训练更新的竞争模型,否则,继续训练优胜模型,上述过程反复迭代直到满足预设终止条件。
在一个例子中,该步骤中基于优胜模型在连续第五预定数量个成长训练步骤得到的效果来确定优胜模型的效果是否指示出现模型效果停止成长可以通过以下任意一项或者多项方式判断:
方式1,当优胜模型在连续第五预定数量个成长训练步骤得到的效果出现下滑趋势时,确定优胜模型的效果指示出现模型效果停止成长。
以上第五预定数量可以是根据具体应用场景或仿真实验进行设置。
该方式1中,可以是基于在连续第五预定数量个成长训练步骤得到的效果的下降程度和/或抖动程度来确定是否出现下滑趋势。
方式2,当优胜模型在连续第五预定数量个成长训练步骤得到的效果满足预设的衰减条件时,确定优胜模型的效果指示出现模型效果停止成长。
该方式2中,衰减条件满足存在第六预定数量个连续的效果均低于其之前第七预定数量个效果的平均值。
以上第六预定数量和第七预定数量可以是根据具体应用场景或仿真实验进行设置。
示例性地,衰减条件满足存在任意两个连续的效果均低于其之前三个效果的平均值,则,该衰减条件可以为:
且/>
其中,vi、vj表示在连续第五预定数量个成长训练步骤中任意两个连续的效果,vi、vi-1、vi-3表示效果vi之前的三个连续效果,vj、vj-1、vj-3表示效果vj之前的三个连续效果,可以是当满足公式(3)的衰减条件时,确定指示出现模型效果停止成长。
在本发明的一个实施例中,针对每个成长训练步骤来获得优胜模型在连续第五预定数量个成长训练步骤得到的效果,并且,继续训练优胜模型,包括:
若优胜模型的效果指示未出现模型效果停止成长,则继续下一个成长训练步骤。
在本发明的一个实施例中,针对每第五预定数量个成长训练步骤来获得优胜模型在连续第五预定数量个成长训练步骤得到的效果,并且,继续训练优胜模型包括:
若优胜模型的效果指示未出现模型效果停止成长,则继续接下来的第五预定数量个成长训练步骤。
根据本发明实施例的方法,其基于模型参数继承技术,使得模型的一次训练过程被划分为若干个竞争阶段和成长阶段,在竞争阶段采用多个竞争超参数组合同时训练对应的竞争模型,不断的选择、淘汰和进化超参数组合,并在竞争阶段结束时选择表现最好的一组竞争超参数和对应的竞争模型进入成长阶段,其在竞争阶段进行超参数寻优,在成长阶段利用竞争阶段胜出的竞争超参数组合继续训练对应的竞争模型,并在模型停止成长时,重新进入竞争阶段进行超参数寻优,上述竞争阶段和成长阶段交替进行,直至满足预设终止条件,训练停止,无需人力且计算量较少,实现端到端的自动调参。
一方面,由于上述竞争阶段和成长阶段均在一次训练过程当中,从而通过一次训练周期即可得到最优的超参数组合和最优的机器学习模型。
另一方面,由于其是基于模型参数继承技术将模型训练过程离散化,进而减少了超参数寻优必须从初始化开始的计算量,使得模型一次训练内完成多组超参数的寻优选择成为可能。
第三方面,由于现有技术中利用多个超参数组合同时训练多个机器学习模型时,需要进行P次迭代选择,每一次迭代选择都要训练M个模型,M*N次训练后到达提前设定的阈值,得到符合要求的超参数组合,计算量巨大,而且,没有得到最终的模型;而本申请中,由于竞争阶段所使用的训练样本可以大大少于在成长阶段所使用的训练样本,从而将模型训练的耗时重心落在成长阶段,从而计算量仅为现有方案的大大减少计算,即,训练结束时直接产生最终的模型,从而避免人工参与。
在以上实施例的基础上,在执行步骤S2100之前,该方法还可以包括如下所示的步骤S1100~S1200:
步骤S1100,提供用于设置机器学习模型的应用场景的设置入口。
用户可以根据自身需求来确定需要的机器学习模型的具体应用场景,并通过该设置入口输入应用场景。
步骤S1200,获取通过设置入口输入的应用场景。
那么,步骤S1000可以进一步为:根据输入的应用场景,获取相应的训练样本集。
具体的,可以是执行本发明的实施例的电子设备中预先存储有对应多种应用场景的训练样本集,该训练样本由数据构成,例如,图像数据、文本数据或者语音数据,根据通过提供的应用场景的设置入口所输入的应用场景,获取与该应用场景匹配的训练样本集进行机器学习训练,这样,可以使得得到的最终的机器学习模型能够适用于输入的应用场景,并对数据进行相应的处理。
在通过以上实施例得到最终的机器学习模型之后,该方法还可以包括如下所示的步骤S1300~S1500:
步骤S1300,确定最终的机器学习模型所适用的应用场景。
步骤S1400,查找与该应用场景相匹配的应用项目。
步骤S1500,将最终的机器学习模型输入至该应用项目。
在本实施例中,通过将最终的机器学习模型输入至与其所适用的应用场景相匹配的应用项目,以在相应的应用项目中利用最终的机器学习模型对该应用项目中的样本信息进行处理。
第三种自动调参方式:基于同一目标数据集对多个机器学习算法分别进行一轮超参数探索训练,其中,在这一轮探索中每个机器学习算法至少探索M组超参数,M为大于1的正整数;基于所述多个机器学习算法分别在这一轮探索到的多组超参数分别对应的模型评价指标,计算每个机器学习算法的本轮表现得分,以及计算每个机器学习算法的未来潜力得分;综合每个机器学习算法的本轮表现分和未来潜力得分,确定将可用的资源分配给各机器学习算法的资源分配方案;根据所述资源分配方案在下一轮的超参数探索训练中进行相应的资源调度。
其中,所述计算每个机器学习模型的本轮表现得分包括:从所述多个机器学习模型分别在这一轮探索到的多组超参数分别对应的模型评价指标中确定前K个最佳模型评价指标,其中,K是正整数;对于每个机器学习模型,将该机器学习模型占所述前K个最佳模型评价指标的比例值作为该机器学习模型的本轮表现得分。
其中,所述计算每个机器学习模型的未来潜力得分包括:将每个机器学习模型在这一轮探索到的多组超参数分别对应的模型评价指标按先后次序存放在一个数组中,得到所述多个机器学习模型分别对应的多个数组;针对每个机器学习模型,从与该机器学习模型对应的数组提取单调增强数组,将单调增强数组的长度和与该机器学习模型对应的数组的长度的比值作为该机器学习模型的未来潜力得分。
其中,所述多个机器学习模型包括带有超参数选择机制的逻辑回归机器学习模型、带有超参数选择机制的朴素贝叶斯机器学习模型、带有超参数选择机制的集成学习模型和带有超参数选择机制的回归相关机器学习模型中的至少两个。
其中,所述资源包括中央处理器、存储空间和线程中的至少一个。
其中,基于同一目标数据集对多个机器学习模型分别进行一轮超参数探索训练的步骤还包括:判断所述多个机器学习模型中是否存在至少一个机器学习模型满足早停止的条件,其中,当至少一个机器学习模型被确定为满足早停止的条件时,停止所述至少一个机器学习模型的训练,并不对所述至少一个机器学习模型执行计算本轮表现得分和未来潜力得分的步骤。
所述早停止的条件包括:当一个机器学习模型的本轮探索超参数对应的模型评价指标连续I次不创新优,则该机器学习模型满足早停止条件;和/或,当一个机器学习模型在本轮探索的J个超参数对应的模型评价指标高于另一个机器学习模型在本轮的最优评价指标,则所述另一个机器学习模型满足早停止条件。
其中,与该机器学习模型对应的数组顺序地包括第一模型评价指标至第X模型评价指标,其中,X是大于等于M的整数;从与该机器学习模型对应的数组提取单调增强数组的步骤包括:将第一模型评价指标提取为单调增强数组中的第一值;针对第二模型评价指标至第X模型评价指标中的任一模型评价指标,如果所述任一模型评价指标优于当前的单调增强数组中的最大值,则将所述任一模型评价指标提取为单调增强数组中的新的值。
其中,确定资源分配方案的步骤包括:基于每个机器学习模型的本轮表现分和未来潜力得分,计算每个机器学习模型的综合分数;将每个机器学习模型的综合分数与全部的综合分数的总和的比值计算为每个机器学习模型的资源分配系数;将所述资源分配方案确定为如下的资源分配方案:将与每个机器学习模型的资源分配系数和待分配的总资源的乘积对应的资源确定为将分配给每个机器学习模型的资源。
将与每个机器学习模型的资源分配系数和待分配的总资源的乘积对应的资源确定为将分配给每个机器学习模型的资源的步骤包括:在除资源分配系数最高的机器学习模型之外的所有的机器学习模型中,从资源分配系数最低的机器学习模型开始,将机器学习模型的资源分配系数与待分配的总资源的乘积向下取整并将向下取整后的值确定为将分配给机器学习模型的资源的数量;将待分配的总资源中的尚未分配给机器学习模型的资源确定为将分配给资源分配系数最高的机器学习模型的资源。
将与每个机器学习模型的资源分配系数和待分配的总资源的乘积对应的资源确定为将分配给每个机器学习模型的资源的步骤还包括:当分配给各个机器学习模型的资源的数量中存在为零的值和大于一的值时,将将分配给机器学习模型的资源中的资源的数量大于一的机器学习模型的资源的数量按照递增顺序排序;在按照递增顺序排序的机器学习模型的资源中,从具有最少的资源的机器学习模型开始,将该机器学习模型的资源减少一个单位,并将减少的资源分配给资源的数量为零的机器学习模型中的一个机器学习模型,返回所述按照递增顺序排序的步骤,直到所有机器学习模型的资源都不为零。
所述资源调度方法还包括:响应于用户的停止请求、总的训练时间达到预定总训练时间或者总的训练轮数达到预定总训练轮数,停止向机器学习模型分配资源。
其中,基于同一目标数据集对多个机器学习模型分别进行一轮超参数探索训练的步骤包括:向所述多个机器学习模型分别分配相同数量的资源,并使用相同数量的资源基于同一目标数据集对所述多个机器学习模型分别进行一轮超参数探索训练。
在示例性的实施例中,逻辑回归机器学习模型lr、梯度提升决策树机器学习模型gbdt和深度稀疏网络机器学习模型dsn的分别在这一轮探索到的多组超参数分别对应的模型评价指标可表示如下:
lr:[0.2,0.4,0.5,0.3,0.6,0.1,0.7,0.3]
gbdt:[0.5,0.2,0.1,0.4,0.2,0.6]
dsn:[0.61,0.67,0.63,0.72,0.8]
其中,单个数组中的单个值可指示具有一组超参数的机器学习模型的训练效果。例如,作为示例,这里的数组中的单个值(例如,0.2)可指示验证集准确率。此外,在本示例中,逻辑回归机器学习模型lr被训练了八组超参数,梯度提升决策树机器学习模型gbdt被训练了六组超参数,深度稀疏网络机器学习模型dsn被训练了五组超参数。在示例性的本示例中,逻辑回归机器学习模型lr的最优模型评价指标和第5(在这个示例中,J为5,然而本发明不限于此)优模型评价指标分别为0.7和0.3,梯度提升决策树机器学习模型gbdt的最优模型评价指标和第5优模型评价指标分别为0.6和0.2,深度稀疏网络机器学习模型dsn的最优模型评价指标和第5优模型评价指标分别为0.8和0.61。由于深度稀疏网络机器学习模型dsn的第5优模型评价指标0.61大于梯度提升决策树机器学习模型gbdt的最优模型评价指标0.6,所以梯度提升决策树机器学习模型gbdt被确定为满足早停止条件。因此,梯度提升决策树机器学习模型gbdt不再参与模型探索。因此,通过判断机器学习模型是否满足早停止条件并对满足早停止条件的机器学习模型停止探索,可减少资源的浪费并提高探索效率。
在本示例性的实施例中计算每个机器学习模型的本轮表现得分具体为:由于梯度提升决策树机器学习模型gbdt可满足如上所述的早停止条件,因此,梯度提升决策树机器学习模型gbdt后续不参与训练探索。在这种情况下,逻辑回归机器学习模型lr和深度稀疏网络机器学习模型dsn的全部模型评价指标中的前5(这里,K为5,然而本发明不对此进行限制)个最佳模型评价指标分别为:0.7、0.67、0.63、0.72和0.8。其中,“0.7”为逻辑回归机器学习模型lr的模型评价指标,因此,逻辑回归机器学习模型lr的模型评价指标占前5个最佳模型评价指标“0.7、0.67、0.63、0.72和0.8”的比例值为1/5。相比之下,在示例性的本示例中,5个最佳模型评价指标“0.7、0.67、0.63、0.72和0.8”中的“0.67”、“0.63”、“0.72”和“0.8”为深度稀疏网络机器学习模型dsn的模型评价指标,因此,深度稀疏网络机器学习模型dsn的模型评价指标占前5个最佳模型评价指标“0.7、0.67、0.63、0.72和0.8”的比例值为4/5。因此,在本示例性的实施例中,逻辑回归机器学习模型lr的本轮表现得分可对应于1/5,深度稀疏网络机器学习模型dsn的本轮表现得分可对应于4/5。
在本示例性的实施例中计算每个机器学习模型的未来潜力得分具体为:如上所述,与逻辑回归机器学习模型lr的模型评价指标对应的数组为[0.2,0.4,0.5,0.3,0.6,0.1,0.7,0.3],与深度稀疏网络机器学习模型dsn的模型评价指标对应的数组为[0.61,0.67,0.63,0.72,0.8]。这里,单调增强数组并不一定表述单调增大数组。在一个示例中,当训练效果指示验证集准确率时,单调增强数组可指示单调增大数组。在另一示例中,当训练效果可指示均方误差时,单调增强数组可指示单调减小数组。换言之,单调增强数组中的值的增强可指示训练效果的增强或优化。为了便于描述,下面假设与该机器学习模型对应的数组顺序地包括第一模型评价指标至第X模型评价指标,其中,X是大于等于M的整数。从与该机器学习模型对应的数组提取单调增强数组的步骤可包括:将第一模型评价指标提取为单调增强数组中的第一值。例如,在示例性的第一示例中,与逻辑回归机器学习模型lr的模型评价指标对应的数组为[0.2,0.4,0.5,0.3,0.6,0.1,0.7,0.3],因此,0.2被提取为单调增强数组中的第一值。此外,从与该机器学习模型对应的数组提取单调增强数组的步骤还可包括:针对第二模型评价指标至第X模型评价指标中的任一模型评价指标,如果所述任一模型评价指标优于当前的单调增强数组中的最大值,则将所述任一模型评价指标提取为单调增强数组中的新的值。例如,在示例性的第一示例中,针对逻辑回归机器学习模型lr的第二模型评价指标0.4,由于第二模型评价指标0.4大于当前的单调增强数组(此时,对应于仅包括第一值的单调增强数组)中的最大值(即,0.2),所以0.4被提取为单调增强数组中的新的值(即,第二值)。此时,单调增强数组变为[0.2,0.4]。接下来,针对逻辑回归机器学习模型lr的第三模型评价指标0.5,由于第三模型评价指标0.5大于当前的单调增强数组(此时,对应于包括第一值和第二值的单调增强数组)中的最大值(即,0.4),所以0.4被提取为单调增强数组中的新的值(即,第三值)。此时,单调增强数组变为[0.2,0.4,0.5]。接下来,针对逻辑回归机器学习模型lr的第四模型评价指标0.3,由于第四模型评价指标0.3小于当前的单调增强数组(此时,对应于包括第一值、第二值和第三值的单调增强数组)中的最大值(即,0.5),所以0.3不被提取为单调增强数组中的新的值。此时,单调增强数组仍是[0.2,0.4,0.5]。后续,对第五模型评价指标0.6至第八模型评价指标0.3进行与第二模型评价指标0.4至第四模型评价指标0.3类似地处理,最终得到的单调增强数组为[0.2,0.4,0.5,0.6,0.7]。在本发明中,数组的长度可指示数组中包括的数值的数量。在示例性的第一示例中,逻辑回归机器学习模型lr的最终得到的单调增强数组的长度为5,与逻辑回归机器学习模型lr对应的数组[0.2,0.4,0.5,0.3,0.6,0.1,0.7,0.3]的长度为8,因此,逻辑回归机器学习模型lr的未来潜力得分为5/8。在示例中,基于与参照逻辑回归机器学习模型lr的未来潜力得分的计算方法类似的方法,深度稀疏网络机器学习模型dsn的最终得到的单调增强数组[0.61,0.67,0.72,0.8]的长度为4,与深度稀疏网络机器学习模型dsn对应的数组[0.61,0.67,0.63,0.72,0.8]的长度为5,因此,逻辑回归机器学习模型lr的未来潜力得分为4/5。
这样,逻辑回归机器学习模型lr的综合分数可为:1/5+5/8=33/40;深度稀疏网络机器学习模型dsn的综合分数可为:4/5+4/5=8/5。则逻辑回归机器学习模型lr的资源分配系数可被计算为:(33/40)÷(33/40+8/5)=33/97,深度稀疏网络机器学习模型dsn的资源分配系数可被计算为:(8/5)÷(33/40+8/5)=64/97。将与逻辑回归机器学习模型lr的资源分配系数33/97和待分配的总资源的乘积对应的资源确定为将分配给逻辑回归机器学习模型lr的资源;将与深度稀疏网络机器学习模型dsn的资源分配系数64/97和待分配的总资源的乘积对应的资源确定为将分配给深度稀疏网络机器学习模型dsn的资源。
关于分配补偿机制的举例说明如下:便于说明,下面以六个机器学习模型a、b、c、d、e、f被分配的任务数为[1,0,0,0,2,7]的示例为例进行描述,然而,本发明不限于此,机器学习模型的数量以及具体分配的资源数(例如,任务数)可以是任意其他数量。因为至少有一个机器学习模型(即,机器学习模型b至机器学习模型d)分配任务数为0,所以触发分配补偿机制。这里,将将分配给机器学习模型的资源中的资源的数量大于一的机器学习模型的资源的数量按照递增顺序排序。也就是说,在本示例中,机器学习模型a至机器学习模型f被分配的任务数中的资源的数量大于一的机器学习模型(即,机器学习模型e和机器学习模型f)的资源的数量按照递增顺序被排序为[2,7]。在本发明中,数量为1的资源并不一定表示单个资源,它可表示一个单位的资源,其中,一个单位的资源对应于预定数量的资源。将机器学习模型e的资源的数量2减去1,并将减少的数量为1的资源分配给资源的数量为0的一个机器学习模型(例如,机器学习模型b)。由于减去1之后的机器学习模型e的资源的数量变成1,因此后续保持机器学习模型e的资源的数量为1,即,不再从机器学习模型e的资源向其他机器学习模型分配资源。此时,由于还存在两个机器学习模型(即,机器学习模型c和d)的资源的数量为0,因此,可考虑继续从其他机器学习模型向资源的数量为0的机器学习模型分配资源。由于机器学习模型e的资源的数量已经变成1,所以开始下一机器学习模型(即,机器学习模型f)的资源的至多减为1。可将机器学习模型f的资源的数量从7减到5,并将减少的资源分别分配给机器学习模型c和机器学习模型d,使得机器学习模型c和机器学习模型d的资源的数量均为1。通过分配补偿机制,机器学习模型a至机器学习模型f的资源的数量最终变为[1,1,1,1,1,5]。因此,在采用分配补偿机制后,机器学习模型a至机器学习模型f均被分配了资源,这保证强者恒强,弱者仍旧有机会,从而避免只是一时表现不好的机器学习模型被停止探索,这使得探索的准确率得到进一步的提升。
前面花了大量的篇幅对几种创新性的算子进行了展开说明。以下对处理过程中产生的内容进行封装,得到新的数据、样本、模型和算子并添加到节点展示列表中的过程进行说明。
具体地,将执行有向无环图对应的数据处理流程的过程中产生的数据,封装成类型为数据的节点并保存;将执行有向无环图对应的数据处理流程的过程中产生的样本,封装成类型为样本的节点并保存;将执行有向无环图对应的数据处理流程的过程中产生的模型,封装成类型为模型的节点并保存;以及将执行有向无环图对应的数据处理流程本身,封装成类型为算子的节点并保存。将封装得到的节点添加到节点展示列表中,以供后续进行编辑或创建有向无环图使用。
其中,数据和样本是均为静态数据,因此按照数据/样本节点的格式进行保存,并生成对应绑定的节点符号添加到节点展示列表中。后续可以从节点列表中拖拽出这些数据或样本作为DAG的节点。
在本发明的实施例中,所述将执行有向无环图对应的数据处理流程的过程中产生的模型,封装成类型为模型的节点包括以下三种情况:
1)将模型本身的描述信息写入文件中,将该文件封装成类型为模型文件的节点。这里模型本身的描述信息包括:模型的名称和模型本身的参数(即通过模型训练确定的模型参数)。
当将模型本身的描述信息写入文件中,将该文件封装成类型为模型文件的节点的情况下,将模型本身的处理逻辑的代码也封装成节点,且该节点有两个输入,一个输入是模型文件,另一个输入的样本,也就是该节点中封装的是模型算法的处理逻辑,需要模型文件输入模型参数,才能对样本执行一个已训练好的模型的预测处理逻辑。并且在这种情况下,一般要求输入的样本的获得过程要与训练该模型时的样本的获得过程一致。
2)将模型本身的描述信息、输入模型的数据源描述信息以及对数据源进行预处理和特征抽取处理的描述信息写入文件中,将该文件封装成类型为模型文件的节点。
同样,这里模型本身的描述信息包括:模型的名称和模型本身的参数(即通过模型训练确定的模型参数)。数据源描述信息为作为输入数据的一个或多个数据表的字段信息(shcema),例如对于用户网购行为数据表,其字段为购买时间、购买商品名称、季节、购买商品的折扣信息等。对数据源进行的预处理包括:归一化、空值填充等。特征处理包括:从哪些字段抽取特征、如何抽取、自动特征组合等。
将模型本身的描述信息、数据源描述信息以及对数据源进行预处理和特征抽取处理的描述信息写入文件中,将该文件封装成类型为模型文件的节点的情况下,获取将解析数据源描述信息以及对数据源进行预处理和特征抽取处理的描述信息并生成对应数据处理代码的解析代码,将该解析代码与模型本身的处理逻辑的代码封装成节点,其该节有两个输入,一个输入是模型文件,另一个输入数据源。该节点对输入数据源进行预处理和特征抽取处理得到样本,根据模型文件的模型本身的参数和模型本身的处理逻辑相结合得到一个已训练好的模型,然后根据已训练好的模型对样本进行预测输出结果。
3)将模型本身的描述信息、数据源描述信息、对数据源进行预处理和特征抽取处理的代码以及执行模型本身的处理逻辑的代码,封装成类型为模型的节点。
同样,这里模型本身的描述信息包括:模型的名称和模型本身的参数(即通过模型训练确定的模型参数)。数据源描述信息为作为输入数据的一个或多个数据表的字段信息(shcema),例如对于用户网购行为数据表,其字段为购买时间、购买商品名称、季节、购买商品的折扣信息等。对数据源进行的预处理包括:归一化、空值填充等。特征处理包括:从哪些字段抽取特征、如何抽取、自动特征组合等。
将模型本身的描述信息、数据源描述信息、对数据源进行预处理和特征抽取处理的代码以及执行模型本身的处理逻辑的代码,封装成类型为模型的节点的情况下,该节点有一个输入,该输入即为数据源。
在本公开的一个实施例中,有向无环图中的各节点分别对应的执行主体,按照执行顺序透传数据源描述信息以及各执行主体的数据处理逻辑的描述信息或代码,使得每个执行主体能够输出数据源描述信息以及本执行主体与其所有上级执行主体的数据处理逻辑的描述信息或代码。
或者,在本公开的一个实施例中,有向无环图中的各节点分别对应的各执行主体均有各自对应的信息记录文件;每个执行主体,如果没有上一级执行主体,则将输数据源描述信息和自身的数据处理逻辑的描述信息或代码保存到自身的信息记录文件中,如果有上一级执行主体,则读取上一级执行主体的信息记录文件中的内容,并将自身的数据处理逻辑的描述信息或代码与所读取的内容一起保存到自身的信息记录文件中。
在本发明的一个实施例中,步骤S120中所述响应于运行有向无环图的操作,执行有向无环图对应的数据处理流程包括:获取有向无环图的配置信息;根据有向无环图的配置信息,确定有向无环图中的每个节点的上一级节点和下一级节点,进而确定各节点之间的连接关系;根据各节点之间的连接关系,执行各节点对应的数据处理流程。
其中,所述有向无环图的配置信息中包括各个节点的配置信息,每个节点的配置信息中包括输入槽信息(input slot)和输出槽信息(output slot);输入槽信息用于描述上一级节点的信息,如上一级节点的标识、上一级节点输出的数据信息等,相应地,输出槽信息用于描述下一级节点的信息,如下一级节点的标识、输出给下一级节点的数据信息等。
则所述根据有向无环图的配置信息,确定有向无环图中的每个节点的上一级节点和下一级节点包括:根据有向无环图中的各节点的配置信息中的输入槽信息和输出槽信息,确定有向无环图中的每个节点的上一级节点和下一级节点。
每个节点的配置信息中还包括用于确定该节点的运行方式的信息,具体为指示单机运行的标识或指示分布式运行的标识。则图1所示的方法进一步包括:根据每个节点的配置信息,确定该节点以单机方式运行或者以分布式方式运行。相应地,执行各节点对应的数据处理流程时,按照单机方式或分布式方式执行。
图4示出根据本发明实施例的一种实现数据处理的系统的示意图。如图4所示,该实现数据处理的系统400包括:
操作单元401,适于响应于用户的生成有向无环图的操作,生成相应的有向无环图;
运行单元402,适于响应于运行有向无环图的操作,执行有向无环图对应的数据处理流程。
其中,所述操作单元401,适于显示包括节点展示区域和画布区域的第一图形用户界面,其中,所述节点展示区域中的节点类型包括数据、样本、模型和算子;响应于在所述节点展示区域选择节点的操作,在画布区域显示相应节点,以及响应于连接节点的操作,在画布区域中的相应节点之间生成连线,以生成有向无环图。
所述节点展示区域包括元素列表和算子列表,元素列表包括数据、样本和模型,算子列表包括与机器学习相关的各种数据处理算子;所述节点展示区域还包括文件列表,文件列表包括有向无环图。
所述节点展示区域的节点还包括有向无环图;所述操作单元401,还适于执行以下多项中的至少一项:响应于在节点展示区域选择有向无环图的操作,在画布区域显示所选择的有向无环图,以供直接运行或修改编辑;响应于保存画布区域中的有向无环图的操作,保存有向无环图,并将保存的有向无环图添加到所述节点展示区域中;响应于导出有向无环图的操作,将相应有向无环图输出到指定的导出位置。
所述操作单元401,还适于执行以下多项中的至少一项:响应于从外部导入元素的操作,保存相应的元素,并添加到所述节点展示区域中;保存在执行有向无环图对应的数据处理流程的过程中产生的元素,并将保存的元素添加到所述节点展示区域中;提供管理执行有向无环图对应的数据处理流程的过程中产生的元素的管理页面,以供用户通过该管理页面对中间元素进行查看和删除操作;响应于导出元素的操作,将相应的元素输出到指定的导出位置;其中所述元素为数据、样本或模型。
所述操作单元401,还适于执行以下多项中的至少一项:响应于从外部导入算子的操作,保存相应算子对应的代码,并将相应算子添加到节点展示区域中;提供算子代码编辑界面,从该界面获取输入的代码并保存,并将相应算子添加到节点展示区域中。
所述操作单元401,还适于执行以下操作:响应于选中画布区域中的一个节点的操作,显示该节点的配置界面,根据所述配置界面上的配置操作,完成对相应节点的相关配置;当节点未进行必要的配置时,或者所配置的参数不符合预定要求时,在画布区域中的相应节点处显示提示标识。
其中,所述操作单元401,还适于执行以下多项中的至少一项:在所述第一图形用户界面中显示运行有向无环图的图形控件,响应于触发该图形控件的操作,根据有向无环图中的各节点以及各节点之间的连线关系,执行有向无环图对应的数据处理流程;在所述第一图形用户界面上显示一个计时器,用于对执行有向无环图对应的数据处理流程的用时进行实时计时。
其中,所述操作单元401,还适于执行以下多项中的至少一项:在执行有向无环图对应的数据处理流程的过程中,在第一图形用户界面上的有向无环图的各节点上显示用于表示相应节点被执行的进度的信息;在执行有向无环图对应的数据处理流程的过程中,在第一图形用户界面上的有向无环图的每个节点上显示正在运行中的标识,当一个节点对应的数据处理流程被执行完毕时,在该节点上显示执行完毕的标识;响应于查看有向无环图中的节点的运行结果的操作,获取并展示该节点对应的运行结果数据。
其中,所述操作单元401,还适于执行如下中的一项或多项:画布区域中的数据、样本和模型均支持以下操作中的一个或多个:复制、删除和预览;画布区域中的算子支持以下操作中的一个或多个:复制、删除、预览、运行当前任务、从当前任务开始运行、运行到当前任务、查看日志、查看任务详情。
对于画布区域中的运行完成的有向无环图,响应于点击其中一个算子的操作,显示与该算子输出的产物的类型分别对应的产物类型标志,响应于点击产物类型标志的操作,展示产物相关信息界面,该产物信息相关界面包括:预览产物的控件、导出产物的控件、将产物导入元素列表的控件、产物的基本信息和保存产物的路径信息;其中算子输出的产物类型包括:数据、样本、模型和报告。
其中,所述节点展示区域中包括如下算子中的一种或多种:
数据拆分算子:数据拆分算子的配置界面中提供的数据拆分方法包括按比例拆分、按规则拆分和先排序后拆分中的一种或多种;当选择按比例拆分时可进一步选择按比例顺序拆分、按比例随机拆分和按比例分层拆分,当选择随机拆分时进一步在配置界面上提供设置随机种子参数的输入区域,当选择分层拆分时进一步在配置界面上提供设置分层依据的字段的输入区域;当选择按规则拆分时提供用于输入拆分规则的输入区域;当选择先排序后拆分时进一步在配置界面上提供拆分比例选择项、用于设置排序字段的输入区域、以及排序方向选择项;
特征抽取算子:特征抽取算子的配置界面中提供添加输入源的接口和脚本编辑入口,还提供样本随机排序选项、特征精确统计选项、输出样本是否压缩的选项、输出明文选项、标签类型选项和输出结果存储类型选项中的至少一个;
特征重要性分析算子:特征重要性分析算子的输入是带有目标值的样本表,输出为特征重要性评价报告,报告中包含各个特征的重要性系数,报告中还包含特征数、样本数和各个特征的基本统计信息中的一个或多个;
自动特征组合算子:自动特征组合算子的配置界面中提供特征选择项、评分指标选择项、学习率设置项和终止条件选择项中的至少一个,其中,特征选择项用于确定进行特征组合的各个特征,终止条件选择项中包括最多运行特征池个数和最多输出特征数。
自动调参算子:自动调参算子用于根据调参算法从给定的参数范围中搜索出合适的参数,用搜索出的参数训练模型并进行模型评估;自动调参算子的配置界面中提供特征选择设置项、调参方法选项和调参次数设置项中的至少一个,其中,特征选择设置项中可以选择全部特征或自定义特征选择,调参方法选项中可选择随机搜索或网格搜索;
TensorFlow算子:TensorFlow算子用于运行用户写好的TensorFlow代码,TensorFlow算子的配置界面中提供输入源设置项和TensorFlow代码文件路径设置项;
自定义脚本算子:用于向用户提供使用特定的脚本语言自定义编写算子的接口,自定义脚本算子的配置中提供输入源设置项和脚本编辑入口。
其中,所述特征重要性分析算子通过以下方式中的至少一个确定特征的重要性:
基于样本集训练至少一个特征池模型,其中,特征池模型是指基于样本包含的各个特征之中的至少一部分特征来提供关于机器学习问题的预测结果的机器学习模型,获取所述至少一个特征池模型的效果,并根据获取的所述至少一个特征池模型的效果来确定所述各个特征的重要性;其中,通过对所述至少一部分特征之中的至少一个连续特征执行离散化运算来训练特征池模型;
确定样本的基本特征子集,以及确定重要性待确定的多个目标特征子集;针对所述多个目标特征子集之中的每一个目标特征子集,获取相应的复合机器学习模型,其中,所述复合机器学习模型包括根据提升框架训练而成的基本子模型和附加子模型,其中,基本子模型基于基本特征子集训练而成,附加子模型基于所述每一个目标特征子集训练而成;以及根据复合机器学习模型的效果来确定所述多个目标特征子集的重要性;
对样本中的至少一个候选特征进行重要性的预排序,并根据预排序结果从所述至少一个候选特征中筛选出一部分候选特征以组成候选特征池;以及对候选特征池中的各个候选特征进行重要性的再排序,并根据再排序结果从候选特征池中选择重要性较高的至少一个候选特征作为重要特征。
其中,所述自动特征组合算子通过以下方式中的至少一个进行特征组合:
针对样本中的每一个连续特征,执行至少一种分箱运算,以得到由至少一个分箱特征组成的分箱组特征,其中,每种分箱运算对应一个分箱特征;以及通过在分箱组特征和/或样本中的其他离散特征之间进行特征组合来生成机器学习样本的组合特征;
按照启发式搜索策略,在样本的至少一个特征之间逐阶段地进行特征组合以生成候选组合特征,其中,针对每一阶段,从候选组合特征集合中选择目标组合特征以作为机器学习样本的组合特征;
获取样本中的能够进行组合的单位特征;向用户提供用于设置特征组合配置项的图形界面,其中,所述特征组合配置项用于限定如何在单位特征之间进行特征组合;接收用户为了设置特征组合配置项而在图形界面上执行的输入操作,并根据所述输入操作来获取用户设置的特征组合配置项;以及基于获取的特征组合配置项对单位特征之中的待组合特征进行组合,以生成机器学习样本的组合特征;
按照搜索策略,在样本的至少一个离散特征之间迭代地进行特征组合以生成候选组合特征,并从生成的候选组合特征中选择目标组合特征以作为组合特征;其中,针对每一轮迭代,对候选组合特征集合中的各个候选组合特征进行重要性的预排序,根据预排序结果从候选组合特征集合中筛选出一部分候选组合特征以组成候选组合特征池,对候选组合特征池中的各个候选组合特征进行重要性的再排序,根据再排序结果从候选组合特征池中选择重要性较高的至少一个候选组合特征作为目标组合特征;
从样本的特征中筛选出多个关键单位特征;以及利用自动特征组合算法从所述多个关键单位特征得到至少一个组合特征,其中,每个组合特征由所述多个关键单位特征之中对应的部分关键单位特征组合而成;将得到的所述至少一个组合特征作为自动生成的组合特征。
其中,所述自动调参算子通过以下方式中的任一个进行自动调参:
在每一轮迭代过程中执行如下步骤:确定当前可用的资源;分别对多个超参数调优策略进行评分,根据评分结果为所述多个超参数调优策略分配当前可用的资源,其中,每个所述超参数调优策略用于基于自身所对应的超参数选择策略为所述机器学习模型选择超参数组合;获取分配到资源的各超参数调优策略分别基于所分配到的资源生成的一个或多个超参数组合;
在竞争阶段,通过在多个竞争超参数组合下,分别按照机器学习算法训练对应的竞争模型以获取具有最佳效果的竞争模型,将获取的竞争模型及其所对应的竞争超参数组合作为优胜模型和优胜超参数组合进入成长阶段;在成长阶段,在本轮竞争阶段得到的优胜超参数组合下,继续训练本轮竞争阶段得到的优胜模型,并获得优胜模型的效果,若优胜模型的效果指示出现模型效果停止成长,则重新开始竞争阶段以在更新的多个竞争超参数组合下,分别按照机器学习算法继续训练更新的竞争模型,否则,继续训练优胜模型,上述过程反复迭代直到满足预设终止条件;其中,更新的多个竞争超参数组合基于上一轮成长阶段的优胜超参数组合而得到,更新的竞争模型均为上一轮成长阶段得到的优胜模型。
对多个机器学习算法分别进行一轮超参数探索训练,其中,在这一轮探索中每个机器学习算法至少探索M组超参数,M为大于1的正整数;基于所述多个机器学习算法分别在这一轮探索到的多组超参数分别对应的模型评价指标,计算每个机器学习算法的本轮表现得分,以及计算每个机器学习算法的未来潜力得分;综合每个机器学习算法的本轮表现分和未来潜力得分,确定将可用的资源分配给各机器学习算法的资源分配方案;根据所述资源分配方案在下一轮的超参数探索训练中进行相应的资源调度。
其中,所述操作单元401,还适于执行如下中的一项或多项:
将执行有向无环图对应的数据处理流程的过程中产生的数据,封装成类型为数据的节点并保存;
将执行有向无环图对应的数据处理流程的过程中产生的样本,封装成类型为样本的节点并保存;
将执行有向无环图对应的数据处理流程的过程中产生的模型,封装成类型为模型的节点并保存;
将执行有向无环图对应的数据处理流程本身,封装成类型为算子的节点并保存。
所述操作单元401,还适于将封装得到的节点添加到节点展示列表中,以供后续进行编辑或创建有向无环图使用。
所述操作单元401,适于将模型本身的描述信息写入文件中,将该文件封装成类型为模型文件的节点;或者,将模型本身的描述信息、数据源描述信息以及对数据源进行预处理和特征抽取处理的描述信息写入文件中,将该文件封装成类型为模型文件的节点;或者,将模型本身的描述信息、数据源描述信息、对数据源进行预处理和特征抽取处理的代码以及执行模型本身的处理逻辑的代码,封装成类型为模型的节点。
其中,有向无环图中的各节点分别对应的执行主体,按照执行顺序透传数据源描述信息以及各执行主体的数据处理逻辑的描述信息或代码,使得每个执行主体能够输出数据源描述信息以及本执行主体与其所有上级执行主体的数据处理逻辑的描述信息或代码;
或者,有向无环图中的各节点分别对应的各执行主体均有各自对应的信息记录文件;每个执行主体,如果没有上一级执行主体,则将输数据源描述信息和自身的数据处理逻辑的描述信息或代码保存到自身的信息记录文件中,如果有上一级执行主体,则读取上一级执行主体的信息记录文件中的内容,并将自身的数据处理逻辑的描述信息或代码与所读取的内容一起保存到自身的信息记录文件中。
其中,所述数据源描述信息为作为输入数据的一个或多个数据表的字段信息。
所述操作单元401,适于当将模型本身的描述信息写入文件中,将该文件封装成类型为模型文件的节点的情况下,将模型本身的处理逻辑的代码也封装成节点,且该节点的输入是模型文件;将模型本身的描述信息、输入模型的数据源描述信息以及对数据源进行预处理和特征抽取处理的描述信息写入文件中,将该文件封装成类型为模型文件的节点的情况下,获取将解析数据源描述信息以及对数据源进行预处理和特征抽取处理的描述信息并生成对应数据处理代码的解析代码,将该解析代码与模型本身的处理逻辑的代码封装成节点,其该节点输入是模型文件。
其中,所述运行单元402,适于获取有向无环图的配置信息;根据有向无环图的配置信息,确定有向无环图中的每个节点的上一级节点和下一级节点,进而确定各节点之间的连接关系;根据各节点之间的连接关系,执行各节点对应的数据处理流程。
其中,所述有向无环图的配置信息中包括各个节点的配置信息,每个节点的配置信息中包括输入槽信息和输出槽信息;所述运行单元402,适于根据有向无环图中的各节点的配置信息中的输入槽信息和输出槽信息,确定有向无环图中的每个节点的上一级节点和下一级节点。
其中,所述有向无环图的配置信息中包括各个节点的配置信息;所述运行单元402,进一步适于根据每个节点的配置信息,确定该节点以单机方式运行或者以分布式方式运行。
其中,每个节点的配置信息中的用于确定该节点的运行方式的信息包括:指示单机运行的标识或指示分布式运行的标识。
以上已参照图1至图4描述了根据本公开示例性实施例的实现数据处理的方法和系统。然而,应理解的是:附图中示出的装置和系统可被分别配置为包括执行特定功能的软件、硬件、固件或上述项的任意组合。例如,这些系统、装置可对应于专用的集成电路,还可对应于软件与硬件相结合的模块。此外,这些系统或装置所实现的一个或多个功能也可由物理实体设备(例如,处理器、客户端或服务器等)中的组件来统一执行。
此外,上述实现数据处理的方法可通过记录在计算机可读存储介质上的指令来实现,例如,根据本公开的示例性实施例,可提供一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行本申请文件中的所公开的实现数据处理的过程。例如执行以下步骤:响应于用户的生成有向无环图的操作,生成相应的有向无环图;响应于运行有向无环图的操作,执行有向无环图对应的数据处理流程。
上述计算机可读存储介质中存储的指令可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,应注意,所述指令还可用于执行除了上述步骤以外的附加步骤或者在执行上述步骤时执行更为具体的处理。
应注意,根据本公开示例性实施例的实现数据处理的系统可完全依赖计算机程序或指令的运行来实现相应的功能,即,各个装置在计算机程序的功能架构中与各步骤相应,使得整个系统通过专门的软件包(例如,lib库)而被调用,以实现相应的功能。
另一方面,当本发明中的系统和通过软件、固件、中间件或微代码实现其功能时,用于执行相应操作的程序代码或者代码段可以存储在诸如存储介质的计算机可读介质中,使得至少一个处理器或至少一个计算装置可通过读取并运行相应的程序代码或者代码段来执行相应的操作。
例如,根据本公开示例性实施例,可提供一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行本申请文件中的所公开的实现数据处理的过程。例如执行以下述步骤:响应于用户的生成有向无环图的操作,生成相应的有向无环图;响应于运行有向无环图的操作,执行有向无环图对应的数据处理流程。
所述至少一个计算装置可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器、显示装置等。作为示例而非限制,所述至少一个计算装置还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。计算装置可运行存储在存储装置之一中的指令或代码,其中,所述存储装置还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,所述网络接口装置可采用任何已知的传输协议。
存储装置可与计算装置集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储装置可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储装置和计算装置可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得计算装置能够读取存储在存储装置中的指令。
以上描述了本公开的各示例性实施例,应理解,上述描述仅是示例性的,并非穷尽性的,本公开不限于所披露的各示例性实施例。在不偏离本公开的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。因此,本公开的保护范围应该以权利要求的范围为准。
Claims (50)
1.一种实现数据处理的方法,其中,该方法包括:
响应于用户的生成有向无环图的操作,生成相应的有向无环图;
响应于运行有向无环图的操作,执行有向无环图对应的数据处理流程,其中,有向无环图对应的数据处理流程为与机器学习相关的数据处理流程,
其中,所述响应于用户的生成有向无环图的操作,生成相应的有向无环图包括:
显示包括节点展示区域和画布区域的第一图形用户界面,其中,所述节点展示区域中的节点类型包括数据、样本、模型和算子;
响应于在所述节点展示区域选择节点的操作,在画布区域显示相应节点,以及响应于连接节点的操作,在画布区域中的相应节点之间生成连线,以生成有向无环图,
其中,所述节点展示区域包括元素列表和算子列表,元素列表包括数据、样本和模型,所述样本是和机器学习相关的样本,算子列表包括与机器学习相关的各种数据处理算子;
所述节点展示区域中包括如下算子中的一种或多种:数据拆分算子;特征抽取算子;特征重要性分析算子;自动特征组合算子;自动调参算子;TensorFlow算子;自定义脚本算子。
2.根据权利要求1所述的方法,其中,
所述节点展示区域还包括文件列表,文件列表包括有向无环图。
3.根据权利要求1所述的方法,其中,所述节点展示区域的节点还包括有向无环图;
该方法还包括以下多项中的至少一项:
响应于在节点展示区域选择有向无环图的操作,在画布区域显示所选择的有向无环图,以供直接运行或修改编辑;
响应于保存画布区域中的有向无环图的操作,保存有向无环图,并将保存的有向无环图添加到所述节点展示区域中;
响应于导出有向无环图的操作,将相应有向无环图输出到指定的导出位置。
4.根据权利要求1所述的方法,其中,该方法还包括以下多项中的至少一项:
响应于从外部导入元素的操作,保存相应的元素,并添加到所述节点展示区域中;
保存在执行有向无环图对应的数据处理流程的过程中产生的元素,并将保存的元素添加到所述节点展示区域中;
提供管理执行有向无环图对应的数据处理流程的过程中产生的元素的管理页面,以供用户通过该管理页面对中间元素进行查看和删除操作;
响应于导出元素的操作,将相应的元素输出到指定的导出位置;
其中所述元素为数据、样本或模型。
5.根据权利要求1所述的方法,其中,该方法还包括以下多项中的至少一项:
响应于从外部导入算子的操作,保存相应算子对应的代码,并将相应算子添加到节点展示区域中;
提供算子代码编辑界面,从该界面获取输入的代码并保存,并将相应算子添加到节点展示区域中。
6.根据权利要求1所述的方法,其中,该方法还包括:
响应于选中画布区域中的一个节点的操作,显示该节点的配置界面,根据所述配置界面上的配置操作,完成对相应节点的相关配置;
当节点未进行必要的配置时,或者所配置的参数不符合预定要求时,在画布区域中的相应节点处显示提示标识。
7.根据权利要求1所述的方法,其中,该方法还包括以下多项中的至少一项:
在所述第一图形用户界面中显示运行有向无环图的图形控件,响应于触发该图形控件的操作,根据有向无环图中的各节点以及各节点之间的连线关系,执行有向无环图对应的数据处理流程;
在所述第一图形用户界面上显示一个计时器,用于对执行有向无环图对应的数据处理流程的用时进行实时计时。
8.根据权利要求1所述的方法,其中,该方法还包括以下多项中的至少一项:
在执行有向无环图对应的数据处理流程的过程中,在第一图形用户界面上的有向无环图的各节点上显示用于表示相应节点被执行的进度的信息;
在执行有向无环图对应的数据处理流程的过程中,在第一图形用户界面上的有向无环图的每个节点上显示正在运行中的标识,当一个节点对应的数据处理流程被执行完毕时,在该节点上显示执行完毕的标识;
响应于查看有向无环图中的节点的运行结果的操作,获取并展示该节点对应的运行结果数据。
9.根据权利要求1所述的方法,其中,该方法包括如下中的一项或多项:
画布区域中的数据、样本和模型均支持以下操作中的一个或多个:复制、删除和预览;
画布区域中的算子支持以下操作中的一个或多个:复制、删除、预览、运行当前任务、从当前任务开始运行、运行到当前任务、查看日志、查看任务详情;
对于画布区域中的运行完成的有向无环图,响应于点击其中一个算子的操作,显示与该算子输出的产物的类型分别对应的产物类型标志,响应于点击产物类型标志的操作,展示产物相关信息界面,该产物相关信息界面包括:预览产物的控件、导出产物的控件、将产物导入元素列表的控件、产物的基本信息和保存产物的路径信息;其中算子输出的产物类型包括:数据、样本、模型和报告。
10.根据权利要求1所述的方法,其中,
所述数据拆分算子的配置界面中提供的数据拆分方法包括按比例拆分、按规则拆分和先排序后拆分中的一种或多种;当选择按比例拆分时可进一步选择按比例顺序拆分、按比例随机拆分和按比例分层拆分,当选择随机拆分时进一步在配置界面上提供设置随机种子参数的输入区域,当选择分层拆分时进一步在配置界面上提供设置分层依据的字段的输入区域;当选择按规则拆分时提供用于输入拆分规则的输入区域;当选择先排序后拆分时进一步在配置界面上提供拆分比例选择项、用于设置排序字段的输入区域、以及排序方向选择项;
所述特征抽取算子的配置界面中提供添加输入源的接口和脚本编辑入口,还提供样本随机排序选项、特征精确统计选项、输出样本是否压缩的选项、输出明文选项、标签类型选项和输出结果存储类型选项中的至少一个;
所述特征重要性分析算子的输入是带有目标值的样本表,输出为特征重要性评价报告,报告中包含各个特征的重要性系数,报告中还包含特征数、样本数和各个特征的基本统计信息中的一个或多个;
所述自动特征组合算子的配置界面中提供特征选择项、评分指标选择项、学习率设置项和终止条件选择项中的至少一个,其中,特征选择项用于确定进行特征组合的各个特征,终止条件选择项中包括最多运行特征池个数和最多输出特征数;
所述自动调参算子用于根据调参算法从给定的参数范围中搜索出合适的参数,用搜索出的参数训练模型并进行模型评估;自动调参算子的配置界面中提供特征选择设置项、调参方法选项和调参次数设置项中的至少一个,其中,特征选择设置项中可以选择全部特征或自定义特征选择,调参方法选项中可选择随机搜索或网格搜索;
所述TensorFlow算子用于运行用户写好的TensorFlow代码,TensorFlow算子的配置界面中提供输入源设置项和TensorFlow代码文件路径设置项;
所述自定义脚本算子用于向用户提供使用特定的脚本语言自定义编写算子的接口,自定义脚本算子的配置中提供输入源设置项和脚本编辑入口。
11.根据权利要求10所述的方法,其中,所述特征重要性分析算子通过以下方式中的至少一个确定特征的重要性:
基于样本集训练至少一个特征池模型,其中,特征池模型是指基于样本包含的各个特征之中的至少一部分特征来提供关于机器学习问题的预测结果的机器学习模型,获取所述至少一个特征池模型的效果,并根据获取的所述至少一个特征池模型的效果来确定所述各个特征的重要性;其中,通过对所述至少一部分特征之中的至少一个连续特征执行离散化运算来训练特征池模型;
确定样本的基本特征子集,以及确定重要性待确定的多个目标特征子集;针对所述多个目标特征子集之中的每一个目标特征子集,获取相应的复合机器学习模型,其中,所述复合机器学习模型包括根据提升框架训练而成的基本子模型和附加子模型,其中,基本子模型基于基本特征子集训练而成,附加子模型基于所述每一个目标特征子集训练而成;以及根据复合机器学习模型的效果来确定所述多个目标特征子集的重要性;
对样本中的至少一个候选特征进行重要性的预排序,并根据预排序结果从所述至少一个候选特征中筛选出一部分候选特征以组成候选特征池;以及对候选特征池中的各个候选特征进行重要性的再排序,并根据再排序结果从候选特征池中选择重要性较高的至少一个候选特征作为重要特征。
12.根据权利要求10所述的方法,其中,所述自动特征组合算子通过以下方式中的至少一个进行特征组合:
针对样本中的每一个连续特征,执行至少一种分箱运算,以得到由至少一个分箱特征组成的分箱组特征,其中,每种分箱运算对应一个分箱特征;以及通过在分箱组特征和/或样本中的其他离散特征之间进行特征组合来生成机器学习样本的组合特征;
按照启发式搜索策略,在样本的至少一个特征之间逐阶段地进行特征组合以生成候选组合特征,其中,针对每一阶段,从候选组合特征集合中选择目标组合特征以作为机器学习样本的组合特征;
获取样本中的能够进行组合的单位特征;向用户提供用于设置特征组合配置项的图形界面,其中,所述特征组合配置项用于限定如何在单位特征之间进行特征组合;接收用户为了设置特征组合配置项而在图形界面上执行的输入操作,并根据所述输入操作来获取用户设置的特征组合配置项;以及基于获取的特征组合配置项对单位特征之中的待组合特征进行组合,以生成机器学习样本的组合特征;
按照搜索策略,在样本的至少一个离散特征之间迭代地进行特征组合以生成候选组合特征,并从生成的候选组合特征中选择目标组合特征以作为组合特征;其中,针对每一轮迭代,对候选组合特征集合中的各个候选组合特征进行重要性的预排序,根据预排序结果从候选组合特征集合中筛选出一部分候选组合特征以组成候选组合特征池,对候选组合特征池中的各个候选组合特征进行重要性的再排序,根据再排序结果从候选组合特征池中选择重要性较高的至少一个候选组合特征作为目标组合特征;
从样本的特征中筛选出多个关键单位特征;以及利用自动特征组合算法从所述多个关键单位特征得到至少一个组合特征,其中,每个组合特征由所述多个关键单位特征之中对应的部分关键单位特征组合而成;将得到的所述至少一个组合特征作为自动生成的组合特征。
13.根据权利要求10所述的方法,其中,所述自动调参算子通过以下方式中的任一个进行自动调参:
在每一轮迭代过程中执行如下步骤:确定当前可用的资源;分别对多个超参数调优策略进行评分,根据评分结果为所述多个超参数调优策略分配当前可用的资源,其中,每个所述超参数调优策略用于基于自身所对应的超参数选择策略为机器学习模型选择超参数组合;获取分配到资源的各超参数调优策略分别基于所分配到的资源生成的一个或多个超参数组合;
在竞争阶段,通过在多个竞争超参数组合下,分别按照机器学习算法训练对应的竞争模型以获取具有最佳效果的竞争模型,将获取的竞争模型及其所对应的竞争超参数组合作为优胜模型和优胜超参数组合进入成长阶段;在成长阶段,在本轮竞争阶段得到的优胜超参数组合下,继续训练本轮竞争阶段得到的优胜模型,并获得优胜模型的效果,若优胜模型的效果指示出现模型效果停止成长,则重新开始竞争阶段以在更新的多个竞争超参数组合下,分别按照机器学习算法继续训练更新的竞争模型,否则,继续训练优胜模型,上述过程反复迭代直到满足预设终止条件;其中,更新的多个竞争超参数组合基于上一轮成长阶段的优胜超参数组合而得到,更新的竞争模型均为上一轮成长阶段得到的优胜模型;
对多个机器学习算法分别进行一轮超参数探索训练,其中,在这一轮探索中每个机器学习算法至少探索M组超参数,M为大于1的正整数;基于所述多个机器学习算法分别在这一轮探索到的多组超参数分别对应的模型评价指标,计算每个机器学习算法的本轮表现得分,以及计算每个机器学习算法的未来潜力得分;综合每个机器学习算法的本轮表现得分和未来潜力得分,确定将可用的资源分配给各机器学习算法的资源分配方案;根据所述资源分配方案在下一轮的超参数探索训练中进行相应的资源调度,其中,所述计算每个机器学习算法的本轮表现得分包括:从所述多个机器学习算法分别在这一轮探索到的多组超参数分别对应的模型评价指标中确定前K个最佳模型评价指标,其中,K是正整数;对于每个机器学习算法,将该机器学习算法占所述前K个最佳模型评价指标的比例值作为该机器学习算法的本轮表现得分,其中,所述计算每个机器学习算法的未来潜力得分包括:将每个机器学习算法在这一轮探索到的多组超参数分别对应的模型评价指标按先后次序存放在一个数组中,得到所述多个机器学习算法分别对应的多个数组;针对每个机器学习算法,从与该机器学习算法对应的数组提取单调增强数组,将单调增强数组的长度和与该机器学习算法对应的数组的长度的比值作为该机器学习算法的未来潜力得分。
14.根据权利要求1所述的方法,其中,该方法还包括如下中的一项或多项:
将执行有向无环图对应的数据处理流程的过程中产生的数据,封装成类型为数据的节点并保存;
将执行有向无环图对应的数据处理流程的过程中产生的样本,封装成类型为样本的节点并保存;
将执行有向无环图对应的数据处理流程的过程中产生的模型,封装成类型为模型的节点并保存;
将执行有向无环图对应的数据处理流程本身,封装成类型为算子的节点并保存。
15.根据权利要求14所述的方法,其中,该方法进一步包括:
将封装得到的节点添加到节点展示列表中,以供后续进行编辑或创建有向无环图使用。
16.根据权利要求14所述的方法,其中,所述将执行有向无环图对应的数据处理流程的过程中产生的模型,封装成类型为模型的节点包括:
将模型本身的描述信息写入文件中,将该文件封装成类型为模型文件的节点;
或者,将模型本身的描述信息、数据源描述信息以及对数据源进行预处理和特征抽取处理的描述信息写入文件中,将该文件封装成类型为模型文件的节点;
或者,将模型本身的描述信息、数据源描述信息、对数据源进行预处理和特征抽取处理的代码以及执行模型本身的处理逻辑的代码,封装成类型为模型的节点。
17.根据权利要求14所述的方法,其中,
有向无环图中的各节点分别对应的执行主体,按照执行顺序透传数据源描述信息以及各执行主体的数据处理逻辑的描述信息或代码,使得每个执行主体能够输出数据源描述信息以及本执行主体与其所有上级执行主体的数据处理逻辑的描述信息或代码。
18.根据权利要求14所述的方法,其中,
有向无环图中的各节点分别对应的各执行主体均有各自对应的信息记录文件;
每个执行主体,如果没有上一级执行主体,则将输数据源描述信息和自身的数据处理逻辑的描述信息或代码保存到自身的信息记录文件中,如果有上一级执行主体,则读取上一级执行主体的信息记录文件中的内容,并将自身的数据处理逻辑的描述信息或代码与所读取的内容一起保存到自身的信息记录文件中。
19.根据权利要求16-18中的任一权利要求所述的方法,其中,所述数据源描述信息为作为输入数据的一个或多个数据表的字段信息。
20.根据权利要求16所述的方法,其中,该方法还包括:
当将模型本身的描述信息写入文件中,将该文件封装成类型为模型文件的节点的情况下,将模型本身的处理逻辑的代码也封装成节点,且该节点的输入是模型文件;
将模型本身的描述信息、输入模型的数据源描述信息以及对数据源进行预处理和特征抽取处理的描述信息写入文件中,将该文件封装成类型为模型文件的节点的情况下,获取将解析数据源描述信息以及对数据源进行预处理和特征抽取处理的描述信息并生成对应数据处理代码的解析代码,将该解析代码与模型本身的处理逻辑的代码封装成节点,其该节点输入是模型文件。
21.根据权利要求1所述的方法,其中,所述响应于运行有向无环图的操作,执行有向无环图对应的数据处理流程包括:
获取有向无环图的配置信息;
根据有向无环图的配置信息,确定有向无环图中的每个节点的上一级节点和下一级节点,进而确定各节点之间的连接关系;
根据各节点之间的连接关系,执行各节点对应的数据处理流程。
22.根据权利要求21所述的方法,其中,所述有向无环图的配置信息中包括各个节点的配置信息,每个节点的配置信息中包括输入槽信息和输出槽信息;
所述根据有向无环图的配置信息,确定有向无环图中的每个节点的上一级节点和下一级节点包括:根据有向无环图中的各节点的配置信息中的输入槽信息和输出槽信息,确定有向无环图中的每个节点的上一级节点和下一级节点。
23.根据权利要求21所述的方法,其中,所述有向无环图的配置信息中包括各个节点的配置信息;
该方法进一步包括:根据每个节点的配置信息,确定该节点以单机方式运行或者以分布式方式运行。
24.根据权利要求23所述的方法,其中,每个节点的配置信息中的用于确定该节点的运行方式的信息包括:指示单机运行的标识或指示分布式运行的标识。
25.一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1至24中的任一权利要求所述的方法。
26.一种包括至少一个计算装置和存储指令的至少一个存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1至24中的任一权利要求所述的方法。
27.一种数据处理系统,其中,该系统包括:
操作单元,适于响应于用户的生成有向无环图的操作,生成相应的有向无环图;
运行单元,适于响应于运行有向无环图的操作,执行有向无环图对应的数据处理流程,其中,有向无环图对应的数据处理流程为与机器学习相关的数据处理流程,
所述操作单元,适于显示包括节点展示区域和画布区域的第一图形用户界面,其中,所述节点展示区域中的节点类型包括数据、样本、模型和算子;响应于在所述节点展示区域选择节点的操作,在画布区域显示相应节点,以及响应于连接节点的操作,在画布区域中的相应节点之间生成连线,以生成有向无环图,
其中,所述节点展示区域包括元素列表和算子列表,元素列表包括数据、样本和模型,所述样本是和机器学习相关的样本,算子列表包括与机器学习相关的各种数据处理算子;
所述节点展示区域中包括如下算子中的一种或多种:数据拆分算子;特征抽取算子;特征重要性分析算子;自动特征组合算子;自动调参算子;TensorFlow算子;自定义脚本算子。
28.根据权利要求27所述的系统,其中,
所述节点展示区域包括元素列表和算子列表,元素列表包括数据、样本和模型,算子列表包括与机器学习相关的各种数据处理算子;
所述节点展示区域还包括文件列表,文件列表包括有向无环图。
29.根据权利要求27所述的系统,其中,所述节点展示区域的节点还包括有向无环图;
所述操作单元,还适于执行以下多项中的至少一项:
响应于在节点展示区域选择有向无环图的操作,在画布区域显示所选择的有向无环图,以供直接运行或修改编辑;
响应于保存画布区域中的有向无环图的操作,保存有向无环图,并将保存的有向无环图添加到所述节点展示区域中;
响应于导出有向无环图的操作,将相应有向无环图输出到指定的导出位置。
30.根据权利要求27所述的系统,其中,所述操作单元,还适于执行以下多项中的至少一项:
响应于从外部导入元素的操作,保存相应的元素,并添加到所述节点展示区域中;
保存在执行有向无环图对应的数据处理流程的过程中产生的元素,并将保存的元素添加到所述节点展示区域中;
提供管理执行有向无环图对应的数据处理流程的过程中产生的元素的管理页面,以供用户通过该管理页面对中间元素进行查看和删除操作;
响应于导出元素的操作,将相应的元素输出到指定的导出位置;
其中所述元素为数据、样本或模型。
31.根据权利要求27所述的系统,其中,所述操作单元,还适于执行以下多项中的至少一项:
响应于从外部导入算子的操作,保存相应算子对应的代码,并将相应算子添加到节点展示区域中;
提供算子代码编辑界面,从该界面获取输入的代码并保存,并将相应算子添加到节点展示区域中。
32.根据权利要求27所述的系统,其中,所述操作单元,还适于执行以下操作:
响应于选中画布区域中的一个节点的操作,显示该节点的配置界面,根据所述配置界面上的配置操作,完成对相应节点的相关配置;
当节点未进行必要的配置时,或者所配置的参数不符合预定要求时,在画布区域中的相应节点处显示提示标识。
33.根据权利要求27所述的系统,其中,所述操作单元,还适于执行以下多项中的至少一项:
在所述第一图形用户界面中显示运行有向无环图的图形控件,响应于触发该图形控件的操作,根据有向无环图中的各节点以及各节点之间的连线关系,执行有向无环图对应的数据处理流程;
在所述第一图形用户界面上显示一个计时器,用于对执行有向无环图对应的数据处理流程的用时进行实时计时。
34.根据权利要求27所述的系统,其中,所述操作单元,还适于执行以下多项中的至少一项:
在执行有向无环图对应的数据处理流程的过程中,在第一图形用户界面上的有向无环图的各节点上显示用于表示相应节点被执行的进度的信息;
在执行有向无环图对应的数据处理流程的过程中,在第一图形用户界面上的有向无环图的每个节点上显示正在运行中的标识,当一个节点对应的数据处理流程被执行完毕时,在该节点上显示执行完毕的标识;
响应于查看有向无环图中的节点的运行结果的操作,获取并展示该节点对应的运行结果数据。
35.根据权利要求27所述的系统,其中,所述操作单元,还适于执行如下中的一项或多项:
画布区域中的数据、样本和模型均支持以下操作中的一个或多个:复制、删除和预览;
画布区域中的算子支持以下操作中的一个或多个:复制、删除、预览、运行当前任务、从当前任务开始运行、运行到当前任务、查看日志、查看任务详情;
对于画布区域中的运行完成的有向无环图,响应于点击其中一个算子的操作,显示与该算子输出的产物的类型分别对应的产物类型标志,响应于点击产物类型标志的操作,展示产物相关信息界面,该产物信息相关界面包括:预览产物的控件、导出产物的控件、将产物导入元素列表的控件、产物的基本信息和保存产物的路径信息;其中算子输出的产物类型包括:数据、样本、模型和报告。
36.根据权利要求27所述的系统,其中,
所述数据拆分算子的配置界面中提供的数据拆分方法包括按比例拆分、按规则拆分和先排序后拆分中的一种或多种;当选择按比例拆分时可进一步选择按比例顺序拆分、按比例随机拆分和按比例分层拆分,当选择随机拆分时进一步在配置界面上提供设置随机种子参数的输入区域,当选择分层拆分时进一步在配置界面上提供设置分层依据的字段的输入区域;当选择按规则拆分时提供用于输入拆分规则的输入区域;当选择先排序后拆分时进一步在配置界面上提供拆分比例选择项、用于设置排序字段的输入区域、以及排序方向选择项;
所述特征抽取算子的配置界面中提供添加输入源的接口和脚本编辑入口,还提供样本随机排序选项、特征精确统计选项、输出样本是否压缩的选项、输出明文选项、标签类型选项和输出结果存储类型选项中的至少一个;
所述特征重要性分析算子的输入是带有目标值的样本表,输出为特征重要性评价报告,报告中包含各个特征的重要性系数,报告中还包含特征数、样本数和各个特征的基本统计信息中的一个或多个;
所述自动特征组合算子的配置界面中提供特征选择项、评分指标选择项、学习率设置项和终止条件选择项中的至少一个,其中,特征选择项用于确定进行特征组合的各个特征,终止条件选择项中包括最多运行特征池个数和最多输出特征数;
所述自动调参算子用于根据调参算法从给定的参数范围中搜索出合适的参数,用搜索出的参数训练模型并进行模型评估;自动调参算子的配置界面中提供特征选择设置项、调参方法选项和调参次数设置项中的至少一个,其中,特征选择设置项中可以选择全部特征或自定义特征选择,调参方法选项中可选择随机搜索或网格搜索;
所述TensorFlow算子用于运行用户写好的TensorFlow代码,TensorFlow算子的配置界面中提供输入源设置项和TensorFlow代码文件路径设置项;
所述自定义脚本算子用于向用户提供使用特定的脚本语言自定义编写算子的接口,自定义脚本算子的配置中提供输入源设置项和脚本编辑入口。
37.根据权利要求36所述的系统,其中,所述特征重要性分析算子通过以下方式中的至少一个确定特征的重要性:
基于样本集训练至少一个特征池模型,其中,特征池模型是指基于样本包含的各个特征之中的至少一部分特征来提供关于机器学习问题的预测结果的机器学习模型,获取所述至少一个特征池模型的效果,并根据获取的所述至少一个特征池模型的效果来确定所述各个特征的重要性;其中,通过对所述至少一部分特征之中的至少一个连续特征执行离散化运算来训练特征池模型;
确定样本的基本特征子集,以及确定重要性待确定的多个目标特征子集;针对所述多个目标特征子集之中的每一个目标特征子集,获取相应的复合机器学习模型,其中,所述复合机器学习模型包括根据提升框架训练而成的基本子模型和附加子模型,其中,基本子模型基于基本特征子集训练而成,附加子模型基于所述每一个目标特征子集训练而成;以及根据复合机器学习模型的效果来确定所述多个目标特征子集的重要性;
对样本中的至少一个候选特征进行重要性的预排序,并根据预排序结果从所述至少一个候选特征中筛选出一部分候选特征以组成候选特征池;以及对候选特征池中的各个候选特征进行重要性的再排序,并根据再排序结果从候选特征池中选择重要性较高的至少一个候选特征作为重要特征。
38.根据权利要求36所述的系统,其中,所述自动特征组合算子通过以下方式中的至少一个进行特征组合:
针对样本中的每一个连续特征,执行至少一种分箱运算,以得到由至少一个分箱特征组成的分箱组特征,其中,每种分箱运算对应一个分箱特征;以及通过在分箱组特征和/或样本中的其他离散特征之间进行特征组合来生成机器学习样本的组合特征;
按照启发式搜索策略,在样本的至少一个特征之间逐阶段地进行特征组合以生成候选组合特征,其中,针对每一阶段,从候选组合特征集合中选择目标组合特征以作为机器学习样本的组合特征;
获取样本中的能够进行组合的单位特征;向用户提供用于设置特征组合配置项的图形界面,其中,所述特征组合配置项用于限定如何在单位特征之间进行特征组合;接收用户为了设置特征组合配置项而在图形界面上执行的输入操作,并根据所述输入操作来获取用户设置的特征组合配置项;以及基于获取的特征组合配置项对单位特征之中的待组合特征进行组合,以生成机器学习样本的组合特征;
按照搜索策略,在样本的至少一个离散特征之间迭代地进行特征组合以生成候选组合特征,并从生成的候选组合特征中选择目标组合特征以作为组合特征;其中,针对每一轮迭代,对候选组合特征集合中的各个候选组合特征进行重要性的预排序,根据预排序结果从候选组合特征集合中筛选出一部分候选组合特征以组成候选组合特征池,对候选组合特征池中的各个候选组合特征进行重要性的再排序,根据再排序结果从候选组合特征池中选择重要性较高的至少一个候选组合特征作为目标组合特征;
从样本的特征中筛选出多个关键单位特征;以及利用自动特征组合算法从所述多个关键单位特征得到至少一个组合特征,其中,每个组合特征由所述多个关键单位特征之中对应的部分关键单位特征组合而成;将得到的所述至少一个组合特征作为自动生成的组合特征。
39.根据权利要求36所述的系统,其中,所述自动调参算子通过以下方式中的任一个进行自动调参:
在每一轮迭代过程中执行如下步骤:确定当前可用的资源;分别对多个超参数调优策略进行评分,根据评分结果为所述多个超参数调优策略分配当前可用的资源,其中,每个所述超参数调优策略用于基于自身所对应的超参数选择策略为机器学习模型选择超参数组合;获取分配到资源的各超参数调优策略分别基于所分配到的资源生成的一个或多个超参数组合;
在竞争阶段,通过在多个竞争超参数组合下,分别按照机器学习算法训练对应的竞争模型以获取具有最佳效果的竞争模型,将获取的竞争模型及其所对应的竞争超参数组合作为优胜模型和优胜超参数组合进入成长阶段;在成长阶段,在本轮竞争阶段得到的优胜超参数组合下,继续训练本轮竞争阶段得到的优胜模型,并获得优胜模型的效果,若优胜模型的效果指示出现模型效果停止成长,则重新开始竞争阶段以在更新的多个竞争超参数组合下,分别按照机器学习算法继续训练更新的竞争模型,否则,继续训练优胜模型,上述过程反复迭代直到满足预设终止条件;其中,更新的多个竞争超参数组合基于上一轮成长阶段的优胜超参数组合而得到,更新的竞争模型均为上一轮成长阶段得到的优胜模型;
对多个机器学习算法分别进行一轮超参数探索训练,其中,在这一轮探索中每个机器学习算法至少探索M组超参数,M为大于1的正整数;基于所述多个机器学习算法分别在这一轮探索到的多组超参数分别对应的模型评价指标,计算每个机器学习算法的本轮表现得分,以及计算每个机器学习算法的未来潜力得分;综合每个机器学习算法的本轮表现得分和未来潜力得分,确定将可用的资源分配给各机器学习算法的资源分配方案;根据所述资源分配方案在下一轮的超参数探索训练中进行相应的资源调度,其中,所述计算每个机器学习算法的本轮表现得分包括:从所述多个机器学习算法分别在这一轮探索到的多组超参数分别对应的模型评价指标中确定前K个最佳模型评价指标,其中,K是正整数;对于每个机器学习算法,将该机器学习算法占所述前K个最佳模型评价指标的比例值作为该机器学习算法的本轮表现得分,其中,所述计算每个机器学习算法的未来潜力得分包括:将每个机器学习算法在这一轮探索到的多组超参数分别对应的模型评价指标按先后次序存放在一个数组中,得到所述多个机器学习算法分别对应的多个数组;针对每个机器学习算法,从与该机器学习算法对应的数组提取单调增强数组,将单调增强数组的长度和与该机器学习算法对应的数组的长度的比值作为该机器学习算法的未来潜力得分。
40.根据权利要求27所述的系统,其中,所述操作单元,还适于执行如下中的一项或多项:
将执行有向无环图对应的数据处理流程的过程中产生的数据,封装成类型为数据的节点并保存;
将执行有向无环图对应的数据处理流程的过程中产生的样本,封装成类型为样本的节点并保存;
将执行有向无环图对应的数据处理流程的过程中产生的模型,封装成类型为模型的节点并保存;
将执行有向无环图对应的数据处理流程本身,封装成类型为算子的节点并保存。
41.根据权利要求40所述的系统,其中,所述操作单元,还适于将封装得到的节点添加到节点展示列表中,以供后续进行编辑或创建有向无环图使用。
42.根据权利要求40所述的系统,其中,所述操作单元,适于
将模型本身的描述信息写入文件中,将该文件封装成类型为模型文件的节点;
或者,将模型本身的描述信息、数据源描述信息以及对数据源进行预处理和特征抽取处理的描述信息写入文件中,将该文件封装成类型为模型文件的节点;
或者,将模型本身的描述信息、数据源描述信息、对数据源进行预处理和特征抽取处理的代码以及执行模型本身的处理逻辑的代码,封装成类型为模型的节点。
43.根据权利要求40所述的系统,其中,
有向无环图中的各节点分别对应的执行主体,按照执行顺序透传数据源描述信息以及各执行主体的数据处理逻辑的描述信息或代码,使得每个执行主体能够输出数据源描述信息以及本执行主体与其所有上级执行主体的数据处理逻辑的描述信息或代码。
44.根据权利要求40所述的系统,其中,
有向无环图中的各节点分别对应的各执行主体均有各自对应的信息记录文件;
每个执行主体,如果没有上一级执行主体,则将输数据源描述信息和自身的数据处理逻辑的描述信息或代码保存到自身的信息记录文件中,如果有上一级执行主体,则读取上一级执行主体的信息记录文件中的内容,并将自身的数据处理逻辑的描述信息或代码与所读取的内容一起保存到自身的信息记录文件中。
45.根据权利要求42-44中的任一权利要求所述的系统,其中,所述数据源描述信息为作为输入数据的一个或多个数据表的字段信息。
46.根据权利要求42所述的系统,其中,所述操作单元,适于
当将模型本身的描述信息写入文件中,将该文件封装成类型为模型文件的节点的情况下,将模型本身的处理逻辑的代码也封装成节点,且该节点的输入是模型文件;
将模型本身的描述信息、输入模型的数据源描述信息以及对数据源进行预处理和特征抽取处理的描述信息写入文件中,将该文件封装成类型为模型文件的节点的情况下,获取将解析数据源描述信息以及对数据源进行预处理和特征抽取处理的描述信息并生成对应数据处理代码的解析代码,将该解析代码与模型本身的处理逻辑的代码封装成节点,其该节点输入是模型文件。
47.根据权利要求27所述的系统,其中,
所述运行单元,适于获取有向无环图的配置信息;根据有向无环图的配置信息,确定有向无环图中的每个节点的上一级节点和下一级节点,进而确定各节点之间的连接关系;
根据各节点之间的连接关系,执行各节点对应的数据处理流程。
48.根据权利要求47所述的系统,其中,所述有向无环图的配置信息中包括各个节点的配置信息,每个节点的配置信息中包括输入槽信息和输出槽信息;
所述运行单元,适于根据有向无环图中的各节点的配置信息中的输入槽信息和输出槽信息,确定有向无环图中的每个节点的上一级节点和下一级节点。
49.根据权利要求47所述的系统,其中,所述有向无环图的配置信息中包括各个节点的配置信息;
所述运行单元,进一步适于根据每个节点的配置信息,确定该节点以单机方式运行或者以分布式方式运行。
50.根据权利要求49所述的系统,其中,每个节点的配置信息中的用于确定该节点的运行方式的信息包括:指示单机运行的标识或指示分布式运行的标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911061020.9A CN110956272B (zh) | 2019-11-01 | 2019-11-01 | 实现数据处理的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911061020.9A CN110956272B (zh) | 2019-11-01 | 2019-11-01 | 实现数据处理的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110956272A CN110956272A (zh) | 2020-04-03 |
CN110956272B true CN110956272B (zh) | 2023-08-08 |
Family
ID=69976491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911061020.9A Active CN110956272B (zh) | 2019-11-01 | 2019-11-01 | 实现数据处理的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110956272B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111523676B (zh) * | 2020-04-17 | 2024-04-12 | 第四范式(北京)技术有限公司 | 辅助机器学习模型上线的方法及装置 |
CN111506779B (zh) * | 2020-04-20 | 2021-03-16 | 东云睿连(武汉)计算技术有限公司 | 面向数据处理的对象版本与关联信息管理方法及系统 |
CN113673707A (zh) * | 2020-05-15 | 2021-11-19 | 第四范式(北京)技术有限公司 | 一种应用机器学习的方法、装置、电子设备及存储介质 |
CN111752555B (zh) * | 2020-05-18 | 2021-08-20 | 南京认知物联网研究院有限公司 | 业务场景驱动的视觉洞察支撑系统、客户端和方法 |
CN111625692B (zh) * | 2020-05-27 | 2023-08-22 | 抖音视界有限公司 | 特征抽取方法、装置、电子设备和计算机可读介质 |
CN112115129B (zh) * | 2020-09-16 | 2024-05-10 | 浪潮软件股份有限公司 | 一种基于机器学习的零售终端样本抽样方法 |
CN112380216B (zh) * | 2020-11-17 | 2023-07-28 | 北京融七牛信息技术有限公司 | 一种基于交叉的自动特征生成方法 |
CN112508346B (zh) * | 2020-11-17 | 2022-06-24 | 四川新网银行股份有限公司 | 一种实现指标化业务数据勾稽的方法 |
CN112860655B (zh) * | 2020-12-10 | 2024-01-30 | 南京三眼精灵信息技术有限公司 | 可视化知识模型构建方法及装置 |
CN112558938B (zh) * | 2020-12-16 | 2021-11-09 | 中国科学院空天信息创新研究院 | 一种基于有向无环图的机器学习工作流调度方法及系统 |
GB2602475B (en) * | 2020-12-31 | 2023-09-13 | Seechange Tech Limited | Method and system for processing image data |
CN113392422B (zh) * | 2021-08-16 | 2021-10-29 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
WO2023115570A1 (zh) * | 2021-12-24 | 2023-06-29 | 深圳晶泰科技有限公司 | 机器学习模型的管理方法、装置、计算机设备及存储介质 |
CN114492737B (zh) | 2021-12-31 | 2022-12-09 | 北京百度网讯科技有限公司 | 数据处理方法、装置及电子设备、存储介质及程序产品 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107316082A (zh) * | 2017-06-15 | 2017-11-03 | 第四范式(北京)技术有限公司 | 用于确定机器学习样本的特征重要性的方法及系统 |
CN107392319A (zh) * | 2017-07-20 | 2017-11-24 | 第四范式(北京)技术有限公司 | 生成机器学习样本的组合特征的方法及系统 |
CN107704871A (zh) * | 2017-09-08 | 2018-02-16 | 第四范式(北京)技术有限公司 | 生成机器学习样本的组合特征的方法及系统 |
CN107729915A (zh) * | 2017-09-08 | 2018-02-23 | 第四范式(北京)技术有限公司 | 用于确定机器学习样本的重要特征的方法及系统 |
CN107766946A (zh) * | 2017-09-28 | 2018-03-06 | 第四范式(北京)技术有限公司 | 生成机器学习样本的组合特征的方法及系统 |
CN107909087A (zh) * | 2017-09-08 | 2018-04-13 | 第四范式(北京)技术有限公司 | 生成机器学习样本的组合特征的方法及系统 |
CN108021984A (zh) * | 2016-11-01 | 2018-05-11 | 第四范式(北京)技术有限公司 | 确定机器学习样本的特征重要性的方法及系统 |
WO2018134248A1 (en) * | 2017-01-17 | 2018-07-26 | Catchoom Technologies, S.L. | Classifying data |
CN109242040A (zh) * | 2018-09-28 | 2019-01-18 | 第四范式(北京)技术有限公司 | 自动生成组合特征的方法及系统 |
CN109284828A (zh) * | 2018-09-06 | 2019-01-29 | 沈文策 | 一种超参数调优方法、装置及设备 |
CN109325808A (zh) * | 2018-09-27 | 2019-02-12 | 重庆智万家科技有限公司 | 基于Spark大数据平台的商品需求预测与物流分仓规划方法 |
CN109375912A (zh) * | 2018-10-18 | 2019-02-22 | 腾讯科技(北京)有限公司 | 模型序列化方法、装置及存储介质 |
CN109389143A (zh) * | 2018-06-19 | 2019-02-26 | 北京九章云极科技有限公司 | 一种数据分析处理系统及自动建模方法 |
CN109726216A (zh) * | 2018-12-29 | 2019-05-07 | 北京九章云极科技有限公司 | 一种基于有向无环图的数据处理方法和处理系统 |
CN109933834A (zh) * | 2018-12-26 | 2019-06-25 | 阿里巴巴集团控股有限公司 | 一种时序数据预测的模型创建方法及装置 |
CN110321112A (zh) * | 2019-07-02 | 2019-10-11 | 北京百度网讯科技有限公司 | Ai能力研发平台及数据处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3014443B1 (en) * | 2013-06-24 | 2020-06-10 | Cylance Inc. | Automated system for generative multimodel multiclass classification and similarity analysis using machine learning |
-
2019
- 2019-11-01 CN CN201911061020.9A patent/CN110956272B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021984A (zh) * | 2016-11-01 | 2018-05-11 | 第四范式(北京)技术有限公司 | 确定机器学习样本的特征重要性的方法及系统 |
WO2018134248A1 (en) * | 2017-01-17 | 2018-07-26 | Catchoom Technologies, S.L. | Classifying data |
CN107316082A (zh) * | 2017-06-15 | 2017-11-03 | 第四范式(北京)技术有限公司 | 用于确定机器学习样本的特征重要性的方法及系统 |
CN107392319A (zh) * | 2017-07-20 | 2017-11-24 | 第四范式(北京)技术有限公司 | 生成机器学习样本的组合特征的方法及系统 |
CN107704871A (zh) * | 2017-09-08 | 2018-02-16 | 第四范式(北京)技术有限公司 | 生成机器学习样本的组合特征的方法及系统 |
CN107729915A (zh) * | 2017-09-08 | 2018-02-23 | 第四范式(北京)技术有限公司 | 用于确定机器学习样本的重要特征的方法及系统 |
CN107909087A (zh) * | 2017-09-08 | 2018-04-13 | 第四范式(北京)技术有限公司 | 生成机器学习样本的组合特征的方法及系统 |
CN107766946A (zh) * | 2017-09-28 | 2018-03-06 | 第四范式(北京)技术有限公司 | 生成机器学习样本的组合特征的方法及系统 |
CN109389143A (zh) * | 2018-06-19 | 2019-02-26 | 北京九章云极科技有限公司 | 一种数据分析处理系统及自动建模方法 |
CN109284828A (zh) * | 2018-09-06 | 2019-01-29 | 沈文策 | 一种超参数调优方法、装置及设备 |
CN109325808A (zh) * | 2018-09-27 | 2019-02-12 | 重庆智万家科技有限公司 | 基于Spark大数据平台的商品需求预测与物流分仓规划方法 |
CN109242040A (zh) * | 2018-09-28 | 2019-01-18 | 第四范式(北京)技术有限公司 | 自动生成组合特征的方法及系统 |
CN109375912A (zh) * | 2018-10-18 | 2019-02-22 | 腾讯科技(北京)有限公司 | 模型序列化方法、装置及存储介质 |
CN109933834A (zh) * | 2018-12-26 | 2019-06-25 | 阿里巴巴集团控股有限公司 | 一种时序数据预测的模型创建方法及装置 |
CN109726216A (zh) * | 2018-12-29 | 2019-05-07 | 北京九章云极科技有限公司 | 一种基于有向无环图的数据处理方法和处理系统 |
CN110321112A (zh) * | 2019-07-02 | 2019-10-11 | 北京百度网讯科技有限公司 | Ai能力研发平台及数据处理方法 |
Non-Patent Citations (1)
Title |
---|
面向遥感大数据应用的云计算任务调度研究;殷宪亮;《中国优秀硕士学位论文全文数据库:信息科技辑》(第1期);I140-821 * |
Also Published As
Publication number | Publication date |
---|---|
CN110956272A (zh) | 2020-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110956272B (zh) | 实现数据处理的方法和系统 | |
Shang et al. | Democratizing data science through interactive curation of ml pipelines | |
US12099906B2 (en) | Parallel development and deployment for machine learning models | |
US11861462B2 (en) | Preparing structured data sets for machine learning | |
US20150302433A1 (en) | Automatic Generation of Custom Intervals | |
AU2019210306A1 (en) | Systems and methods for preparing data for use by machine learning algorithms | |
CN113935434A (zh) | 一种数据分析处理系统及自动建模方法 | |
US20150058266A1 (en) | Predictive analytics factory | |
US20210103858A1 (en) | Method and system for model auto-selection using an ensemble of machine learning models | |
CN107704871A (zh) | 生成机器学习样本的组合特征的方法及系统 | |
CN105593818A (zh) | 用于调度分布式工作流程任务的装置和方法 | |
US20170169353A1 (en) | Systems and Methods for Multi-Objective Evolutionary Algorithms with Soft Constraints | |
US10956535B2 (en) | Operating a neural network defined by user code | |
WO2014110167A2 (en) | Integrated machine learning for a data management product | |
JP7245961B2 (ja) | 対話型機械学習 | |
CN108846695A (zh) | 终端更换周期的预测方法及装置 | |
CN109766470A (zh) | 图像检索方法、装置及处理设备 | |
EP4046084A1 (en) | Interactive machine learning | |
Tousi et al. | Comparative analysis of machine learning models for performance prediction of the spec benchmarks | |
CN115147092A (zh) | 资源审批方法、随机森林模型的训练方法及装置 | |
CN108446378B (zh) | 基于用户搜索的方法、系统及计算机存储介质 | |
US20220092470A1 (en) | Runtime estimation for machine learning data processing pipeline | |
CN116776134B (zh) | 一种基于PCA-SFFS-BiGRU的光伏出力预测方法 | |
Tesser et al. | Selecting efficient VM types to train deep learning models on Amazon SageMaker | |
CN113762514A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |