用于模型优化的方法、装置以及存储介质
技术领域
本发明涉及计算机
技术领域
,尤其涉及一种用于模型优化的方法、装置以及存储介质。背景技术
机器学习平台创建模型项目时需要先创建实验,然后依据实验的需求从组件栏中拖拽组件该实验中,接着对组件进行连线和参数配置后,运行该实验。在科研及日常数据分析中,需要大量进行机器学习算法对比实验,用于对模型进行优化。目前,如果需要进行机器学习算法对比,则需要独立进行编码,过程非常繁琐及耗时,需要数据分析师及工程师投入大量的时间。因此,需要一种用于模型优化的技术方案。
发明内容
有鉴于此,本发明要解决的一个技术问题是提供一种用于模型优化的方法、装置以及存储介质。
根据本公开的一个方面,提供一种用于模型优化的方法,包括:设置模型运行环境,在所述模型运行环境中添加建立目标模型所需的第一机器学习算法组件;基于所述第一机器学习算法组件建立与所述目标模型相对应的第一模型流程图;利用预设的元学习算法获取用于与所述第一机器学习算法组件进行比对的至少一个第二机器学习算法组件;使用预设的比对规则,对所述第一机器学习算法组件与所述第二机器学习算法组件进行比对处理;基于比对结果对所述目标模型进行优化处理。
可选地,所述使用预设的比对规则,对所述第一机器学习算法组件与所述第二机器学习算法组件进行比对处理包括:在所述模型运行环境中添加所述第二机器学习算法组件;增加与所述第二机器学习算法组件相对应的模型流程分支,基于所述模型流程分支建立与所述目标模型相对应的第二模型流程图;基于所述第一模型流程图、所述第二模型流程图分别进行模型流程运行;获取所述第一机器学习算法组件和所述第二机器学习算法组件的输出结果并进行比对。
可选地,所述基于比对结果对所述目标模型进行优化处理包括:获取所述输出结果的准确率,根据所述准确率从所述第一机器学习算法组件和所述第二机器学习算法组件中选取至少一个目标机器学习算法组件;基于所述目标机器学习算法组件对所述目标模型进行优化处理。
可选地,所述根据所述准确率从所述第一机器学习算法组件和所述第二机器学习算法组件中选取至少一个目标机器学习算法组件包括:将与最高准确率相对应的所述第一机器学习算法组件或所述第二机器学习算法组件作为所述目标机器学习算法组件。
可选地,所述基于所述目标机器学习算法组件对所述目标模型进行优化处理包括:如果所述目标机器学习算法组件的数量为多个,则集成多个所述目标机器学习算法组件,融合成新的目标模型。
可选地,所述利用预设的元学习算法获取用于与所述第一机器学习算法组件进行比对的至少一个第二机器学习算法组件包括:设置数据集,计算所述数据集的元特征;基于性能数据设置所述数据集与相匹配的机器学习算法组件的对应关系;使用所述元学习算法,根据所述元特征、所述对应关系获取所述第二机器学习算法组件。
可选地,所述根据所述元特征、所述对应关系获取所述第二机器学习算法组件包括:获取与所述第一机器学习算法组件相对应的应用数据集;计算与所述应用数据集相对应的元特征,基于此元特征确定与所述应用数据集最接近的至少一个所述数据集,作为目标数据集;根据所述对应关系,将与所述目标数据集相对应的机器学习算法组件作为所述第二机器学习算法组件。
根据本公开的另一方面,提供一种用于模型优化的装置,包括:算法组件处理模块,用于设置模型运行环境,在所述模型运行环境中添加建立目标模型所需的第一机器学习算法组件;模型流程建立模块,用于基于所述第一机器学习算法组件建立与所述目标模型相对应的第一模型流程图;比对算法获取模块,用于利用预设的元学习算法获取用于与所述第一机器学习算法组件进行比对的至少一个第二机器学习算法组件;算法比对处理模块,用于使用预设的比对规则,对所述第一机器学习算法组件与所述第二机器学习算法组件进行比对处理;模型优化模块,用于基于比对结果对所述目标模型进行优化处理。
可选地,所述算法比对处理模块,包括:分支建立单元,用于在所述模型运行环境中添加所述第二机器学习算法组件;增加与所述第二机器学习算法组件相对应的模型流程分支,基于所述模型流程分支建立与所述目标模型相对应的第二模型流程图;流程运行单元,用于基于所述第一模型流程图、所述第二模型流程图分别进行模型流程运行;算法比对单元,用于获取所述第一机器学习算法组件和所述第二机器学习算法组件的输出结果并进行比对。
可选地,所述模型优化模块,用于获取所述输出结果的准确率,根据所述准确率从所述第一机器学习算法组件和所述第二机器学习算法组件中选取至少一个目标机器学习算法组件;基于所述目标机器学习算法组件对所述目标模型进行优化处理。
可选地,所述模型优化模块,具体用于将与最高准确率相对应的所述第一机器学习算法组件或所述第二机器学习算法组件作为所述目标机器学习算法组件。
可选地,所述模型优化模块,还用于如果所述目标机器学习算法组件的数量为多个,则集成多个所述目标机器学习算法组件,融合成新的目标模型。
可选地,所述比对算法获取模块,包括:数据集预设单元,用于设置数据集,计算所述数据集的元特征;基于性能数据设置所述数据集与相匹配的机器学习算法组件的对应关系;算法确定单元,用于使用所述元学习算法,根据所述元特征、所述对应关系获取所述第二机器学习算法组件。
可选地,所述算法确定单元,用于获取与所述第一机器学习算法组件相对应的应用数据集;计算与所述应用数据集相对应的元特征,基于此元特征确定与所述应用数据集最接近的至少一个所述数据集,作为目标数据集;根据所述对应关系,将与所述目标数据集相对应的机器学习算法组件作为所述第二机器学习算法组件。
根据本公开的又一方面,提供用于模型优化的装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上所述的方法。
根据本公开的再一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行如上所述的方法。
本公开的用于模型优化的方法、装置以及存储介质,能够基于元学习自动增加机器学习算法组件,进行机器学习算法对比实验,能够快速、方便地完成两个及多个机器学习算法的对比实验,进行模型优化;支持多种机器学习算法进行对比实验,能够实现高质量的机器学习建模,可以让开发人员在不进行编码的情况下进行机器学习的开发和训练,可以显著加快模型开发效率。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本公开的用于模型优化的方法的一个实施例的流程示意图;
图2为根据本公开的用于模型优化的方法的一个实施例中的进行比对处理的流程示意图;
图3为根据本公开的用于模型优化的方法的一个实施例中的获取比对算法组件的流程示意图;
图4为进行模型优化的一个实例的示意图;
图5为根据本公开的用于模型优化的装置的一个实施例的模块示意图;
图6为根据本公开的用于模型优化的装置的一个实施例中的算法比对处理模块的模块示意图;
图7为根据本公开的用于模型优化的装置的一个实施例中的比对算法获取模块的模块示意图;
图8为根据本公开的用于模型优化的装置的又一个实施例的模块示意图。
具体实施方式
下面参照附图对本公开进行更全面的描述,其中说明本公开的示例性实施例。下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
下文中的“第一”、“第二”等仅用于描述上相区别,并没有其它特殊的含义。
传统的机器学习领域大量的工具都是编程性的机器学习库,例如R、Python以及深度学习库caffe、tensorflow等,这些机器学习工具都具有一定的门槛,学习曲线比较高,不适合一般的业务和数据分析人员。
目前,在科研及日常数据分析中,大量运用机器学习算法对比实验,每个阶段都需要独立进行编码,尤其是创建和分析过程非常繁琐及耗时,需要数据分析师及工程师投入大量的时间。另外,由于每个阶段的交换数据格式不统一,导致模型训练非常耗时,无法实现体系化结果验证。
每种机器学习算法都有局限性,所以不存在“通用最优算法”,只有在特定情境下某种机器学习算法可能是渐进最优的,因此,评估机器学习算法性能并选择最优算法,对于模型的优化是非常重要的。
图1为根据本公开的用于模型优化的方法的一个实施例的流程示意图,如图1所示:
步骤101,设置模型运行环境,在模型运行环境中添加建立目标模型所需的第一机器学习算法组件。
步骤102,基于第一机器学习算法组件建立与目标模型相对应的第一模型流程图。
机器学习(Machine Learning,ML)算法可以有多种,例如为随机森林分类算法、神经网络算法等。模型运行环境可以为机器学习模型项目运行环境,目标模型为模型项目,模型项目是指机器学习平台用户在机器学习平台上搭建的由组件组成的数据工作流程或者数据应用,或实验模型项目。通过机器学习平台,可以依据现有的数据获得合理的模型项目。
机器学习平台创建模型项目时需要先创建实验,然后依据实验的需求从组件栏中拖拽组件该实验中,建立与目标模型相对应的模型流程图,对组件进行参数配置后,运行该实验。机器学习运行环境(模型运行环境)是机器学习平台中用于创建并运行模型项目的虚拟环境,在该环境下可以创建模型项目,并运行所创建的模型项目。
模型流程图可以为可视化模型流程图,模型项目中的各个组件构成模型项目的节点,例如,可视化模型流程图的一个节点为算法训练节点,配置其树个数,树深度、训练列、目标列等参数。
组件是指可以在机器学习平台上调用执行的用于代表各种算法或者数据源的操作单元。例如数据导入导出、数据处理、数据分析、模型项目训练或者预测等。向机器学习模型项目运行环境中添加组件,将所需的组件按照设定的顺序建立输入输出链接以创建模型项目(目标模型)
步骤103,利用预设的元学习算法获取用于与第一机器学习算法组件进行比对的至少一个第二机器学习算法组件。
元学习(meta learning)又被称作“学会学习”(learning to learn),用于帮助新任务在缺乏训练样本的情况下快速学习(rapid learning)、快速适应(fast adaption)。利用元学习收集性能数据和元特性,计算新的数据集的元特征,用来确定在第一机器学习算法组件所使用的新的数据集上还可以使用哪些第二机器学习算法组件。根据元学习选择的第二机器学习算法组件,可以在模型运行环境中自动添加新的算法分支,生成新的可视化模型流程图。
步骤104,使用预设的比对规则,对第一机器学习算法组件与第二机器学习算法组件进行比对处理。
步骤105,基于比对结果对目标模型进行优化处理。
可集成多个机器学习算法模型,融合准确率最高的多个机器学习算法作为最优的机器学习算法,进行模型的优化,实现高质量的机器学习建模,可以让开发人员在不进行编码的情况下进行机器学习的开发和训练,加快模型开发效率。
在一个实施例中,对第一机器学习算法组件与第二机器学习算法组件进行比对处理可以使用多种方法。图2为根据本公开的用于模型优化的方法的一个实施例中的进行比对处理的流程示意图,如图2所示:
步骤201,在模型运行环境中添加第二机器学习算法组件。
步骤202,增加与第二机器学习算法组件相对应的模型流程分支,基于模型流程分支建立与目标模型相对应的第二模型流程图。
选择需要进行对比实验的第二机器学习算法的图形化算法组件,并拖拽至模型运行环境的设计区,建立图形化的第二机器学习算法组件的算法之间的数据流向,形成模型流程分支,基于模型流程分支建立与目标模型相对应的第二模型流程图,完成可视化建模。第二机器学习算法组件的数量为一个或多个。
步骤203,基于第一模型流程图、第二模型流程图分别进行模型流程运行。启动对比实验,在可视化界面完成多个机器算法的流程运行和模型运行。
步骤204,获取第一机器学习算法组件和第二机器学习算法组件的输出结果并进行比对。
基于比对结果对目标模型进行优化处理可以使用多种方法。例如,获取输出结果的准确率,根据准确率从第一机器学习算法组件和第二机器学习算法组件中选取一个或多个目标机器学习算法组件;基于目标机器学习算法组件对目标模型进行优化处理。可以将与最高准确率相对应的第一机器学习算法组件或第二机器学习算法组件作为目标机器学习算法组件。
对目标模型进行优化处理可以有多种方法。例如,如果目标机器学习算法组件的数量为多个,则集成多个目标机器学习算法组件,融合成新的目标模型。进行不同的计算学习算法对比,自动选择准确率最高的机器学习算法组件。如果考虑其他评估指标,则返回根据需求手动选择机器学习算法组件;也可集成多个机器学习算法,融合成的新的模型;可以使用现有的多种融合方法,融合成的新的模型。
在一个实施例中,获取第二机器学习算法组件有多种方法。图3为根据本公开的用于模型优化的方法的一个实施例中的获取比对算法组件的流程示意,如图3所示:
步骤301,设置数据集,计算数据集的元特征。
步骤302,基于性能数据设置数据集与相匹配的机器学习算法组件的对应关系。
步骤302,使用元学习算法,根据元特征、对应关系获取第二机器学习算法组件。
可以获取与第一机器学习算法组件相对应的应用数据集(新的数据集);计算与应用数据集相对应的元特征,基于此元特征确定与应用数据集最接近的至少一个数据集,作为目标数据集;根据对应关系,将与目标数据集相对应的机器学习算法组件作为第二机器学习算法组件。
元学习是学习“学习(训练)”过程的一种人工智能方法,使用元学习可以快速地建议一些可能执行很好的机器学习算法。预先收集多个数据集,数据集可以为现有的多种数据集。在离线阶段,对数据集存储库中的每个数据集计算元特征。
可以使用现有的多种方法,计算每个数据集的一组元特征。数据集的元特征可以为现有的多种元特征,元特征包括简单的、信息论的和统计的元特征,例如为数据点的数量、特征和类的统计,以及数据的偏度和目标的熵等。
获取多个机器学习算法对于各个数据集的执行性能数据,为每个数据集存储具有强大性能的给定机器学习算法,一个数据集可以对应一个或多个相匹配的机器学习算法,建立数据集与机器学习算法组件的对应关系。
获取与第一机器学习算法组件相对应的应用数据集,应用数据集即为一个新的数据集,计算新的数据集的元特征。可以使用现有的距离计算方法,基于元特征等计算数据集存储库中的每个数据集与新的数据集之间的距离。对所有数据集按其到新的数据集的距离L1进行排序,获取距离最近的数据集,作为目标数据集。
将与目标数据集相对应的机器学习算法组件作为第二机器学习算法组件,即选择数据库存储的与目标数据集对应的机器学习算法进行评估,将进行评估的机器学习算法的组件作为第二机器学习算法组件。
在一个实施例中,如图4所示,选择需要进行对比实验的图形化的第一机器学习算法组件,为随机森林分类算法组件并拖拽至设计区,建立图形化算法组件中的算法之间的数据流向,完成可视化建模。
选定可视化模型流程中特定的第一机器学习算法组件(随机森林分类算法组件),启动自动化建模,使用元学习算法收集性能数据和一组元特性,计算新的数据集特征,用来确定在新的数据集上使用的第二机器学习算法组件,包括:朴素贝叶斯算法组件、支持向量机算法模型等。
根据元学习自动选择第二机器学习算法并与第一机器学习算法进行算法评估对比,生成新的多分枝模型;根据元学习选择的第二机器学习算法组件自动添加新的算法分支,生成新的可视化模型流程图。
运行不同的机器学习算法分枝,得到机器学习算法更改后的不同输出结果,基于输出结果确定算法的时间复杂度、空间复杂度和准确率等。进行算法对比,可以自动选择准确率最高的机器学习算法,即从第一机器学习算法组件和第二机器学习算法组件中选取目标机器学习算法。如果考虑其他评估指标,则返回根据需求手动选择目标机器学习算法。也可集成多个目标机器学习算法组件,融合成的新的模型。
上述实施例中的用于模型优化的方法,基于可视化的机器学习算法对比,可以满足普通业务人员进行对比实验的需求;通过对开发人员对于已经存在的模型基于元学习进行自动化智能化拓展,自动增加机器学习算法组件,智能化地搭建可视化的机器学习算法对比实验,能够快速、方便地完成两个及多个机器学习算法的对比实验,并通过比较各个机器学习算法的性能效果,集成多个性能好的机器学习算法,获得符合需求的最优机器学习算法,进行模型优化。
上述实施例中的用于模型优化的方法,可以实现高质量的机器学习算法的自动选择、对比算法实验,自动选择准确率最高的机器学习算法;支持多种机器学习算法进行对比实验;帮助模型开发人员自动选择最优算法,可以显著加快算法选择的效率;通过浏览器进行算法组件的拖拽,完成算法的对比实验,操作简单易学;提供了全面的机器学习算法,对各类机器学习算法的支持程度高。
在一个实施例中,如图5所示,本公开提供一种用于模型优化的装置50,包括:算法组件处理模块51、模型流程建立模块52、比对算法获取模块53、算法比对处理模块54和模型优化模块55。
算法组件处理模块51设置模型运行环境,在模型运行环境中添加建立目标模型所需的第一机器学习算法组件。模型流程建立模块52基于第一机器学习算法组件建立与目标模型相对应的第一模型流程图。
比对算法获取模块53利用预设的元学习算法获取用于与第一机器学习算法组件进行比对的至少一个第二机器学习算法组件。算法比对处理模块54使用预设的比对规则,对第一机器学习算法组件与第二机器学习算法组件进行比对处理。模型优化模块55基于比对结果对目标模型进行优化处理。
在一个实施例中,如图6所示,算法比对处理模块54包括:分支建立单元541、流程运行单元542和算法比对单元543。分支建立单元541在模型运行环境中添加第二机器学习算法组件;分支建立单元541增加与第二机器学习算法组件相对应的模型流程分支,基于模型流程分支建立与目标模型相对应的第二模型流程图。流程运行单元542基于第一模型流程图、第二模型流程图分别进行模型流程运行;算法比对单元543获取第一机器学习算法组件和第二机器学习算法组件的输出结果并进行比对。
模型优化模块55获取输出结果的准确率,根据准确率从第一机器学习算法组件和第二机器学习算法组件中选取至少一个目标机器学习算法组件;模型优化模块55基于目标机器学习算法组件对目标模型进行优化处理。
模型优化模块55将与最高准确率相对应的第一机器学习算法组件或第二机器学习算法组件作为目标机器学习算法组件。如果目标机器学习算法组件的数量为多个,则模型优化模块55集成多个目标机器学习算法组件,融合成新的目标模型。
在一个实施例中,如图7所示,比对算法获取模块53包括:数据集预设单元531和算法确定单元532。数据集预设单元531设置数据集,计算数据集的元特征;数据集预设单元531基于性能数据设置数据集与相匹配的机器学习算法组件的对应关系。算法确定单元532使用元学习算法,根据元特征、对应关系获取第二机器学习算法组件。
算法确定单元532获取与第一机器学习算法组件相对应的应用数据集;算法确定单元532计算与应用数据集相对应的元特征,基于此元特征确定与应用数据集最接近的至少一个数据集,作为目标数据集;算法确定单元532根据对应关系,将与目标数据集相对应的机器学习算法组件作为第二机器学习算法组件。
图8为根据本公开的用于模型优化的装置的又一个实施例的模块示意图。如图8所示,该装置可包括存储器81、处理器82、通信接口83以及总线84。存储器81用于存储指令,处理器82耦合到存储器81,处理器82被配置为基于存储器81存储的指令执行实现上述的用于模型优化的方法。
存储器81可以为高速RAM存储器、非易失性存储器(non-volatile memory)等,存储器81也可以是存储器阵列。存储器81还可能被分块,并且块可按一定的规则组合成虚拟卷。处理器82可以为中央处理器CPU,或专用集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本公开的用于模型优化的方法的一个或多个集成电路。
在一个实施例中,本公开提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,指令被处理器执行如上任一实施例中的方法。
上述实施例中提供的用于模型优化的方法、装置以及存储介质,能够基于元学习自动增加机器学习算法组件,进行机器学习算法对比实验,能够快速、方便的完成两个及多个机器学习算法的对比实验,进行模型优化;支持多种机器学习算法进行对比实验,可以满足普通业务人员进行对比实验的需求,能够实现高质量的机器学习建模,可以让开发人员在不进行编码的情况下进行机器学习的开发和训练,可以显著加快模型开发效率,提高用户的使用体验。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:语音语义模型的处理方法和装置