一种人在回路的机器学习应用开发方法和系统技术方案

技术编号:21183594 阅读:46 留言:0更新日期:2019-05-22 14:40
本发明专利技术涉及一种人在回路的机器学习应用开发方法和系统,将开发机器学习应用的过程视为控制过程,数据流为信号流,依据控制论中的负反馈调节原理,设计了包括线上和线下两个阶段以及三个人工辅助的负反馈回路。线上回路的数据可以丰富基础数据样本,线上回路的故障反馈配合人工处理定位线下数据或模型阶段的问题,然后进行解决,最终模型数据流上传到线上,形成一个持续的迭代开发的过程。本发明专利技术提出了一种开发机器学习应用一整套流程的解决方案,该方法基于控制论中的负反馈调节原理,以较小的代价将人工经验和知识用于各个开发阶段的回路,支持迭代式、增量式开发,提升各个组件和阶段的开发质量从而提升整个应用的表现。

A Development Method and System of Man-in-the-loop Machine Learning Application

The invention relates to a method and system for developing machine learning application in a loop. The process of developing machine learning application is regarded as a control process, and data flow is a signal flow. According to the principle of negative feedback regulation in cybernetics, a negative feedback loop including two stages on-line and off-line and three artificial assistant circuits is designed. The data of on-line loop can enrich the basic data samples. The fault feedback of on-line loop cooperates with manual processing to locate the off-line data or model phase, and then solve the problem. Finally, the model data stream is uploaded to the line, forming a continuous iterative development process. The invention provides a solution for developing a whole set of process of machine learning application. Based on the principle of negative feedback regulation in cybernetics, the method applies manual experience and knowledge to the loop of each development stage at a small cost, supports iterative and incremental development, improves the development quality of each component and stage, and thus improves the performance of the whole application.

【技术实现步骤摘要】
一种人在回路的机器学习应用开发方法和系统
本专利技术涉及一种人在回路的机器学习应用开发方法和系统,属于计算机技术应用领域。
技术介绍
当前,随着数据采集能力和存储能力不断发展,在拥有海量的数据资源和分布并行的高性能计算能力以后,需要编写算法从数据中计算和挖掘价值,这里的算法一般指机器学习。一般来讲,机器学习应用主要分为下面三个部分:一,数据层面,包括特征清洗,特征转换,特征选择等特征工程;二,模型训练层面,包括模型算法,模型调参,模型评价等;三,应用层面,模型部署、上线和服务化。机器学习是一个高成本,高门槛的工作,需要富有经验的机器学习专家才能开展相应的机器学习工作。然而,本质上机器学习工作却又是繁杂的,冗余的。如何高效且高质量地构建一个机器学习应用,是当前行业的难点也是重点。开发一个机器学习应用存在以下问题:1)机器学习过程的各个阶段之间存在一些间隙,不具有连贯性;2)机器学习本身的成本和门槛较高,具体开发的过程中需要算法从业人员的经验和智慧;3)机器学习过程本身是持续训练、持续学习、持续优化的阶段,需要不断的改进。因此,在设计一个开发机器学习应用的方法及系统时,需要考虑将各个组件之间串联起来,需要考虑到算法专家的经验和智慧,需要考虑开发过程的迭代和持续,需要将有些流程转换为自动化的过程以降低成本。现有的一些开源机器学习平台,如tensorflow,torch,mxnet等是针对具体算法和编程语言而设计的框架,未从整体上考虑开发机器学习应用的过程和连贯性,同时也存在平台迁移的代价等问题。在工业界,阿里巴巴基于自研的存储和计算技术提出maxcompute计算平台,将整个流程串联起来,但存在的问题是仍未将算法专家的经验和智慧融入到整个流程内,同时也没有设计可持续和可迭代的回路,对于应用的迭代和升级仍存在不便,同时现有的平台对于多种机器学习的框架和编程语言的多样性支持不够。
技术实现思路
本专利技术解决的技术问题:克服现有技术的不足,提供一种人在回路的机器学习应用开发方法及系统,具有科学有效、应用模型精度高的优点,以较低的成本将人类经验和智慧设计在回路中对机器学习应用进行迭代式和增量式开发,不仅串联了比较分散和独立的各个开发阶段,而且可有效对模型应用的故障进行发现和解决,提升机器学习应用的整体表现。本专利技术解决其技术问题所采用的技术方案是:一种人在回路的机器学习应用开发方法,包括以下步骤:第一步,线下数据处理,存储和管理各种形式的数据,设定数据质量分析的阈值c1(比如0-100中的某个数值),首先采取自动化的处理方式对数据进行清洗和预处理,然后对数据质量进行分析,当数据质量分析结果dc<c1时,发起负反馈1,进入人工处理数据回路,当满足dc≥c1时,数据流进入模型训练(线下模型开发)阶段;对未带标签的原始数据以辅以人工的主动学习方法进行标注;第二步,线下模型开发,以网页界面web的方式提供各种软件的运行时环境,供机器学习模型的开发和训练,对模型的评价指标设定阈值c2,当采用自动化的机器学习方法AutoML训练模型后,若模型指标结果mc<c2,发起负反馈2,进入人工开发模型的回路,当满足mc≥c2后,开发完的模型数据流传到线上模型预测阶段;第三步,线上模型预测,模型部署上线以后,对线上结果进行预测,设定线上应用的评价指标目标阈值c3,人工对线上预测结果进行验证、对模型进行评估,当实际结果oc<c3时,发起负反馈3,反馈信号传播到线下的人工数据处理和人工模型开发阶段,同时线上数据经过纠正以后通过回路加到基础数据丰富样本数据,进行迭代开发,在数据处理和模型开发阶段直接进入人工处理回路,反之当oc≥c3时,只将线上数据结果纠正以后通过回路添加到基础数据,进行迭代开发;第四步,重复第一步至第三步,对模型进行迭代开发。所述第一步中,对所述的数据进行自动化的清洗和预处理方式,具体包括:1)缺失值处理,丢弃或均值填充(采取丢失字段所在维度的记录均值进行填充),默认采取均值填充的方式;2)噪声处理,对噪声数据使用分箱光滑的方式,即将数据排序按等深的原则进行分箱,然后利用箱内中位数进行替代;3)对于重复数据进行去重操作;4)对于类别分布不平衡的样本,采取采样的策略进行平衡,对某类较少的样本进行随机重复采样即过采样,对某类较少的样本进行随机采样即欠采样。所述第一步中,所述对数据的质量分析设置为自动化的量化分析,包括以下四个方面(设总的数据记录为n):1)缺失性分析,某一条记录的缺失或记录中某个字段的缺失,量化该分析结果为记录数(nLoss)占总记录数的百分比q1=nLoss/n;2)噪声和异常检测,检验数据是否有录入错误或含有不合常理的数据,量化该分析结果为异常数据记录数(nOdd)占总记录数的百分比q2=nOdd/n;3)重复性检测,检测数据中重复出现的内容,量化该分析结果为重复记录数(nRepeat)占总记录数的百分比q2=nRepeat/n;4)数据类别分布分析,数据样本是否均衡的分布到每一类中,设数据类别为x类,则均衡分布的结果因为每一类记录数为n/x,量化该分析结果,各个类别记录数与均衡分布记录数的二倍相比:数据质量分析的计算结果最终为:dc=0.3×q1+0.3×q2+0.3×q3+0.1×q4。设定数据质量的目标阈值c1,当数据质量分析的结果dc<c1时,发起负反馈1,进入人工处理数据的回路,人工进行数据质量分析、手动处理以及特征选择等;当满足dc≥c1时,数据流传播到模型开发阶段。所述第一步中,所述对原始数据(未带标签的数据)进行标注,具体是辅以手动的主动学习,主动学习算法主要分为两个阶段:第一阶段,初始阶段,随机从未标注样本U中选取小部分,由督导者S标注,作为训练集,建立初始分类器模型;第二阶段,循环查询阶段,督导者S从未标注样本集U中,按照某种查询标准Q,选取一定的未标注样本进行标注,并加到训练样本集L中,重新训练分类器,直至达到训练停止标准为止。主动学习的分类器模型选择优化的分布式梯度提升树算法XGBoost,算法流程如下:(1)初始化模型为常数值:其中x为输入,L(yi,γ)为损失函数,yi为样本第i个样本的标注,γ为残差参数,n为样本数量。(2)对于m从1到M,迭代生成M个基学习器:a)计算损失函数的负梯度在当前模型的值,作为残差估计:其中,F(xi)表示第i个样本的预测值,F(x)表示模型函数,Fm-1(x)表示当前的模型函数;b)估计回归树节点区域Rjm,j=1,2,…,Jm,以拟合残差的近似值;c)利用线性搜索估计叶节点区域的值,使损失函数极小:其中,T表示叶子结点数目,wj表示第j个叶子结点的权重;d)更新回归树模型:其中,I表示指示函数,括号内值为真时取值为1,否则取值为0;(3)输出最终的模型:所述第二步中,各种软件的运行时环境和语言环境包括底层的linux操作系统-centos7、GPU加速计算环境(Nvidia显卡和驱动)、Java开发库—JDK9、服务容器—Tomcat、C++编译器—GNUCompilerCollection,GCC、python开发管理包—Anaconda,这些环境都配置在服务端,在桌面端提供网页服务web-service的访问方式。所述第二步中,自动化的机器学习本文档来自技高网
...

【技术保护点】
1.一种人在回路的机器学习应用开发方法,其特征在于,包括以下步骤:第一步,线下数据处理:设定数据质量分析的阈值c1,首先采取自动化的处理方式对数据进行清洗和预处理,然后对数据质量进行分析,当数据质量分析结果dc<c1时,发起负反馈1,进入人工处理数据回路,当满足dc≥c1时,数据流进入线下模型开发阶段;对未带标签的原始数据以辅以人工的主动学习方法进行标注;第二步,线下模型开发:对模型的评价指标设定阈值c2,当采用自动化的机器学习方法训练模型后,若模型指标结果mc<c2,发起负反馈2,进入人工开发模型的回路,当满足mc≥c2后,开发完的模型数据流传到线上模型预测阶段;第三步,线上模型预测:设定线上应用的评价指标目标阈值c3,人工对线上预测结果进行验证、对模型进行评估,当实际结果oc<c3时,发起负反馈3,反馈信号传播到线下的人工处理数据和人工开发模型阶段,同时线上数据经过纠正以后通过回路加到基础数据以丰富样本数据,进行迭代开发,在线下数据处理和线下模型开发阶段直接进入人工处理回路,反之当oc≥c3时,只将线上数据结果纠正以后通过回路添加到基础数据,进行迭代开发;第四步,重复第一步至第三步,对机器学习模型进行迭代开发。...

【技术特征摘要】
1.一种人在回路的机器学习应用开发方法,其特征在于,包括以下步骤:第一步,线下数据处理:设定数据质量分析的阈值c1,首先采取自动化的处理方式对数据进行清洗和预处理,然后对数据质量进行分析,当数据质量分析结果dc<c1时,发起负反馈1,进入人工处理数据回路,当满足dc≥c1时,数据流进入线下模型开发阶段;对未带标签的原始数据以辅以人工的主动学习方法进行标注;第二步,线下模型开发:对模型的评价指标设定阈值c2,当采用自动化的机器学习方法训练模型后,若模型指标结果mc<c2,发起负反馈2,进入人工开发模型的回路,当满足mc≥c2后,开发完的模型数据流传到线上模型预测阶段;第三步,线上模型预测:设定线上应用的评价指标目标阈值c3,人工对线上预测结果进行验证、对模型进行评估,当实际结果oc<c3时,发起负反馈3,反馈信号传播到线下的人工处理数据和人工开发模型阶段,同时线上数据经过纠正以后通过回路加到基础数据以丰富样本数据,进行迭代开发,在线下数据处理和线下模型开发阶段直接进入人工处理回路,反之当oc≥c3时,只将线上数据结果纠正以后通过回路添加到基础数据,进行迭代开发;第四步,重复第一步至第三步,对机器学习模型进行迭代开发。2.根据权利要求1所述的方法,其特征在于:所述采取自动化的处理方式对数据进行清洗和预处理,包括:1)缺失值处理,丢弃或均值填充,默认采取均值填充的方式;2)噪声处理,对噪声数据使用分箱光滑的方式,即将数据排序按等深的原则进行分箱,然后利用箱内中位数进行替代;3)对于重复数据进行去重操作;4)对于类别分布不平衡的样本,采取采样的策略进行平衡,对某类较少的样本进行随机重复采样即过采样,对某类较少的样本进行随机采样即欠采样。3.根据权利要求1所述的方法,其特征在于:所述第一步中,所述对数据质量进行分析设置为自动化的量化分析,包括以下四个方面,其中n为总的数据记录:1)缺失性分析,某一条记录的缺失或记录中某个字段的缺失,量化该分析结果为记录数nLoss占总记录数的百分比q1=nLoss/n;2)噪声和异常检测,检验数据是否有录入错误或含有不合常理的数据,量化该分析结果为异常数据记录数nOdd占总记录数的百分比q2=nOdd/n;3)重复性检测,检测数据中重复出现的内容,量化该分析结果为重复记录数nRepeat占总记录数的百分比q2=nRepeat/n;4)数据类别分布分析,数据样本是否均衡的分布到每一类中,设数据类别为x类,则均衡分布的结果因为每一类记录数为n/x,量化该分析结果,各个类别记录数与均衡分布记录数的二倍相比:数据质量分析的计算结果最终为:dc=0.3×q1+0.3×q2+0.3×q3+0.1×q4。4.根据权利要求1或3所述的方法,其特征在于:所述人工处理数据的回路,是由人工进行数据质量分析、手动处理以及特征选择。5.根据权利要求1所述的方法,其特征在于:所述第一步中,对所述未带标签的原始数据进行标注,是辅以手动的主动学习算法进行标注,主动学习算法主要分为两个阶段:第一阶段,初始阶段,随机从未标注样本U中选取小部分,由督导者S标注,作为训练集,建立初始分类器模型;第二阶段,循环查询阶段,督导者S从未标注样本集U中...

【专利技术属性】
技术研发人员:任建龙杨立孔维一左春马肖肖
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1