CN109783062B - 一种人在回路的机器学习应用开发方法和*** - Google Patents

一种人在回路的机器学习应用开发方法和*** Download PDF

Info

Publication number
CN109783062B
CN109783062B CN201910031759.9A CN201910031759A CN109783062B CN 109783062 B CN109783062 B CN 109783062B CN 201910031759 A CN201910031759 A CN 201910031759A CN 109783062 B CN109783062 B CN 109783062B
Authority
CN
China
Prior art keywords
data
model
development
loop
online
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
Application number
CN201910031759.9A
Other languages
English (en)
Other versions
CN109783062A (zh
Inventor
任建龙
杨立
孔维一
左春
马肖肖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN201910031759.9A priority Critical patent/CN109783062B/zh
Publication of CN109783062A publication Critical patent/CN109783062A/zh
Application granted granted Critical
Publication of CN109783062B publication Critical patent/CN109783062B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Feedback Control In General (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

一种人在回路的机器学习应用开发方法和***
技术领域
本发明涉及一种人在回路的机器学习应用开发方法和***,属于计算机技术应用领域。
背景技术
当前,随着数据采集能力和存储能力不断发展,在拥有海量的数据资源和分布并行的高性能计算能力以后,需要编写算法从数据中计算和挖掘价值,这里的算法一般指机器学习。一般来讲,机器学习应用主要分为下面三个部分:一,数据层面,包括特征清洗,特征转换,特征选择等特征工程;二,模型训练层面,包括模型算法,模型调参,模型评价等;三,应用层面,模型部署、上线和服务化。机器学习是一个高成本,高门槛的工作,需要富有经验的机器学习专家才能开展相应的机器学习工作。然而,本质上机器学习工作却又是繁杂的,冗余的。如何高效且高质量地构建一个机器学习应用,是当前行业的难点也是重点。
开发一个机器学习应用存在以下问题:1)机器学习过程的各个阶段之间存在一些间隙,不具有连贯性;2)机器学习本身的成本和门槛较高,具体开发的过程中需要算法从业人员的经验和智慧;3)机器学习过程本身是持续训练、持续学习、持续优化的阶段,需要不断的改进。因此,在设计一个开发机器学习应用的方法及***时,需要考虑将各个组件之间串联起来,需要考虑到算法专家的经验和智慧,需要考虑开发过程的迭代和持续,需要将有些流程转换为自动化的过程以降低成本。
现有的一些开源机器学***台迁移的代价等问题。在工业界,阿里巴巴基于自研的存储和计算技术提出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)占总记录数的百分比q3=nRepeat/n;4)数据类别分布分析,数据样本是否均衡的分布到每一类中,设数据类别为x类,则均衡分布的结果因为每一类记录数为n/x,量化该分析结果,各个类别记录数与均衡分布记录数的二倍相比:
Figure GDA0002568848690000031
Figure GDA0002568848690000032
数据质量分析的计算结果最终为: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)初始化模型为常数值:
Figure GDA0002568848690000033
其中x为输入,L(yi,γ)为损失函数,yi为样本第i个样本的标注,γ为残差参数,n为样本数量。
(2)对于m从1到M,迭代生成M个基学习器:
a)计算损失函数的负梯度在当前模型的值,作为残差估计:
Figure GDA0002568848690000034
其中,F(xi)表示第i个样本的预测值,F(x)表示模型函数,Fm-1(x)表示当前的模型函数;
b)估计回归树节点区域Rjm,j=1,2,…,Jm,以拟合残差的近似值;
c)利用线性搜索估计叶节点区域的值,使损失函数极小:
Figure GDA0002568848690000035
其中,T表示叶子结点数目,wj表示第j个叶子结点的权重;
d)更新回归树模型:
Figure GDA0002568848690000041
其中,I表示指示函数,括号内值为真时取值为1,否则取值为0;
(3)输出最终的模型:
Figure GDA0002568848690000042
所述第二步中,各种软件的运行时环境和语言环境包括底层的linux操作***-centos7、GPU加速计算环境(Nvidia显卡和驱动)、Java开发库—JDK9、服务容器—Tomcat、C++编译器—GNU Compiler Collection,GCC、python开发管理包—Anaconda,这些环境都配置在服务端,在桌面端提供网页服务web-service的访问方式。
所述第二步中,自动化的机器学习方法AutoML包括针对预测问题的分类算法和回归算法,所述的分类算法包括支持向量机(SVM),逻辑回归(LR),梯度提升树(GBDT),随机森林(RF),所述的回归算法包括线性回归(LM),梯度提升(GBDT),随机森林(RF)。预设指标阈值指根据要解决的问题设定针对模型评价指标(分类模型默认采取f1值,回归模型默认采取均方误差MSE,可根据具体问题调整)的阈值c2,当采用自动化的机器学习AutoML后模型指标的评价结果mc≥c2,则将开发完的模型数据流传到线上阶段,否则当mc<c2时,发起负反馈2,进入人工模型开发回路,包括人工介入进行问题分析、算法选择和设计、超参数调优。
所述第四步中,重复第一步至第三步,所述的迭代开发主要针对线上线下联合回路,在迭代开发的时候,线上回路的数据可以丰富基础数据样本,线上回路的故障反馈配合人工处理定位线下数据或模型阶段的问题,然后进行解决,最终模型数据流上传到线上,形成一个持续的迭代开发的过程。
与上面方法对应地,本发明还提供一种人在回路的机器学习应用开发***,其包括:
线下数据处理模块,负责存储和管理各种形式的数据,设定数据质量分析的阈值c1,首先采取自动化的处理方式对数据进行清洗和预处理,然后对数据质量进行分析,当数据质量分析结果dc<c1时,发起负反馈1,进入人工处理数据回路,当满足dc≥c1时,数据流进入线下模型开发模块;对未带标签的原始数据以辅以人工的主动学习方法进行标注;
线下模型开发模块,负责以网页界面web的方式提供各种软件的运行时环境,供机器学习模型的开发和训练,对模型的评价指标设定阈值c2,当采用自动化的机器学习方法训练模型后,若模型指标结果mc<c2,发起负反馈2,进入人工开发模型的回路,当满足mc≥c2后,开发完的模型数据流传到线上模型预测模块;
线上模型预测模块,负责在模型部署上线以后,对线上结果进行预测,设定线上应用的评价指标目标阈值c3,人工对线上预测结果进行验证、对模型进行评估,当实际结果oc<c3时,发起负反馈3,反馈信号传播到线下的人工处理数据和人工开发模型阶段,同时线上数据经过纠正以后通过回路加到基础数据以丰富样本数据,进行迭代开发,在线下数据处理和线下模型开发阶段直接进入人工处理回路,反之当oc≥c3时,只将线上数据结果纠正以后通过回路添加到基础数据,进行迭代开发。
本发明还提供一种云服务器,其特征在于,所述云服务器中部署上面所述的一种人在回路的机器学习应用开发***。所述云服务器提供各种软件的运行时环境,供机器学习模型的开发和训练;各种软件的运行时环境和语言环境包括底层的linux操作***-centos7、GPU加速计算环境、Java开发库—JDK8、服务容器—Tomcat、C++编译器—GNUCompiler Collection、python开发管理包—Anaconda,这些环境都配置在服务端,在桌面端提供网页界面web的访问方式。
与现有技术方案相比,本发明的有益效果是:
(1)本发明提出了一种开发机器学习应用的一整套流程和解决方案,技术方案涵盖从原始数据到最终应用的整个过程和细节,更完善,更全面;
(2)本发明基于控制论中负反馈调节原理,以较小的代价将人的智慧和经验设计基于回路的流程中,可进行迭代式和增量式的开发,同时可有效串联应用开发的各个阶段;
(3)本发明提出人在数据回路中的对数据的质量分析、预处理和标注,可提升数据质量和可用性;
(4)本发明通过将人工手动选择算法、调整模型超参数设计在模型训练的负反馈回路中,可提升模型的精度和表现;
(5)本发明提出的人在预测回路,可对机器学习模型和应用的效果和表现作出真实的评价,同时记录线上错误和故障,联合线下构建回路可进行故障分析和解决。
附图说明
图1为本发明方法的总体流程图。
图2所示为***布局图;
图3所示为线下数据处理示意图;
图4所示为自动化机器学习AutoML算法选择及超参数配置示意图;
图5所示为线下模型开发示意图;
图6所示为线上模型预测示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清晰明了,以下结合附图说明,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的基本思路在于,将机器学习开发应用的过程分为线下和线上两个阶段,并构建辅以人工负反馈回路进行迭代式和增量式的开发。本发明方法的总体流程如图1所示,在线下数据处理阶段,当数据质量分析的结果dc低于设定阈值c1时,发起负反馈1,进入人工处理数据回路,满足dc≥c1进入模型开发阶段,同时对未标注数据利用主动学习加人工进行标注,提升数据质量和可用性;在线下模型开发阶段,当采取自动化的训练结果mc小于设定评价指标的阈值c2时,发起负反馈2,进入人工模型开发回路,人工进行问题分析、算法设计和选择、超参数调整,满足mc≥c2进入线上预测阶段;在线上预测阶段,当人工对线上模型的预测结果进行评估后的结果oc小于设定阈值c3,发起负反馈3,传播到线下的人工数据处理和人工模型训练阶段,同时纠正后的线上数据通过回路反馈到线下,进行二次开发。如图2所示为***布局图,用户可通过各种设备(计算机为主)访问浏览器即可访问本发明的人在回路机器学习应用开发***,存储和计算都在云服务器上进行,用户通过浏览器将数据、文件和代码上传到服务器执行相关操作。
本发明方法具体步骤如下所示:
第一步,线下数据处理
如图3所示,数据来源包括基础数据或者线上回路积累的数据,对数据处理主要包括两个部分:
一,自动化数据处理及质量分析,自动化的数据清洗和处理方式,具体包括:
1)缺失值处理,丢弃或均值填充(采取丢失字段所在维度的记录均值进行填充),默认采取均值填充的方式;
2)噪声处理,对噪声数据使用分箱光滑的方式,即将数据排序按等深的原则进行分箱,然后利用箱内中位数进行替代;
3)对于重复数据进行去重操作;
4)对于类别分布不平衡的样本,采取采样的策略进行平衡,对某类较少的样本进行随机重复采样即过采样,对某类较少的样本进行随机采样即欠采样。
对数据的质量分析设置为自动化的量化分析,包括以下四个方面(设总的数据记录为n):
1)缺失性分析,某一条记录的缺失或记录中某个字段的缺失,量化该分析结果为记录数(nLoss)占总记录数的百分比q1=nLoss/n;
2)噪声和异常检测,检验数据是否有录入错误或含有不合常理的数据,量化该分析结果为异常数据记录数(nOdd)占总记录数的百分比q2=nOdd/n;
3)重复性检测,检测数据中重复出现的内容,量化该分析结果为重复记录数(nRepeat)占总记录数的百分比q3=nRepeat/n;
4)数据类别分布分析,数据样本是否均衡的分布到每一类中,设数据类别为x类,则均衡分布的结果因为每一类记录数为n/x,量化该分析结果,各个类别记录数与均衡分布记录数的二倍相比:
Figure GDA0002568848690000071
数据质量分析的计算结果最终为:dc=0.3×q1+0.3×q2+0.3×q3+0.1×q4
二,基于负反馈的人工数据处理回路,设定数据质量的目标阈值c1,当数据质量分析的结果dc<c1时,发起负反馈1,进入人工处理数据的回路,人工进行数据质量分析、手动处理以及特征选择等;当满足dc≥c1时,数据流传播到模型开发阶段;此外,当线上模型评测结果oc小于设定目标阈值c3时,发起负反馈3,则在迭代开发时,进入人工处理数据回路。
同时对于原始数据(未带标签的数据)进行标注,具体是辅以手动的主动学习,主动学习算法主要分为两个阶段:
第一阶段,初始阶段,随机从未标注样本U中选取小部分,由督导者S标注,作为训练集,建立初始分类器模型;
第二阶段,循环查询阶段,督导者S从未标注样本集U中,按照某种查询标准Q,选取一定的未标注样本进行标注,并加到训练样本集L中,重新训练分类器,直至达到训练停止标准为止。
主动学习的分类器模型选择优化的分布式梯度提升数算法XGBoost,算法流程如下:
(1)初始化模型为常数值:
Figure GDA0002568848690000072
其中x为输入,L(yi,γ)为损失函数,yi为样本第i个样本的标注,γ为残差参数,n为样本数量;
(2)对于m从1到M,迭代生成M个基学习器:
a)计算损失函数的负梯度在当前模型的值,作为残差估计:
Figure GDA0002568848690000073
其中,F(xi)表示第i个样本的预测值,F(x)表示模型函数,Fm-1(x)表示当前的模型函数。
b)估计回归树节点区域Rjm,j=1,2,…,Jm,以拟合残差的近似值;
c)利用线性搜索估计叶节点区域的值,使损失函数极小:
Figure GDA0002568848690000081
其中,T表示叶子结点数目,wj表示第j个叶子结点的权重;
d)更新回归树模型:
Figure GDA0002568848690000082
其中,I表示指示函数,括号内值为真时取值为1,否则取值为0;
(3)输出最终的模型:
Figure GDA0002568848690000083
第二步,线下模型开发
如图4所示,主要包括两个部分:
一,自动化机器学习开发方法AutoML,本发明研究的主要是针对包括分类和回归算法在内的预测问题,如图5所示,预设实现的分类和回归算法及其超参数配置。对于分类算法,默认评价指标是f1值,也可采取精度P、召回值R等;对于回归算法,默认评价指标是均方误差MSE,可根据实际情况调整,当AutoML的指标结果mc大于等于设定阈值c2时,模型数据流前馈传到线上预测阶段;
二,基于负反馈的人工开发模型回路,当采用AutoML进行模型训练时,最终达到的指标结果未达到设定的阈值即mc<c2时,发起负反馈2,进入人工开发模型回路,机器学习开发人员进行模型设计、训练,此外当线上回路的实际评价指标oc小于设定的目标阈值c3时,发起负反馈3,在迭代开发时进入人工开发模型的回路。
第三步,线上模型预测
如图6所示,对线上结果进行预测,设定线上应用的评价指标目标阈值c3,人工对线上预测结果进行验证、对模型进行评估,当实际结果oc<c3时,发起负反馈3,反馈信号传播到线下的人工数据处理和人工模型开发阶段,同时线上数据经过纠正以后通过回路加到基础数据丰富样本数据,进行迭代开发,在数据处理和模型开发阶段进入人工处理回路,反之当oc≥c3时,只将线上数据结果纠正以后通过回路添加到基础数据,进行迭代开发。
第四步,重复一至三的步骤,对模型进行迭代开发和持续改进。
迭代开始时,数据样本来自两部分:基础数据和线上回路中从线上收集验证的数据,数据样本更加丰富,然后进行数据处理,分两种情况,若接收到负反馈3或负反馈1,进入人工处理回路,否则自动化处理及质量分析后,数据流前馈到模型开发阶段,如图3所示;在模型开发阶段,若接到负反馈3或负反馈1,进入人工模型开发回路,否则采取自动化的机器学习方法AutoML开发模型,模型数据流前馈到线上阶段,如图4所示;在线上预测阶段,若模型评估的指标结果oc<c3时,向线下发起负反馈3,同时线上数据的结果经纠正以后,通过回路增加到基础数据,丰富数据样本,若oc≥c3,则只进行数据回传。当模型迭代进入稳定阶段,只需定时评测就可以,如图6所示。
上述步骤中的负反馈是依据控制论中的调节原理:***的输出会影响***的输入,在输出变动时,所造成的影响恰和原来变动的趋势相反,具体指的是:
以y=h(x)表示一个***,其中x为输入,h为***函数,y为***输出,负反馈就是在输入部分加上以下的量,其中k为调节系数:
x1=-kΔy
反馈后***的输出:
Figure GDA0002568848690000091
达到***稳定或调整的目的。
本发明另一实施例提供一种人在回路的机器学习应用开发***,其包括:
线下数据处理模块,负责存储和管理各种形式的数据,设定数据质量分析的阈值c1,首先采取自动化的处理方式对数据进行清洗和预处理,然后对数据质量进行分析,当数据质量分析结果dc<c1时,发起负反馈1,进入人工处理数据回路,当满足dc≥c1时,数据流进入线下模型开发模块;对未带标签的原始数据以辅以人工的主动学习方法进行标注;
线下模型开发模块,负责以网页界面web的方式提供各种软件的运行时环境,供机器学习模型的开发和训练,对模型的评价指标设定阈值c2,当采用自动化的机器学习方法训练模型后,若模型指标结果mc<c2,发起负反馈2,进入人工开发模型的回路,当满足mc≥c2后,开发完的模型数据流传到线上模型预测模块;
线上模型预测模块,负责在模型部署上线以后,对线上结果进行预测,设定线上应用的评价指标目标阈值c3,人工对线上预测结果进行验证、对模型进行评估,当实际结果oc<c3时,发起负反馈3,反馈信号传播到线下的人工处理数据和人工开发模型阶段,同时线上数据经过纠正以后通过回路加到基础数据以丰富样本数据,进行迭代开发,在线下数据处理和线下模型开发阶段直接进入人工处理回路,反之当oc≥c3时,只将线上数据结果纠正以后通过回路添加到基础数据,进行迭代开发。
上述三个模块的具体实现方式参见前文对本发明方法的说明。
本发明另一实施例提供一种云服务器,所述云服务器中部署上面所述的一种人在回路的机器学习应用开发***。所述云服务器提供各种软件的运行时环境,供机器学习模型的开发和训练;各种软件的运行时环境和语言环境包括底层的linux操作***-centos7、GPU加速计算环境、Java开发库—JDK8、服务容器—Tomcat、C++编译器—GNU CompilerCollection、python开发管理包—Anaconda,这些环境都配置在服务端,在桌面端提供网页界面web的访问方式。
为证明本发明方法及***的有效性,在两个数据集上进行了实验,结果如下:
实验一:采用的数据集为The(6)dialog bAbI tasks,结果如表1所示。
表1
Figure GDA0002568848690000101
实验二:采用的数据集为Kaggle Titantic Data(评价指标为准确率-Accuracy),结果如表2所示。
表2
Figure GDA0002568848690000102
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的原理和范围,本发明的保护范围应以权利要求书所述为准。

Claims (10)

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占总记录数的百分比q3=nRepeat/n;
4)数据类别分布分析,数据样本是否均衡的分布到每一类中,设数据类别为x类,则均衡分布的结果因为每一类记录数为n/x,量化该分析结果,各个类别记录数与均衡分布记录数的二倍相比:
Figure FDA0002568848680000021
数据质量分析的计算结果最终为:dc=0.3×q1+0.3×q2+0.3×q3+0.1×q4
4.根据权利要求1或3所述的方法,其特征在于:所述人工处理数据的回路,是由人工进行数据质量分析、手动处理以及特征选择。
5.根据权利要求1所述的方法,其特征在于:所述第一步中,对所述未带标签的原始数据进行标注,是辅以手动的主动学习算法进行标注,主动学习算法主要分为两个阶段:
第一阶段,初始阶段,随机从未标注样本U中选取小部分,由督导者S标注,作为训练集,建立初始分类器模型;
第二阶段,循环查询阶段,督导者S从未标注样本集U中,按照某种查询标准Q,选取一定的未标注样本进行标注,并加到训练样本集L中,重新训练分类器,直至达到训练停止标准为止。
6.根据权利要求5所述的方法,其特征在于,主动学习的分类器模型选择优化的分布式梯度提升树算法XGBoost,包括以下步骤:
(1)初始化模型为常数值F0(x),其中x为输入,L(yi,γ)为损失函数,yi为样本第i个样本的标注,γ为残差参数,n为样本数量:
Figure FDA0002568848680000022
(2)对于m从1到M,迭代生成M个基学习器:
a)计算损失函数的负梯度在当前模型的值,作为残差估计:
Figure FDA0002568848680000023
其中,F(xi)表示第i个样本的预测值,F(x)表示模型函数,Fm-1(x)表示当前的模型函数;
b)估计回归树节点区域Rjm,j=1,2,…,Jm,以拟合残差的近似值;
c)利用线性搜索估计叶节点区域的值,使损失函数极小:
Figure FDA0002568848680000024
其中,T表示叶子结点数目,wj表示第j个叶子结点的权重;
d)更新回归树模型:
Figure FDA0002568848680000031
其中,I表示指示函数,括号内值为真时取值为1,否则取值为0;
(3)输出最终的模型:
Figure FDA0002568848680000032
7.根据权利要求1所述的方法,其特征在于:所述第二步中,自动化的机器学习方法包括针对预测问题的分类算法和回归算法,所述的分类算法包括支持向量机算法,逻辑回归算法,梯度提升树算法,随机森林算法,所述的回归算法包括线性回归算法,梯度提升算法,随机森林算法。
8.根据权利要求1所述的方法,其特征在于:所述第一步至第三步中的负反馈是依据控制论中的调节原理:***的输出会影响***的输入,在输出变动时,所造成的影响恰和原来变动的趋势相反,具体指的是:
以y=h(x)表示一个***,其中x为输入,h为***函数,y为***输出,负反馈就是在输入部分加上以下的量,其中k为调节系数:
x1=-kΔy
反馈后***的输出:
Figure FDA0002568848680000033
达到***稳定或调整的目的。
9.一种人在回路的机器学习应用开发***,其特征在于,包括:
线下数据处理模块,负责存储和管理各种形式的数据,设定数据质量分析的阈值c1,首先采取自动化的处理方式对数据进行清洗和预处理,然后对数据质量进行分析,当数据质量分析结果dc<c1时,发起负反馈1,进入人工处理数据回路,当满足dc≥c1时,数据流进入线下模型开发模块;对未带标签的原始数据以辅以人工的主动学习方法进行标注;
线下模型开发模块,负责以网页界面web的方式提供各种软件的运行时环境,供机器学习模型的开发和训练,对模型的评价指标设定阈值c2,当采用自动化的机器学习方法训练模型后,若模型指标结果mc<c2,发起负反馈2,进入人工开发模型的回路,当满足mc≥c2后,开发完的模型数据流传到线上模型预测模块;
线上模型预测模块,负责在模型部署上线以后,对线上结果进行预测,设定线上应用的评价指标目标阈值c3,人工对线上预测结果进行验证、对模型进行评估,当实际结果oc<c3时,发起负反馈3,反馈信号传播到线下的人工处理数据和人工开发模型阶段,同时线上数据经过纠正以后通过回路加到基础数据以丰富样本数据,进行迭代开发,在线下数据处理和线下模型开发阶段直接进入人工处理回路,反之当oc≥c3时,只将线上数据结果纠正以后通过回路添加到基础数据,进行迭代开发。
10.一种云服务器,其特征在于,所述云服务器中部署权利要求9所述的一种人在回路的机器学习应用开发***。
CN201910031759.9A 2019-01-14 2019-01-14 一种人在回路的机器学习应用开发方法和*** Active CN109783062B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910031759.9A CN109783062B (zh) 2019-01-14 2019-01-14 一种人在回路的机器学习应用开发方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910031759.9A CN109783062B (zh) 2019-01-14 2019-01-14 一种人在回路的机器学习应用开发方法和***

Publications (2)

Publication Number Publication Date
CN109783062A CN109783062A (zh) 2019-05-21
CN109783062B true CN109783062B (zh) 2020-10-09

Family

ID=66500451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910031759.9A Active CN109783062B (zh) 2019-01-14 2019-01-14 一种人在回路的机器学习应用开发方法和***

Country Status (1)

Country Link
CN (1) CN109783062B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825819A (zh) * 2019-09-24 2020-02-21 昆明理工大学 一种处理有缺失值和不平衡非小细胞肺癌数据的二分类方法
CN110704846B (zh) * 2019-09-27 2021-05-18 北京计算机技术及应用研究所 一种人在回路的智能化安全漏洞发现方法
CN111445440B (zh) * 2020-02-20 2023-10-31 上海联影智能医疗科技有限公司 一种医学图像分析方法、设备和存储介质
CN111459820B (zh) * 2020-03-31 2021-01-05 北京九章云极科技有限公司 一种模型应用方法、装置及数据分析处理***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106557546A (zh) * 2016-10-20 2017-04-05 中国电力科学研究院 一种对特高压在线监测数据进行挖掘并评价的方法及***
CN107038167A (zh) * 2016-02-03 2017-08-11 普华诚信信息技术有限公司 基于模型评估的大数据挖掘分析***及其分析方法
CN107223261A (zh) * 2016-12-07 2017-09-29 深圳前海达闼云端智能科技有限公司 人机混合决策方法和装置
CN109034397A (zh) * 2018-08-10 2018-12-18 腾讯科技(深圳)有限公司 模型训练方法、装置、计算机设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671675B2 (en) * 2015-06-19 2020-06-02 Gordon V. Cormack Systems and methods for a scalable continuous active learning approach to information classification
CN107368614B (zh) * 2017-09-12 2020-07-07 猪八戒股份有限公司 基于深度学习的图像检索方法及装置
CN109035558B (zh) * 2018-06-12 2020-08-25 武汉市哈哈便利科技有限公司 一种用于无人售货柜的商品识别算法在线学习***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107038167A (zh) * 2016-02-03 2017-08-11 普华诚信信息技术有限公司 基于模型评估的大数据挖掘分析***及其分析方法
CN106557546A (zh) * 2016-10-20 2017-04-05 中国电力科学研究院 一种对特高压在线监测数据进行挖掘并评价的方法及***
CN107223261A (zh) * 2016-12-07 2017-09-29 深圳前海达闼云端智能科技有限公司 人机混合决策方法和装置
CN109034397A (zh) * 2018-08-10 2018-12-18 腾讯科技(深圳)有限公司 模型训练方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN109783062A (zh) 2019-05-21

Similar Documents

Publication Publication Date Title
CN109783062B (zh) 一种人在回路的机器学习应用开发方法和***
DE102020114218A1 (de) Verfahren und Vorrichtungen zum Verbessern der Laufzeitleistung auf einem heterogenen System ausgeführter Software
DE102020108374A1 (de) Verfahren und vorrichtung zur laufzeitmehrfachplanung von software, die in einem heterogenen system ausgeführt wird
CN102456167A (zh) 用于优化业务进程管理模型的方法和***
CN110991658A (zh) 模型训练方法、装置、电子设备和计算机可读存储介质
US20200167660A1 (en) Automated heuristic deep learning-based modelling
CN111260073A (zh) 数据处理方法、装置和计算机可读存储介质
CN113467944B (zh) 面向复杂软件***的资源部署装置及方法
WO2022134001A1 (zh) 基于容器化技术的机器学习模型框架的开发方法与***
CN117132890A (zh) 一种基于Kubernetes边缘计算集群的遥感图像目标检测方法和***
CN116467674A (zh) 一种配电网智能故障处理融合更新***及其方法
CN117149293B (zh) 一种操作***个性化配置方法
Cunha et al. Context-aware execution migration tool for data science Jupyter Notebooks on hybrid clouds
CN118192949A (zh) 基于大语言模型的漏洞代码工具生成方法、***及介质
CN117235527A (zh) 端到端容器化的大数据模型构建方法、装置、设备及介质
Lai et al. A critical quality measurement model for managing and controlling big data project risks
Bodenhausen et al. Next Level AI-Based Development: From Understanding to Mastering of the Key Elements
Lee et al. White-box program tuning
CN111401551A (zh) 基于强化学习的弱监督自学习方法
US20200320380A1 (en) Deep learning experiment content generation based on single design
Pereira et al. AI4CITY-An Automated Machine Learning Platform for Smart Cities
Dornberger et al. The way to an open-source software for automated optimization and learning—OpenOpal
Gao et al. Bi-objective water cycle algorithm for solving remanufacturing rescheduling problem
Stieler et al. Git workflow for active learning-a development methodology proposal for data-centric AI projects
Herbert et al. Generating reliable process event streams and time series data based on neural networks

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