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计 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。