生成模型文件的方法和装置制造方法及图纸

技术编号:11899600 阅读:50 留言:0更新日期:2015-08-19 11:15
本公开是关于一种生成模型文件的方法和装置,属于数据分类领域。所述方法包括:获取支持向量机SVM模型的第一模型文件,所述第一模型文件中包括超平面的指示信息,所述指示信息包括多个支持向量、系数向量和偏置项;将所述多个支持向量组成支持矩阵;计算所述支持矩阵与所述系数向量的乘积,得到权重向量;根据所述权重向量和所述偏置项,生成第二模型文件,所述第二模型文件用于对数据进行分类。本公开生成的第二模型文件能够用于对数据进行分类,且第二模型文件中无需存储系数向量以及大量的支持向量,大大减小了模型文件的数据量。

【技术实现步骤摘要】

本公开是关于数据分类领域,具体来说是关于生成模型文件的方法和装置
技术介绍
SVM(Support Vector Machine,支持向量机)是一种常用的分类模型,可以广泛应用于图像识别等多种领域。若要应用SVM模型对数据进行分类,先要获取多个样本数据,对多个样本数据进行训练,得到一个超平面,再应用该超平面,对未知类别的数据进行分类,如果该数据位于超平面的第一侧,则确定该数据属于第一类,如果该数据位于超平面的第二侧,则确定该数据属于第二类。在实际应用过程中,训练完成时可以根据训练结果生成一个模型文件,该模型文件中包括训练出的多个支持向量、系数向量和偏置项,该多个支持向量、系数向量和偏置项用于表示SVM模型的超平面。当要对数据进行分类时,可以获取该模型文件中存储的多个支持向量、系数向量和偏置项,根据该多个支持向量、系数向量和偏置项以及该数据的特征向量进行计算,得到该数据的分类结果。
技术实现思路
为了解决相关技术中存在的问题,本公开提供了一种生成模型文件的方法和装置。所述技术方案如下:根据本公开实施例的第一方面,提供了一种生成模型文件的方法,所述方法包括:获取支持向量机SVM模型的第一模型文件,所述第一模型文件中包括超平面的指示信息,所述指示信息包括多个支持向量、系数向量和偏置项;将所述多个支持向量组成支持矩阵;计算所述支持矩阵与所述系数向量的乘积,得到权重向量;根据所述权重向量和所述偏置项,生成第二模型文件,所述第二模型文件用于对数据进行分类。在另一实施例中,所述根据所述权重向量和所述偏置项,生成第二模型文件之后,所述方法还包括:获取所述第二模型文件中包含的权重向量和偏置项;获取待分类数据的特征向量;根据所述权重向量、所述偏置项和所述特征向量,计算所述数据的分类值,所述分类值用于表示所述数据的分类结果。在另一实施例中,所述根据所述权重向量、所述偏置项和所述特征向量,计算所述数据的分类值,包括:根据所述权重向量、所述偏置项和所述特征向量,应用以下公式,计算所述数据的分类值:L = wT.x+b ;其中,L用于表示所述数据的分类值,w用于表示所述权重向量,X用于表示所述特征向量,b用于表示所述偏置项。在另一实施例中,所述获取所述第二模型文件中包含的权重向量和偏置项,包括:调用所述第二模型文件的指定接口 ;通过所述指定接口,获取所述第二模型文件中包含的权重向量和偏置项。在另一实施例中,所述方法还包括:当所述第一模型文件中包括多个超平面的指示信息时,执行计算每个超平面的权重向量的步骤;根据所述多个超平面的权重向量和偏置项,生成所述第二模型文件。根据本公开实施例的第二方面,提供了一种生成模型文件的装置,所述装置包括:第一获取模块,用于获取支持向量机SVM模型的第一模型文件,所述第一模型文件中包括超平面的指示信息,所述指示信息包括多个支持向量、系数向量和偏置项;矩阵创建模块,用于将所述多个支持向量组成支持矩阵;第一计算模块,用于计算所述支持矩阵与所述系数向量的乘积,得到权重向量;文件生成模块,用于根据所述权重向量和所述偏置项,生成第二模型文件,所述第二模型文件用于对数据进行分类。在另一实施例中,所述装置还包括:第二获取模块,用于获取所述第二模型文件中包含的权重向量和偏置项;所述第二获取模块,还用于获取待分类数据的特征向量;第二计算模块,用于根据所述权重向量、所述偏置项和所述特征向量,计算所述数据的分类值,所述分类值用于表示所述数据的分类结果。在另一实施例中,所述第二计算模块用于根据所述权重向量、所述偏置项和所述特征向量,应用以下公式,计算所述数据的分类值:L = wT.x+b ;其中,L用于表示所述数据的分类值,w用于表示所述权重向量,X用于表示所述特征向量,b用于表示所述偏置项。在另一实施例中,所述第二获取模块用于调用所述第二模型文件的指定接口 ;通过所述指定接口,获取所述第二模型文件中包含的权重向量和偏置项。在另一实施例中,所述第一计算模块,还用于当所述第一模型文件中包括多个超平面的指示信息时,计算每个超平面的权重向量;所述文件生成模块,还用于根据所述多个超平面的权重向量和偏置项,生成所述第二模型文件。根据本公开实施例的第三方面,提供了一种生成模型文件的装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:获取支持向量机SVM模型的第一模型文件,所述第一模型文件中包括超平面的指示信息,所述指示信息包括多个支持向量、系数向量和偏置项;将所述多个支持向量组成支持矩阵;计算所述支持矩阵与所述系数向量的乘积,得到权重向量;根据所述权重向量和所述偏置项,生成第二模型文件,所述第二模型文件用于对数据进行分类。本公开的实施例提供的技术方案可以包括以下有益效果:本实施例提供的方法和装置,通过根据第一模型文件中超平面的多个支持向量、系数向量和偏置项,计算出权重向量,根据该权重向量和该偏置项,生成第二模型文件,能够以该权重向量和偏置项来表示SVM模型的超平面,则该第二模型文件能够用于对数据进行分类。且第二模型文件中无需存储系数向量以及大量的支持向量,大大减小了模型文件的数据量。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。【附图说明】此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。图1是根据一示例性实施例示出的一种生成模型文件的方法的流程图;图2A是根据一示例性实施例示出的一种生成模型文件的方法的流程图;图2B是根据一示例性实施例示出的分类流程示意图;图3是根据一示例性实施例示出的一种生成模型文件的装置的框图;图4是根据一示例性实施例示出的一种用于生成模型文件的装置的框图。【具体实施方式】为使本公开的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本公开做进一步详细说明。在此,本公开的示意性实施方式及其说明用于解释本公开,但并不作为对本公开的限定。在对本公开实施例进行详细说明之前,先对SVM模型的超平面进行如下介绍:在对样本数据进行训练之后,可以生成一个模型文件,模型文件中包括超平面的所有支持向量SV、一个系数向量alpha和一个偏置项b。该模型文件存储的多个支持向量、系数向量和该偏置项可以用于表示该超平面。其中,样本数据越多,模型文件中的SV越多,模型文件的数据量越大。实际上,该多个支持向量中的每个支持向量与该系数向量的乘积可以组成一个权重向量,该权重向量和该偏置项也可以用于表示该超平面,该超平面的方程可以表示为:wT *x+b = m,w用于表示该权重向量,wT用于表示该权重向量的转置,b用于表示该偏置项,m用于表示预设阈值。对数据进行分类时,如果数据的向量Xtl满足w T.x0+b = m,则该数据位于该第一超平面上,如果Xtl满足W T ?x0+b > m,则该数据属于第一类,而如果Xtl满足W T ?x0+b < m,则该数据属于第二类。本公开实施例提供一种生成模型文件的方法和装置,以下结合附图对本公开进行详细说明。图1是根据一示例性实施例示出的一种生成模型文件的方法的流程图,如图1所示,生成模型文件的方法用于数据处理装置中,包括以下步骤:在步骤101中本文档来自技高网...

【技术保护点】
一种生成模型文件的方法,其特征在于,所述方法包括:获取支持向量机SVM模型的第一模型文件,所述第一模型文件中包括超平面的指示信息,所述指示信息包括多个支持向量、系数向量和偏置项;将所述多个支持向量组成支持矩阵;计算所述支持矩阵与所述系数向量的乘积,得到权重向量;根据所述权重向量和所述偏置项,生成第二模型文件,所述第二模型文件用于对数据进行分类。

【技术特征摘要】

【专利技术属性】
技术研发人员:龙飞陈志军张涛
申请(专利权)人:小米科技有限责任公司
类型:发明
国别省市:北京;11

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

1