本申请涉及人工智能
技术领域:
,尤其涉及一种机器学习方法、装置、电子设备及存储介质。
背景技术:
:随着海量数据的出现,人工智能技术迅速发展,而机器学习是人工智能发展到一定阶段的必然产物,其致力于通过计算的手段,从大量数据中挖掘有价值的潜在信息。机器学习越来越广泛地被用于各种业务场景,通过对业务数据的清洗、特征提取和筛选以及模型选择和参数调整来获取最终最优的机器学习模型,是每个算法人员的工作,当然这个过程包括了大量重复和经验性的劳动,使得机器学习效率较低,学习周期较长。技术实现要素:为了解决上述技术问题或者至少部分地解决上述技术问题,本申请实施例提供了一种机器学习方法、装置、电子设备及存储介质。第一方面,本申请实施例提供了一种机器学习方法,包括:获取待学习项目的配置文件,所述配置文件包括所述待学习项目中项目步骤对应的参数空间信息;根据所述参数空间信息执行所述项目步骤,训练得到所述待学习项目的候选模型;根据所述候选模型确定所述待学习项目的学习结果。可选的,所述方法还包括:安装所述待学习项目的依赖库。可选的,所述待学习项目的项目步骤包括:数据处理、特征工程、模型选择和参数调整;所述配置文件包括至少一个所述项目步骤对应的参数空间信息。可选的,所述数据处理对应的参数空间信息包括:可选数据处理规则;所述特征工程对应的参数空间信息包括:可选特征工程算法;所述模型选择对应的参数空间信息包括:可选模型类型;所述参数调整对应的参数空间信息包括:可选优化器算法及学习速率的取值范围。可选的,所述配置文件还包括:所述待学习项目的项目信息;所述项目信息包括以下至少一项:项目名称、同时运行最大任务数、最大运行总时间、最大运行总任务数、自动调参算法及流水线程序入口。可选的,所述根据所述候选模型确定所述待学习任务的学习结果,包括:获取所述候选模型的性能指标;根据所述性能指标计算所述候选模型的第一权重值;根据所述第一权重值确定所述学习结果。可选的,所述根据所述第一权重值确定所述学习结果,包括:对所述第一权重值进行归一化处理,得到第二权重值;根据所述第二权重值选择作为所述学习结果的候选模型。可选的,所述方法还包括:根据所述学习结果生成所述待学习项目对应的第一用户界面组件;根据所述第一用户界面组件在用户界面上显示所述学习结果。可选的,所述方法还包括:获取所述项目步骤的执行结果;根据所述执行结果生成所述项目步骤对应的第二用户界面组件;根据所述第二用户界面组件在用户界面上显示所述执行结果。可选的,所述方法还包括:获取在用户界面上对所述配置文件的编辑操作,得到编辑后的配置文件。第二方面,本申请实施例提供了一种机器学习装置,包括:获取模块,用于获取待学习项目的配置文件,所述配置文件包括所述待学习项目中项目步骤对应的参数空间信息;训练模块,用于根据所述参数空间信息执行所述项目步骤,训练得到所述待学习项目的候选模型;确定模块,用于根据所述候选模型确定所述待学习项目的学习结果。第三方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行计算机程序时,实现上述方法步骤。第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法步骤。本申请实施例提供的上述技术方案与现有技术相比具有如下优点:通过预先设定的配置文件,对于机器学习流程的各个步骤,根据配置文件中设定的参数空间进行自动学习,得到所需学习结果。从而减轻算法人员的工作量,提高机器学习效率,缩短学习周期。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种机器学习方法的流程图;图2为本申请实施例提供的待学习项目的项目步骤示意图;图3为本申请另一实施例提供的一种机器学习方法的流程图;图4为本申请实施例提供的机器学习装置的框图;图5为本申请实施例提供的一种电子设备的结构示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请实施例,对于机器学习的各个步骤:数据处理、特征工程、模型选择和参数调整,都可以根据预先编写的配置文件自动执行。下面首先对本发明实施例所提供的一种机器学习方法进行介绍。图1为本申请实施例提供的一种机器学习方法的流程图。如图1所示,该方法包括以下步骤:步骤s11,获取待学习项目的配置文件,配置文件包括待学习项目中项目步骤对应的参数空间信息。其中,该配置文件可以由算法人员按照预设规则编写和/或根据预先提供的选项进行选择。可选的,如图2所示,待学习项目的项目步骤包括:数据处理、特征工程、模型选择和参数调整。配置文件包括至少一个项目步骤对应的参数空间信息。步骤s12,根据参数空间信息执行项目步骤,训练得到待学习项目的候选模型。其中,学习得到的候选模型可以为一个或多个。候选模型可以包括采用不同类型模型训练的模型,或相同类型模型但不同参数的模型。步骤s13,根据候选模型确定待学习项目的学习结果。当存在多个候选模型时,选择其中最优的一个作为本次待学习项目的学习结果。其中,可以根据各个候选模型评分得到的权重值选择最优结果。本实施例中,通过预先设定的配置文件,对于机器学习流程的各个步骤,根据配置文件中设定的参数空间进行自动学习,得到所需学习结果。从而减轻算法人员的工作量,提高机器学习效率,缩短学习周期。可选的,在上述步骤s11之前,该方法还包括:安装待学习项目的依赖库。其中,依赖库是指调用一个动态库a时,a又需要调用动态库b,则b是a的依赖库。例如,该方法运行在python环境下,搭建python过程中,需要安装预先设定的依赖库,如依赖库:tensorflow、pytorch、featuretools等等和机器学习相关的库。下面对各项目步骤对应的参数空间信息进行具体说明。(1)数据处理对应的参数空间信息包括:可选数据处理规则。数据处理(datapreprocessing),数据处理包括数据清洗、数据集成、数据变换和数据规约等一系列数据加工过程。下面以数据清洗为例对可选数据处理规则进行说明。数据清洗包括对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性检查。其中,数据清洗规则可以包括:a、无效值和缺失值处理方式估算、整例删除、变量删除和成对删除等等。b、错误值的检测及解决方式用统计分析的方法识别可能的错误值或异常值,如偏差分析、识别不遵守分布或回归方程的值,也可以用简单规则库(如常识性规则、业务特定规则等)检查数据值,或使用不同属性间的约束、外部的数据来检测和清理数据。c、重复记录的检测及消除方式数据库中属性值相同的记录被认为是重复记录。通过判断记录间的属性值是否相等来检测记录是否相等,相等的记录合并为一条记录(即合并/清除)。消除方式可以包括:合并或清除。d、不一致性(数据源内部及数据源之间)的检测及解决方法从多数据源集成的数据可能有语义冲突,可定义完整性约束用于检测不一致性,也可通过分析数据发现联系,从而使得数据保持一致。可选数据处理规则中可以包括上述至少一种数据清洗规则。(2)特征工程对应的参数空间信息包括:可选特征工程算法。机器学习中的特征类型包括:数值特征、分类特征、时间特征、空间特征、文本特征等等。特征工程包括从原始数据中进行特征提取、特征选择、特征构建。基于特征类型的不同,特征工程算法的内容也不相同。算法人员可根据特征类型和需要,配置特征工程中特征提取、特征选择、特征构建对应的算法。其中,特征提取的对象是原始数据,目的就是自动地构建新的特征,将原始数据转换为一组具有明显物理意义或者统计意义的特征。特征提取方法包括:降维(pca、ica、lda等)、图像方面的sift、gabor、hog等、文本方面的词袋模型、词嵌入模型等。从给定的特征集合中选出相关特征子集的过程称为特征选择(featureselection)。特征选择方法包括:过滤式、包裹式、嵌入式等。特征构建是指从原始数据中人工的构建新的特征。特征构建方法可以选择混合属性或者组合属性来创建新的特征,或是分解或切分原有的特征来创建新的特征。(3)模型选择对应的参数空间信息包括:可选模型类型。算法人员可以选择一个或多个可选模型同时进行学习,以选择其中最优的模型。例如,可选模型类型包括:支持向量机(supportvectormachine,svm)或极端梯度提升(extremegradientboosting,xgboost)。(4)参数调整对应的参数空间信息包括:可选优化器算法及学习速率的取值范围。例如,优化器算法(optimizer)包括:前向均方根梯度下降算法(rootmeansquarepropagation,rmsprop)、适应性矩估计(adaptivemomentestimation,adam)、随机梯度下降法(stochasticgradientdescent,sgd)。学习速率(learning_rate)的取值范围包括:0.0001,0.001,0.002,0.005和0.01。本实施例中,可以用json格式的文件来定义参数空间信息。例如,参数调整对应的参数空间信息如下:上述文件表示:模型中optimizer在"rmsprop","adam","sgd"三种中选择。learning_rate在0.0001,0.001,0.002,0.005,0.01这些值中选择。可选的,配置文件还包括:待学习项目的项目信息。项目信息包括以下至少一项:项目名称、同时运行最大任务数、最大运行总时间、最大运行总任务数、自动调参算法及流水线程序入口。项目信息对应的配置表如下表1所示,表1字段名称类型意义projectname字符串项目名称concurrencyjobs整数同时运行最大任务数maxruntimelimit整数最大运行总时间maxjoblimit整数最大运行总任务数tuner字符串调参器名称entry字符串流水线程序入口其中,上述各项信息中可以存在缺省,对于缺省的信息项,可配置为默认信息。在上述实施例中,算法人员可以通过编写或设置配置文件,对待学习项目的整体信息及各个步骤对应的参数空间信息进行配置,从而更加方便、灵活地实现自动执行机器学习的各个步骤,最终得到所需的模型结果。图3为本申请另一实施例提供的一种机器学习方法的流程图。如图3所示,可选的,上述步骤s13包括:步骤s21,获取候选模型的性能指标;步骤s22,根据性能指标计算候选模型的第一权重值;步骤s23,根据第一权重值确定学习结果。本实施例中,可以获取模型评分算法对模型的打分结果作为第一权重值。可选的,模型评分算法中所需的性能指标可以由算法人员预先设定。例如,性能指标包括以下至少一项:错误率、精度、查准率(precision)、查全率(recall)、f1-score、roc曲线、auc、逻辑回归损失(logisticregressionloss)等等。另外,基于模型类型不同,其对应的性能指标、模型评分算法也均不相同。一般来说,对于多个候选模型,可采用相同的性能指标、模型评分算法计算其对应的第一权重值。但有可能各个候选模型本身携带有不同的模型评分算法,计算得到的第一权重值取值范围不同,此时需要对各个第一权重值进行归一化处理,从而可以基于其选择候选模型。上述步骤s23包括:对第一权重值进行归一化处理,得到第二权重值;根据第二权重值选择作为学习结果的候选模型。例如,候选模型a的第一权重值为0.99,取值范围为0~1。候选模型b的第一权重值为4.97,取值范围为0~5。候选模型c的第一权重值为99.5,取值范围为0~100。将其进行归一化,将候选模型a和b的第一权重值都转换到取值范围0~100。归一化后,候选模型a的第二权重值为99,候选模型b的第二权重值为99.4,候选模型c的第二权重值仍为99.5。这样,通过比较三个候选模型的第二权重值,可以得出候选模型c为较优的学习结果。本实施例中,可以基于模型评分算法对候选模型的性能指标进行综合分析,从而得到可以对候选模型质量进行量化的权重值,便于算法人员从候选模型选择最优结果。在可选实施例中,还可提供以前端显示界面,对学习结果及过程数据进行显示。可选的,该方法还包括:根据学习结果生成待学习项目对应的第一用户界面组件;根据第一用户界面组件在用户界面上显示学习结果。可选的,该方法还包括:获取项目步骤的执行结果;根据执行结果生成项目步骤对应的第二用户界面组件;根据第二用户界面组件在用户界面上显示执行结果。本实施例中,可以预先生成显示各种类型数据的web前端组件,根据后端发送的数据类型对web前端组件进行组合显示学习结果和各步骤的执行结果。可选的,该方法还包括:获取在用户界面上对配置文件的编辑操作,得到编辑后的配置文件。算法人员可以根据在界面上显示的学习结果或各步骤的执行结果对配置文件进行调整,从而使得机器学习过程更加灵活快速,学习结果更符合需求。上述方法实施例可以通过python实现,因此,可以支持所有有python接口的机器学习框架库,例如流行的tensorflow、pytorch、sklearn等等。这样,使得该方法实施例可以兼容多种场景,具有更广泛的应用性。下述为本申请装置实施例,可以用于执行本申请方法实施例。图4为本申请实施例提供的机器学习装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,该机器学习装置包括:获取模块31,用于获取待学习项目的配置文件,配置文件包括待学习项目中项目步骤对应的参数空间信息;训练模块32,用于根据参数空间信息执行项目步骤,训练得到待学习项目的候选模型;确定模块33,用于根据候选模型确定待学习项目的学习结果。本申请实施例还提供一种电子设备,如图5所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。存储器1503,用于存放计算机程序;处理器1501,用于执行存储器1503上所存放的计算机程序时,实现以下上述方法实施例的步骤。上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子设备与其他设备之间的通信。存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下上述方法实施例的步骤。需要说明的是,对于上述装置、电子设备及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。进一步需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。当前第1页1 2 3 
技术特征:1.一种机器学习方法,其特征在于,包括:
获取待学习项目的配置文件,所述配置文件包括所述待学习项目中项目步骤对应的参数空间信息;
根据所述参数空间信息执行所述项目步骤,训练得到所述待学习项目的候选模型;
根据所述候选模型确定所述待学习项目的学习结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
安装所述待学习项目的依赖库。
3.根据权利要求1所述的方法,其特征在于,所述待学习项目的项目步骤包括:数据处理、特征工程、模型选择和参数调整;
所述配置文件包括至少一个所述项目步骤对应的参数空间信息。
4.根据权利要求3所述的方法,其特征在于,
所述数据处理对应的参数空间信息包括:可选数据处理规则;
所述特征工程对应的参数空间信息包括:可选特征工程算法;
所述模型选择对应的参数空间信息包括:可选模型类型;
所述参数调整对应的参数空间信息包括:可选优化器算法及学习速率的取值范围。
5.根据权利要求3所述的方法,其特征在于,所述配置文件还包括:所述待学习项目的项目信息;
所述项目信息包括以下至少一项:项目名称、同时运行最大任务数、最大运行总时间、最大运行总任务数、自动调参算法及流水线程序入口。
6.根据权利要求1所述的方法,其特征在于,所述根据所述候选模型确定所述待学习任务的学习结果,包括:
获取所述候选模型的性能指标;
根据所述性能指标计算所述候选模型的第一权重值;
根据所述第一权重值确定所述学习结果。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一权重值确定所述学习结果,包括:
对所述第一权重值进行归一化处理,得到第二权重值;
根据所述第二权重值选择作为所述学习结果的候选模型。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述学习结果生成所述待学习项目对应的第一用户界面组件;
根据所述第一用户界面组件在用户界面上显示所述学习结果。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述项目步骤的执行结果;
根据所述执行结果生成所述项目步骤对应的第二用户界面组件;
根据所述第二用户界面组件在用户界面上显示所述执行结果。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取在用户界面上对所述配置文件的编辑操作,得到编辑后的配置文件。
11.一种机器学习装置,其特征在于,包括:
获取模块,用于获取待学习项目的配置文件,所述配置文件包括所述待学习项目中项目步骤对应的参数空间信息;
训练模块,用于根据所述参数空间信息执行所述项目步骤,训练得到所述待学习项目的候选模型;
确定模块,用于根据所述候选模型确定所述待学习项目的学习结果。
12.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现权利要求1-10任一项所述的方法步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-10任一项所述的方法步骤。
技术总结本申请涉及一种机器学习方法、装置、电子设备及存储介质,该方法包括:获取待学习项目的配置文件,所述配置文件包括所述待学习项目中项目步骤对应的参数空间信息;根据所述参数空间信息执行所述项目步骤,训练得到所述待学习项目的候选模型;根据所述候选模型确定所述待学习项目的学习结果。该技术方案通过预先设定的配置文件,对于机器学习流程的各个步骤,根据配置文件中设定的参数空间进行自动学习,得到所需学习结果。从而减轻算法人员的工作量,提高机器学习效率,缩短学习周期。
技术研发人员:夏晓华;徐晶晶;陈振兴;郭震
受保护的技术使用者:京东数字科技控股有限公司
技术研发日:2020.01.16
技术公布日:2020.06.05