CN108573275B - 一种在线分类微服务的构建方法 - Google Patents
一种在线分类微服务的构建方法 Download PDFInfo
- Publication number
- CN108573275B CN108573275B CN201810188057.7A CN201810188057A CN108573275B CN 108573275 B CN108573275 B CN 108573275B CN 201810188057 A CN201810188057 A CN 201810188057A CN 108573275 B CN108573275 B CN 108573275B
- Authority
- CN
- China
- Prior art keywords
- training
- sample
- hyperplane
- model
- classification
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种在线分类微服务的构建方法,相对于传统基于批处理的分类方法(如SMO等)由于每次分类都要对所有训练样本进行计算,具有耗时大和部署困难的问题,不利于模型的在线修改。本发明在线分类微服务构建方法,可以利用实时获取的训练样本对分类器进行更新,同时提高了对数据处理的效率,利用微服务的架构可以对降低部署模型的复杂度,加快模型的上线迭代。
Description
技术领域
本发明属于智能信息处理技术领域,具体涉及一种在线分类微服务的构建方法。
背景技术
传统的批量处理分类方法如SMO(Search Media Optimization,搜索媒体优化)等支持向量机算法,由于分类数据过于庞大,每次分类都需要对所有数据重新进行处理,会因为计算复杂度过高而耗时太多,难以作为线上服务进行发布,因此需要对分类算法的处理步骤进行改进。
在线学习算法与离线学习算法相比,具有收敛速度快和计算内存消耗少的优点,但是分类精度往往不如离线学习算法,因此需要对训练样本进行取舍,通过KKT(KarushKuhn Tucker)条件的判定可以方便地选出对更新分类超平面有帮助的训练样本。同时在线学习面临的问题是部署和集成比较复杂,通常会面临算法模块需要使用Python实现,而业务模块需要使用Java实现,即多语言通信的问题,而微服务恰好可以解决多语言的问题,同时通过将不同模块拆分成服务,可以方便的找出服务间调的瓶颈所在,调整服务内部的设计。
发明内容
鉴于上述,本发明提供了一种在线分类微服务的构建方法,能够对外界收集到的样本数据集进行有选择性的学习。
一种在线分类微服务的构建方法,包括如下步骤:
(1)获取初始样本集,其中每个样本预设有正负标签,进而采用LSSVM(最小二乘支持向量机)分类器对样本集进行分类,得到最优分类超平面f1,此时超平面f1将样本集分成两类,这些样本组成了支持向量集SV1;
(2)获取新的训练样本,通过KKT条件判断该训练样本能否被超平面f1正确分类:若能,则舍去该训练样本;若不能,则将该训练样本加入到支持向量集SV1中进行分类训练得到新的超平面f2;
(3)反复执行步骤(2),每一次超平面更新后均需要检查之前训练样本的KKT条件,所有不满足KKT条件的训练样本纳入集合Tk并加入到下一次的训练过程中;训练过程分离线训练和线上更新两个阶段,同时对样本数据进行存储。
进一步地,所述训练过程中的离线训练阶段包括对初始样本集进行离线训练,得到超平面f1,进而将训练模型序列化后得到模型文件;线上更新阶段则在离线训练流程的基础上,搭建算法模型微服务,提供更新模型的POST接口,输入为新增加的训练样本,输出为超平面是否被更新的信息,通过输出结果决定是否对模型文件进行更新,此外线上更新还提供模型预测的POST接口,输入为样本向量,输出为预测的正负值。
进一步地,所述样本数据分为历史数据和实时数据两部分进行存储,历史数据包含了每次支持向量集和超平面更新后不满足KKT条件的训练样本所组成的集合Tk,实时数据则包含了每次传入的新训练样本。
进一步地,所述线上更新阶段采用Python Flask来搭建微服务,提供的是RESTful接口,方便与其他语言(如Java)后台进行通信,同时使用pickle序列化文件将模型持久化。
进一步地,所述步骤(3)中采用MongoDB对历史数据进行存储,由于历史数据量大,且对数据存取速度要求较高,MongoDB更适合作为数据存储部分的实现。
相对于传统基于批处理的分类方法(如SMO等)由于每次分类都要对所有训练样本进行计算,具有耗时大和部署困难的问题,不利于模型的在线修改。本发明在线分类微服务构建方法,可以利用实时获取的训练样本对分类器进行更新,同时提高了对数据处理的效率,利用微服务的架构可以对降低部署模型的复杂度,加快模型的上线迭代。
附图说明
图1为本发明在线分类微服务构建方法的流程示意图。
图2为本发明在线分类微服务的架构示意图。
图3为对全量训练集使用LSSVM和使用本发明在线分类算法的训练耗时对比示意图。
图4为对全量训练集使用LSSVM和使用本发明在线分类算法的分类准确率对比示意图。
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
如图1和图2所示,本发明在线分类微服务的构建方法,包括如下步骤:
S1:获取初始样本集,包括样本预设的正负标签,使用LSSVM分类器进行分类。
S2:通过LSSVM算法对样本集进行离线分类,得到最优分类超平面f1,此时超平面将样本集分成两类,这些样本组成了支持向量SV1。
LSSVM分类器的判断函数为:
KKT条件是求解αk的充分必要条件,所以对于线性分类问题而言,可以归结为求解如下的二次凸规划问题:
上式的最优解必须满足如下的KKT条件:
S3:使用Java开发微服务持续获取新的训练样本,并保存在实时的Mongo数据库表中,使用Python Flask来开发算法微服务,提供更新模型的接口和返回分类的接口。
S4:算法微服务使用KKT条件判断该样本能否被超平面f1正确分类,若不能,跳转到步骤S5;若能,跳转到步骤S7。
S5:若不能,则将该训练样本加入到原来的支持向量集SV1中,训练得到新的超平面f2,并将更新后的支持向量保存在Mongo历史表中,方便之后更新。
S6:每一次超平面更新,都需要检查之前训练样本的KKT条件,所有不满足KKT条件的样本集合为Tk,加入到下一次的训练过程中。
S7:直接使用旧的分类超平面和支持向量作为下一次的超平面和支持向量。
S8:若有新的训练样本,则跳转S3,一直持续上述过程,每当第k+1个训练样本(xk+1,yk+1)违反了KKT条件,无法被fk正确分类,就把SVk和(xk+1,yk+1)作为新的训练样本集,寻找新的超平面fk+1,并将新的训练样本集更新到Mongo历史表中;若没有,则结束上述过程。
上述训练过程分为离线训练和线上更新两个阶段:离线训练即对初始样本集进行离线训练,得到初始超平面f1,将模型序列化后得到模型文件;线上更新即在离线训练流程的基础上,搭建算法模型微服务,提供更新模型的POST接口,输入参数是增加的新的训练样本,输出是超平面是否更新,通过输出结果决定是否对模型文件进行更新;同时提供模型预测的POST接口,输入是样本向量,输出是预测的正负值。
对于样本数据的存储,则分为历史数据和实时数据两部分,历史数据包含了之前的支持向量集和所有超平面更新后不满足KKT条件的向量集,实时数据包含了当前传入的新的训练样本。
以下我们将全量LSSVM和本发明在线训练算法在UCI MachineLearning上的SkinSegmentation Data Set进行了验证,实验设计如下。
将Skin Segmentation Data Set数据集分为6组,分别是:
1)200行训练集100行验证集
2)500行训练集200行验证集
3)1000行训练集500行验证集
4)2000行训练集1000行验证集
5)5000行训练集2000行验证集
6)10000行训练集5000行验证集
对照组对训练集使用LSSVM算法进行全量训练,而实验组对半数训练集先进行训练,然后对剩余的训练集使用增量方式进行训练,步骤如图1所示,比较两组的训练总耗时和最终验证的准确率。
由图3可见,对照组耗时始终大于实验组一个量级,同时可以看出实验组的耗时基本花在使用LSSVM算法进行初始训练上。
由图4可见,虽然实验组的算法速度更快,但是准确率还是不如全量LSSVM,但在大样本的情况下仍然表现良好,在10000行训练集的情况下也能达到93.28%的准确率。
因此由本实验可知,在合理调整初始训练集的大小后,本发明在线分类算法能够以较快的速度实现较好的分类效果,能够满足在线上进行在线分类的需求。
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。
Claims (2)
1.一种在线分类微服务的构建方法,包括如下步骤:
(1)获取初始样本集,其中每个样本预设有正负标签,进而采用LSSVM分类器对样本集进行分类,得到最优分类超平面f1,此时超平面f1将样本集分成两类,这些样本组成了支持向量集SV1;
(2)获取新的训练样本,通过KKT条件判断该训练样本能否被超平面f1正确分类:若能,则舍去该训练样本;若不能,则将该训练样本加入到支持向量集SV1中进行分类训练得到新的超平面f2;
(3)反复执行步骤(2),每一次超平面更新后均需要检查之前训练样本的KKT条件,所有不满足KKT条件的训练样本纳入集合Tk并加入到下一次的训练过程中;训练过程分离线训练和线上更新两个阶段,同时对样本数据进行存储;
所述训练过程中的离线训练阶段包括对初始样本集进行离线训练,得到超平面f1,进而将训练模型序列化后得到模型文件;线上更新阶段则在离线训练流程的基础上,搭建算法模型微服务,提供更新模型的POST接口,输入为新增加的训练样本,输出为超平面是否被更新的信息,通过输出结果决定是否对模型文件进行更新,此外线上更新还提供模型预测的POST接口,输入为样本向量,输出为预测的正负值;
所述样本数据分为历史数据和实时数据两部分进行存储,历史数据包含了每次支持向量集和超平面更新后不满足KKT条件的训练样本所组成的集合Tk,实时数据则包含了每次传入的新训练样本;
所述线上更新阶段采用Python Flask来搭建微服务,提供的是RESTful接口,方便与其他语言后台进行通信,同时使用pickle序列化文件将模型持久化。
2.根据权利要求1所述的构建方法,其特征在于:所述步骤(3)中采用MongoDB对历史数据进行存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810188057.7A CN108573275B (zh) | 2018-03-07 | 2018-03-07 | 一种在线分类微服务的构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810188057.7A CN108573275B (zh) | 2018-03-07 | 2018-03-07 | 一种在线分类微服务的构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108573275A CN108573275A (zh) | 2018-09-25 |
CN108573275B true CN108573275B (zh) | 2020-08-25 |
Family
ID=63576074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810188057.7A Active CN108573275B (zh) | 2018-03-07 | 2018-03-07 | 一种在线分类微服务的构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108573275B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299178B (zh) * | 2018-09-30 | 2020-01-14 | 北京九章云极科技有限公司 | 一种模型应用方法和数据分析系统 |
CN113269710B (zh) * | 2021-03-19 | 2024-04-09 | 广州天越电子科技有限公司 | 一种基于目标检测的aau施工工艺检测系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102176701A (zh) * | 2011-02-18 | 2011-09-07 | 哈尔滨工业大学 | 一种基于主动学习的网络数据异常检测方法 |
CN103389310A (zh) * | 2013-07-31 | 2013-11-13 | 哈尔滨工业大学 | 一种基于辐射标定的亚像素光学元件损伤在线检测方法 |
CN103473540A (zh) * | 2013-09-11 | 2013-12-25 | 天津工业大学 | 智能交通系统车辆轨迹增量式建模与在线异常检测方法 |
CN103869783A (zh) * | 2014-03-18 | 2014-06-18 | 东北大学 | 一种精矿产量在线预测方法 |
CN105158598A (zh) * | 2015-08-15 | 2015-12-16 | 国家电网公司 | 一种适用于电力设备的故障预测方法 |
CN105787507A (zh) * | 2016-02-16 | 2016-07-20 | 中国石油大学(华东) | 基于预算支持向量集的LS-SVMs在线学习方法 |
CN107579839A (zh) * | 2017-06-30 | 2018-01-12 | 昆明理工大学 | 一种基于多维度评价信息的在线服务信誉度量方法 |
-
2018
- 2018-03-07 CN CN201810188057.7A patent/CN108573275B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102176701A (zh) * | 2011-02-18 | 2011-09-07 | 哈尔滨工业大学 | 一种基于主动学习的网络数据异常检测方法 |
CN103389310A (zh) * | 2013-07-31 | 2013-11-13 | 哈尔滨工业大学 | 一种基于辐射标定的亚像素光学元件损伤在线检测方法 |
CN103473540A (zh) * | 2013-09-11 | 2013-12-25 | 天津工业大学 | 智能交通系统车辆轨迹增量式建模与在线异常检测方法 |
CN103869783A (zh) * | 2014-03-18 | 2014-06-18 | 东北大学 | 一种精矿产量在线预测方法 |
CN105158598A (zh) * | 2015-08-15 | 2015-12-16 | 国家电网公司 | 一种适用于电力设备的故障预测方法 |
CN105787507A (zh) * | 2016-02-16 | 2016-07-20 | 中国石油大学(华东) | 基于预算支持向量集的LS-SVMs在线学习方法 |
CN107579839A (zh) * | 2017-06-30 | 2018-01-12 | 昆明理工大学 | 一种基于多维度评价信息的在线服务信誉度量方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108573275A (zh) | 2018-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10332507B2 (en) | Method and device for waking up via speech based on artificial intelligence | |
US10032463B1 (en) | Speech processing with learned representation of user interaction history | |
Sak et al. | Long short-term memory recurrent neural network architectures for large scale acoustic modeling | |
Mazzawi et al. | Improving Keyword Spotting and Language Identification via Neural Architecture Search at Scale. | |
CN117787346A (zh) | 前馈生成式神经网络 | |
CN111914085A (zh) | 文本细粒度情感分类方法、系统、装置及存储介质 | |
CN111506732B (zh) | 一种文本多层次标签分类方法 | |
Song | On the weight convergence of Elman networks | |
CN113688244A (zh) | 基于神经网络的文本分类方法、系统、设备及存储介质 | |
CN113868366B (zh) | 一种面向流数据的在线跨模态检索方法与系统 | |
CN102609714A (zh) | 基于信息增益和在线支持向量机的新型分类器及分类方法 | |
Wu et al. | Optimized deep learning framework for water distribution data-driven modeling | |
CN113420508B (zh) | 一种基于lstm的机组组合计算方法 | |
CN111950295A (zh) | 一种训练自然语言处理模型的方法和系统 | |
CN108573275B (zh) | 一种在线分类微服务的构建方法 | |
US20210073645A1 (en) | Learning apparatus and method, and program | |
CN110008332A (zh) | 通过强化学习提取主干词的方法及装置 | |
CN114511023A (zh) | 分类模型训练方法以及分类方法 | |
CN111783688B (zh) | 一种基于卷积神经网络的遥感图像场景分类方法 | |
Dubhir et al. | Benchmarking of quantization libraries in popular frameworks | |
CN111259673A (zh) | 一种基于反馈序列多任务学习的法律判决预测方法及系统 | |
CN109033413B (zh) | 一种基于神经网络的需求文档和服务文档匹配方法 | |
de Brébisson et al. | The z-loss: a shift and scale invariant classification loss belonging to the spherical family | |
CN115358473A (zh) | 基于深度学习的电力负荷预测方法及预测系统 | |
US20230289533A1 (en) | Neural Topic Modeling with Continuous Learning |
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 |