CN104750734B - 基于线性支持向量机的分类方法及装置 - Google Patents

基于线性支持向量机的分类方法及装置 Download PDF

Info

Publication number
CN104750734B
CN104750734B CN201310746140.9A CN201310746140A CN104750734B CN 104750734 B CN104750734 B CN 104750734B CN 201310746140 A CN201310746140 A CN 201310746140A CN 104750734 B CN104750734 B CN 104750734B
Authority
CN
China
Prior art keywords
training data
sample point
contribution
value
sample
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
CN201310746140.9A
Other languages
English (en)
Other versions
CN104750734A (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.)
XFusion Digital Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310746140.9A priority Critical patent/CN104750734B/zh
Publication of CN104750734A publication Critical patent/CN104750734A/zh
Application granted granted Critical
Publication of CN104750734B publication Critical patent/CN104750734B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种基于线性支持向量机的分类方法及装置。本发明基于线性支持向量机的分类方法,包括:获取训练数据中各样本点的贡献值,所述贡献值表示所述样本点对获取线性支持向量机SVM模型的重要程度;根据所述各样本点的贡献值选取所述训练数据中部分样本点进行目标函数优化,确定所述线性SVM模型;根据所述线性SVM模型,预测对测试数据的分类结果。本发明实施例根据训练数据中各样本点对获得线性SVM的模型的贡献大小,确定子训练数据,并根据此子训练数据确定线性SVM的模型,加快线性SVM算法的收敛速度。

Description

基于线性支持向量机的分类方法及装置
技术领域
本发明实施例涉及数据处理技术,尤其涉及一种基于线性支持向量机的分类方法及装置。
背景技术
由于处理实际问题中分类效果的显著,支持向量机(Support Vector Machine,简称:SVM)被广泛的应用到现实生活中的各种分类问题,例如,SVM被用于图像识别,推荐系统或文本分类等。SVM包括线性SVM和非线性SVM,其中,相比于非线性SVM的求解需要O(N3)的时间复杂度(N表示训练数据的样本数量)来说,线性SVM的求解只需要O(N)的时间复杂度;且对于大部分海量高维稀疏数据的分类问题来说,线性SVM和非线性SVM的分类准确度相当,因此,线性SVM是处理海量高维稀疏数据分类问题的最常用的工具。
目前,线性SVM算法主要包括:(1)基于随机梯度下降(Stochastic GradientDescent,简称:SGD)的Pegasos开源软件包;(2)基于坐标下降(Dual Coordinate Descent,简称:DCD)方法解决SVM的对偶问题的Liblinear开源软件包。上述两种方法都是在线性的时间复杂度中训练得到线性SVM模型。但随着数据样本量和维度的大幅增加,其获取线性SVM模型的时间复杂度将成为线性SVM应用的一个瓶颈。
发明内容
本发明实施例提供一种基于线性支持向量机的分类方法及装置,以解决现有线性SVM算法收敛速度慢的问题。
第一方面,本发明实施例提供一种基于线性支持向量机的分类方法,包括:
获取训练数据中各样本点的贡献值,所述贡献值表示所述样本点对获取线性支持向量机SVM模型的重要程度;
根据所述各样本点的贡献值选取所述训练数据中部分样本点进行目标函数优化,确定所述线性SVM模型;
根据所述线性SVM模型,预测对测试数据的分类结果。
结合第一方面,在第一方面的第一种可能的实现方式中,所述获取训练数据中各样本点的贡献值,包括:
根据所述训练数据中各样本点和预设参数,获取所述训练数据中各样本点的贡献值。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据所述训练数据中各样本点和预设参数,获取所述训练数据中各样本点的贡献值,包括:
根据如下公式获取所述训练数据中各样本点的贡献值:
其中,为所述训练数据,(xi,yi)表示训练数据中的第i个样本点,xi是一长度为M的特征向量,yi∈{+1,-1}表示第i个样本点的标注信息,N为所述训练数据中的样本点个数;L(i)表示所述训练数据中各样本点的贡献值;w表示长度为M的迭代SVM模型,T表示转置;C为所述预设参数,αi为第i个样本点对应的迭代参数值,且公式满足条件:0≤αi+L(i)≤C。
结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述根据所述训练数据中各样本点和预设参数,获取所述训练数据中各样本点的贡献值,包括:
根据如下公式获取所述训练数据中各样本点的贡献值:
其中,为所述训练数据,(xi,yi)表示训练数据中的第i个样本点,xi是一长度为M的特征向量,yi∈{+1,-1}表示第i个样本点的标注信息,N为所述训练数据中的样本点个数;L(i)表示所述训练数据中各样本点的贡献值;T表示转置,Qi,:表示矩阵Q的第i行;α为长度N×1的向量,αi为第i个样本点对应的迭代参数值,且公式满足条件:0≤αi+d≤C,C为所述预设参数,
结合第一方面、第一方面的第一种至第三种可能的实现方式中的任意一种,在第一方面的第四种可能的实现方式中,所述根据所述各样本点的贡献值选取所述训练数据中部分样本点进行目标函数优化,确定所述线性SVM模型,包括:
根据所述各样本点的贡献值,选取所述训练数据中部分样本点作为子训练数据,并存储;
根据所述子训练数据进行目标函数优化,确定所述线性SVM模型。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述根据所述各样本点的贡献值,选取所述训练数据中部分样本点作为子训练数据,包括:
根据所述各样本点的贡献值,确定所述贡献值中绝对值大于预设值的样本点作为所述子训练数据。
结合第一方面的第四种可能的实现方式,在第一方面的第六种可能的实现方式中,所述根据所述各样本点的贡献值,选取所述训练数据中部分样本点作为子训练数据,包括:
根据所述各样本点的贡献值,确定所述各样本点贡献大小的权值;
抽样选取所述各样本点中部分样本点作为所述子训练数据。
结合第一方面、第一方面的第一种至第六种可能的实现方式中的任意一种,在第一方面的第七种可能的实现方式中,所述获取训练数据中各样本点的贡献值之前,所述方法还包括:
采用链表形式读取训练数据到内存中,其中,所述链表的每个节点通过索引和值的对应关系表示。
第二方面,本发明实施例提供一种基于线性支持向量机的分类装置,包括:
获取模块,用于获取训练数据中各样本点的贡献值,所述贡献值表示所述样本点对获取线性支持向量机SVM模型的重要程度;
训练模块,用于根据所述获取模块获取的所述各样本点的贡献值选取所述训练数据中部分样本点进行目标函数优化,确定所述线性SVM模型;
预测模块,用于根据所述训练模块确定的所述线性SVM模型,预测对测试数据的分类结果。
结合第二方面,在第二方面的第一种可能的实现方式中,所述获取模块用于:
根据所述训练数据中各样本点和预设参数,获取所述训练数据中各样本点的贡献值。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述获取模块具体用于:
根据如下公式获取所述训练数据中各样本点的贡献值:
其中,为所述训练数据,(xi,yi)表示训练数据中的第i个样本点,xi是一长度为M的特征向量,yi∈{+1,-1}表示第i个样本点的标注信息,N为所述训练数据中的样本点个数;L(i)表示所述训练数据中各样本点的贡献值;w表示长度为M的迭代SVM模型,T表示转置;C为所述预设参数,αi为第i个样本点对应的迭代参数值,且公式满足条件:0≤αi+L(i)≤C。
结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述获取模块具体用于:
根据如下公式获取所述训练数据中各样本点的贡献值:
其中,为所述训练数据,(xi,yi)表示训练数据中的第i个样本点,xi是一长度为M的特征向量,yi∈{+1,-1}表示第i个样本点的标注信息,N为所述训练数据中的样本点个数;L(i)表示所述训练数据中各样本点的贡献值;T表示转置,Qi,:表示矩阵Q的第i行;α为长度N×1的向量,αi为第i个样本点对应的迭代参数值,且公式满足条件:0≤αi+d≤C,C为所述预设参数,
结合第二方面、第二方面的第一种至第三种可能的实现方式中的任意一种,在第二方面的第四种可能的实现方式中,所述训练模块包括:
选取单元,用于根据所述获取模块获取的所述各样本点的贡献值,选取所述训练数据中部分样本点作为子训练数据,并存储;
训练单元,用于根据所述选取单元选取的所述子训练数据进行目标函数优化,确定所述线性SVM模型。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述选取单元具体用于:
根据所述获取模块获取的所述各样本点的贡献值,确定所述贡献值中绝对值大于预设值的样本点作为所述子训练数据。
结合第二方面的第四种可能的实现方式,在第二方面的第六种可能的实现方式中,所述选取单元具体用于:
根据所述获取模块获取的所述各样本点的贡献值,确定所述各样本点贡献大小的权值;
抽样选取所述各样本点中部分样本点作为所述子训练数据。
结合第二方面、第二方面的第一种至第六种可能的实现方式中的任意一种,在第二方面的第七种可能的实现方式中,所述获取模块还用于:
在所述获取训练数据中各样本点的贡献值之前,采用链表形式读取训练数据到内存中,其中,所述链表的每个节点通过索引和值的对应关系表示。
本发明实施例根据训练数据中各样本点对获得线性SVM的模型的贡献大小,选取该训练数据中部分样本点作为子训练数据,并根据此子训练数据进行目标函数优化,确定线性SVM的模型,加快线性SVM算法的收敛速度。本发明实施例为通用的数据分类方法,可应用于各种监督学习的场景中。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于线性支持向量机的分类方法实施例一的流程图;
图2为本发明基于线性支持向量机的分类方法实施例二中采用链表形式读取训练数据的示例图;
图3为本发明基于线性支持向量机的分类装置实施例一的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明基于线性支持向量机的分类方法实施例一的流程图。本发明实施例提供了一种基于线性支持向量机的分类方法,该方法可以由基于线性支持向量机的分类装置执行,该装置可以集成在终端设备中,其中,终端设备可以为个人计算机(PersonalComputer,以下简称:PC)、笔记本型计算机、掌上电脑(Personal Digital Assistant,简称:PDA)或平板计算机等任意终端设备,该装置可以通过或软件,或硬件,或软件和硬件相结合的方式实现。如图1所示,该方法包括:
S101、获取训练数据中各样本点的贡献值,该贡献值表示样本点对获取线性SVM模型的重要程度。
假设训练数据用表示,其中,(xi,yi)表示训练数据中的第i个样本点,xi是一长度为M的特征向量,yi∈{+1,-1}表示第i个样本点的标注信息,N为所述训练数据中的样本点个数。
现有技术中,通过在训练数据上求解如公式(1)的优化问题,获得线性SVM模型:
其中,w表示长度为M的线性SVM模型,第i个样本点的预测值可以用wTxi来表示,T表示转置;表示该线性SVM模型在训练数据上的损失函数,也就是合页损失(hinge loss);公式(1)中的wTw部分是为了提高线性SVM模型的泛化能力,防止训练得到的模型过拟合到训练数据上。参数λ用于控制损失函数与模型泛化之间的平衡。基于表示定理(Representer Theorem),公式(1)的最优解可以表示为
公式(1)是线性SVM算法的原始优化问题,在多数情况中,线性SVM算法实际上是求解公式(1)的对偶问题,如公式(2)所示:
其中,J(α)为目标函数;α为长度N×1的向量,αi为第i个样本点对应的迭代参数值,且公式(2)满足条件:0≤αi≤C,C为预设参数,e为长度N×1的单位向量。
对于求解公式(2),基于DCD方法的Liblinear开源软件包采用每次迭代只更新一个变量的策略,即在第i次迭代时,保持α中除αi外的所有变量不变,αN={α1,…,αN}\αi,只将αN中一个变量αi更新为αi+d,其中,d表示当前迭代αi所需要的改变量。因此,公式(2)可以简化为每次迭代仅优化一个变量αi的次问题。d的大小可以通过求解公式(3)来解决。
s.t.0≤αi+d≤C
公式(3)是关于变量d的二次优化问题,如公式(4)所示:
s.t.0≤αi+d≤C
其中,在线性SVM算法中,Qi,:表示矩阵Q的第i行;c表示常数;对公式(4)求关于变量d的偏导,可以得到关于d的偏导为:
Qiid+(yiwTxi-1) (5)
通过设定公式(6)等于0,可以得到公式(4)的最优解为这里还需要考虑公式(4)的约束条件0≤αi+d≤C,因此,最终公式(4)关于d的最优解可以表示为:
根据公式(6),得到每次迭代后的结果:
该实施例中,对读取到的训练数据,首先获取该训练数据中各样本点的贡献值;基于各样本点的贡献值,确定线性SVM模型。
S102、根据各样本点的贡献值选取训练数据中部分样本点进行目标函数优化,确定线性SVM模型。
具体地,在S101获得训练数据中各样本点的贡献值之后,根据各样本点的贡献值的大小,即对确定线性SVM模型的重要程度,选取该训练数据中部分样本点作为子训练数据,并存储;根据该子训练数据进行目标函数优化,确定线性SVM模型。
其中,在子训练数据中,按顺序扫描该子训练数据中的每个样本点。对于每一个样本点,可以通过公式(6)和公式(7)对线性SVM模型进行优化和更新。
每次迭代中,在进行上述更新后,判断当前迭代获得的线性SVM模型是否已经收敛,若收敛,结束迭代过程,输出线性SVM模型w;若不收敛,进入下一次迭代。其中,判断线性SVM模型是否已经收敛的方法有多种,此处不一一赘述,例如,一种简单且有效判断线性SVM模型是否收敛的方法为:计算如公式(8)所示的ε,将ε与预设值ζ(例如0.001)进行比较,若ε大于ζ,则认为线性SVM模型还未收敛;反之,则认为线性SVM模型已经收敛。
S103、根据线性SVM模型,预测对测试数据的分类结果。
该步骤中,首先读取测试数据;然后,根据上述获得的线性SVM模型,预测对测试数据的分类结果。其中,预测对测试数据的分类结果包括:计算预测值和输出预测结果。线性SVM算法的预测结果可以通过wTzk来计算,zk表示测试数据中的第k个样本点。在二类分类问题上,若wTzk>0,则预测结果为:+;反之,则预测结果为:-。
本发明实施例根据训练数据中各样本点对获得线性SVM的模型的贡献大小,选取该训练数据中部分样本点作为子训练数据,并根据此子训练数据进行目标函数优化,确定线性SVM的模型,加快线性SVM算法的收敛速度。本发明实施例为通用的数据分类方法,可应用于各种监督学习的场景中。
可选地,在获取训练数据中各样本点的贡献值之后,对训练数据中样本点基于贡献值进行排序从而决定扫描顺序。在训练数据量为N的情况下,对N个样本点进行全排列的时间复杂度为O(NlogN)。但在本发明实施例提供的线性SVM算法实现过程中,只需选取贡献值大的一小部分样本点,而无需对训练数据中的所有样本点都进行排序。
假设子训练数据中样本点个数为K,可以采用数组或堆的形式存储该子训练数据。通过利用堆数据结构的特点,选取K个样本点的时间复杂度可减低为O(NlogK),在训练数据中样本点个数极大的情况下,可有效较少运算时间;采用数组这种数据结构时,选取K个样本点的时间复杂度为O(NlogN)时间复杂度,在N值特别大的情况下,用数组这种数据结构的效率会比堆数据结构要低很多。
下面采用几个具体的实施例,对图1所示方法实施例的技术方案进行详细说明。
由于实际场景中的大数据多为稀疏格式,例如文本,应用下载日志和运动轨迹数据等,因此,本发明实施例中采用高效的存储形式处理该类稀疏数据,即只存储稀疏数据中的非零元素和提供辅助数据描述该非零元素的位置。可选的,采用链表形式读取训练数据到内存中,其中,链表的每个节点通过索引和值的对应关系表示。采用链表的形式存储样本点,链表上的每个节点由一个包括[索引:值](index:value)的结构体表示。例如,维度为10万的数据(在文本数据中,10万维的数据对应所用词典的每个单词),但该数据中仅第1维,第36维,第150维,第10003维有非零值,则该数据可用如图2所示的方式表示,可以大大节省内存的消耗。
在上述基础上,所述获取训练数据中各样本点的贡献值可以包括:根据训练数据中各样本点和预设参数,获取训练数据中各样本点的贡献值。
一种实现方式中,根据公式(9)获取训练数据中各样本点的贡献值:
其中,L(i)表示训练数据中各样本点的贡献值,且公式满足条件:0≤αi+J(i)≤C。可见,根据公式(9)获得的训练数据中各样本点的贡献值,与根据公式(6)获得的d相同。
若L(i)=0,表示当前样本点所对应的参数αi已经是最优解,无需更新;L(i)的绝对值越大,则表示当前样本点所对应的参数αi离最优解越远,因此,一种可行的评价样本点的重要程度的方案就是基于L(i)的绝对值。也就是说,样本点所对应的参数αi所需要的变化越大,该样本点越重要。则根据各样本点的贡献值,选取所述训练数据中部分样本点作为子训练数据可以包括:根据各样本点的贡献值,确定贡献值中绝对值大于预设值的样本点作为子训练数据,其中,预设值是根据需求预先设置的。
另一种实现方式中,对于求解公式(2),其目的是在符合约束条件0≤αi≤C,下,最小化J(α)。在按照DCD的思路来求解公式(2)时,对于当前一个样本点xi,在将其对应的参数αi更新到αi+d后,此步操作对于J(α)的降低值为因此,根据公式(10)获取训练数据中各样本点的贡献值:
根据公式(10)评价每个样本点的重要性,其基于的原理是,求解线性SVM模型的目的是最小化其对应的目标函数。若在优化过程中,对某个样本点的优化能够最大化减少目标函数的值,就认为该样本点重要。
在对训练数据进行排序和选取子训练数据方面,可以使用另外的一种实施方案,即根据各样本点的贡献值,选取所述训练数据中部分样本点进行目标函数优化子训练数据可以包括:根据各样本点的贡献值,确定各样本点贡献大小的权值;抽样选取上述各样本点中部分样本点作为子训练数据。
具体地,概率分布中,子训练数据中的每个样本点对应一个权值表示该样本点对于获取线性SVM模型的贡献大小,权值越大表示该样本点的贡献越大;然后按照此权值以随机抽样的方式从N个样本点中选取K个样本点作为子训练数据,且权值大的样本点被选取到的概率大于权值小的样本点被选取到的概率。采用概率分布的方式从N个样本点中选取K个样本点的时间复杂度为O(N)。
可选地,经迭代获得的线性SVM模型,可以将其以文本的形式输出到一个文件,该文件的文件名可以用“数据输入文件+_model”的形式来命名,例如,数据的输入文件为:webspam.txt,得到线性SVM模型可以命名为:webspam_model.txt,其中,文件名为该线性SVM模型的唯一识别标识。对于特别稀疏的线性SVM模型,可以使用在输出的文本上,将该线性SVM模型以[索引:值]的格式输出。
图3为本发明基于线性支持向量机的分类装置实施例一的结构示意图。该装置可以集成在终端设备中,其中,终端设备可以为个人计算机(Personal Computer,以下简称:PC)、笔记本型计算机、掌上电脑(Personal Digital Assistant,简称:PDA)或平板计算机等任意终端设备。如图3所示,本发明实施例中,基于线性支持向量机的分类装置包括获取模块31、训练模块32和预测模块33。
其中,获取模块31用于获取训练数据中各样本点的贡献值,该贡献值表示样本点对获取线性SVM模型的重要程度;训练模块32用于根据获取模块31获取的各样本点的贡献值选取训练数据中部分样本点进行目标函数优化,确定线性SVM模型;预测模块33用于根据训练模块32确定的线性SVM模型,预测对测试数据的分类结果。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在上述基础上,获取模块31可以用于:根据训练数据中各样本点和预设参数,获取该训练数据中各样本点的贡献值。
具体地,一种实现方式中,获取模块31可以具体用于:根据如下公式获取所述训练数据中各样本点的贡献值:
其中,为所述训练数据,(xi,yi)表示训练数据中的第i个样本点,xi是一长度为M的特征向量,yi∈{+1,-1}表示第i个样本点的标注信息,N为所述训练数据中的样本点个数;L(i)表示所述训练数据中各样本点的贡献值;w表示长度为M的迭代SVM模型,T表示转置;C为所述预设参数,αi为第i个样本点对应的迭代参数值,且公式满足条件:0≤αi+L(i)≤C。
另一种实现方式中,获取模块31可以具体用于:根据如下公式获取所述训练数据中各样本点的贡献值:
其中,为所述训练数据,(xi,yi)表示训练数据中的第i个样本点,xi是一长度为M的特征向量,yi∈{+1,-1}表示第i个样本点的标注信息,N为所述训练数据中的样本点个数;L(i)表示所述训练数据中各样本点的贡献值;T表示转置,Qi,:表示矩阵Q的第i行;α为长度N×1的向量,αi为第i个样本点对应的迭代参数值,且公式满足条件:0≤αi+d≤C,C为所述预设参数,
在上述基础上,训练模块32可以包括:选取单元和训练单元,其中,选取单元用于根据获取模块31获取的所述各样本点的贡献值,选取所述训练数据中部分样本点作为子训练数据,并存储;训练单元,用于根据选取单元选取的所述子训练数据进行目标函数优化,确定所述线性SVM模型。
可选地,选取单元可以具体用于:根据获取模块31获取的所述各样本点的贡献值,确定所述贡献值中绝对值大于预设值的样本点作为所述子训练数据。
可选地,选取单元可以具体用于:根据获取模块31获取的所述各样本点的贡献值,确定所述各样本点贡献大小的权值;抽样选取所述各样本点中部分样本点作为所述子训练数据。
进一步地,获取模块31还可以用于:在获取训练数据中各样本点的贡献值之前,采用链表形式读取训练数据到内存中,其中,所述链表的每个节点通过索引和值的对应关系表示。
本发明实施例中,基于线性支持向量机的分类装置根据训练数据中各样本点对获得线性SVM的模型的贡献大小,选取该训练数据中部分样本点作为子训练数据,并根据此子训练数据进行目标函数优化,确定线性SVM的模型,加快线性SVM算法的收敛速度;且本发明实施例为通用的数据分类装置,可应用于各种监督学习的场景中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (20)

1.一种基于线性支持向量机的分类方法,其特征在于,包括:
根据训练数据中各样本点和预设参数,获取所述训练数据中各样本点的贡献值,所述贡献值表示所述样本点对获取线性支持向量机SVM模型的重要程度;
根据所述各样本点的贡献值选取所述训练数据中部分样本点进行目标函数优化,确定所述线性SVM模型;
根据所述线性SVM模型,预测对测试数据的分类结果;
其中,所述根据所述训练数据中各样本点和预设参数,获取所述训练数据中各样本点的贡献值,包括:
根据如下公式获取所述训练数据中各样本点的贡献值:
<mrow> <mi>L</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>m</mi> <mi>i</mi> <mi>n</mi> <mo>{</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mo>&amp;lsqb;</mo> <mo>-</mo> <msub> <mi>&amp;alpha;</mi> <mi>i</mi> </msub> <mo>,</mo> <mo>-</mo> <mfrac> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>i</mi> </msub> <msup> <mi>w</mi> <mi>T</mi> </msup> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <msub> <mi>Q</mi> <mrow> <mi>i</mi> <mi>i</mi> </mrow> </msub> </mfrac> <mo>&amp;rsqb;</mo> <mo>,</mo> <mrow> <mo>(</mo> <mi>C</mi> <mo>-</mo> <msub> <mi>&amp;alpha;</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>}</mo> </mrow>
其中,为所述训练数据,(xi,yi)表示训练数据中的第i个样本点,xi是一长度为M的特征向量,yi∈{+1,-1}表示第i个样本点的标注信息,N为所述训练数据中的样本点个数;L(i)表示所述训练数据中各样本点的贡献值;w表示长度为M的迭代SVM模型,T表示转置;C为所述预设参数,αi为第i个样本点对应的迭代参数值,且公式满足条件:0≤αi+L(i)≤C。
2.根据权利要求1所述的方法,其特征在于,所述根据所述各样本点的贡献值选取所述训练数据中部分样本点进行目标函数优化,确定所述线性SVM模型,包括:
根据所述各样本点的贡献值,选取所述训练数据中部分样本点作为子训练数据,并存储;
根据所述子训练数据进行目标函数优化,确定所述线性SVM模型。
3.根据权利要求2所述的方法,其特征在于,所述根据所述各样本点的贡献值,选取所述训练数据中部分样本点作为子训练数据,包括:
根据所述各样本点的贡献值,确定所述贡献值中绝对值大于预设值的样本点作为所述子训练数据。
4.根据权利要求2所述的方法,其特征在于,所述根据所述各样本点的贡献值,选取所述训练数据中部分样本点作为子训练数据,包括:
根据所述各样本点的贡献值,确定所述各样本点贡献大小的权值;
抽样选取所述各样本点中部分样本点作为所述子训练数据。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述获取训练数据中各样本点的贡献值之前,所述方法还包括:
采用链表形式读取训练数据到内存中,其中,所述链表的每个节点通过索引和值的对应关系表示。
6.一种基于线性支持向量机的分类方法,其特征在于,包括:
根据训练数据中各样本点和预设参数,获取所述训练数据中各样本点的贡献值,所述贡献值表示所述样本点对获取线性支持向量机SVM模型的重要程度;
根据所述各样本点的贡献值选取所述训练数据中部分样本点进行目标函数优化,确定所述线性SVM模型;
根据所述线性SVM模型,预测对测试数据的分类结果;
其中,所述根据所述训练数据中各样本点和预设参数,获取所述训练数据中各样本点的贡献值,包括:
根据如下公式获取所述训练数据中各样本点的贡献值:
<mrow> <mi>L</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msub> <mi>Q</mi> <mrow> <mi>i</mi> <mi>i</mi> </mrow> </msub> <msup> <mi>d</mi> <mn>2</mn> </msup> <mo>+</mo> <mrow> <mo>(</mo> <msub> <mi>Q</mi> <mrow> <mi>i</mi> <mo>,</mo> <mo>:</mo> </mrow> </msub> <mi>&amp;alpha;</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mi>d</mi> </mrow>
其中,为所述训练数据,(xi,yi)表示训练数据中的第i个样本点,xi是一长度为M的特征向量,yi∈{+1,-1}表示第i个样本点的标注信息,N为所述训练数据中的样本点个数;L(i)表示所述训练数据中各样本点的贡献值;T表示转置,Qi,:表示矩阵Q的第i行;α为长度N×1的向量,αi为第i个样本点对应的迭代参数值,且公式满足条件:0≤αi+d≤C,C为所述预设参数,
7.根据权利要求6所述的方法,其特征在于,所述根据所述各样本点的贡献值选取所述训练数据中部分样本点进行目标函数优化,确定所述线性SVM模型,包括:
根据所述各样本点的贡献值,选取所述训练数据中部分样本点作为子训练数据,并存储;
根据所述子训练数据进行目标函数优化,确定所述线性SVM模型。
8.根据权利要求7所述的方法,其特征在于,所述根据所述各样本点的贡献值,选取所述训练数据中部分样本点作为子训练数据,包括:
根据所述各样本点的贡献值,确定所述贡献值中绝对值大于预设值的样本点作为所述子训练数据。
9.根据权利要求7所述的方法,其特征在于,所述根据所述各样本点的贡献值,选取所述训练数据中部分样本点作为子训练数据,包括:
根据所述各样本点的贡献值,确定所述各样本点贡献大小的权值;
抽样选取所述各样本点中部分样本点作为所述子训练数据。
10.根据权利要求6-9任一项所述的方法,其特征在于,所述获取训练数据中各样本点的贡献值之前,所述方法还包括:
采用链表形式读取训练数据到内存中,其中,所述链表的每个节点通过索引和值的对应关系表示。
11.一种基于线性支持向量机的分类装置,其特征在于,包括:
获取模块,用于根据训练数据中各样本点和预设参数,获取所述训练数据中各样本点的贡献值,所述贡献值表示所述样本点对获取线性支持向量机SVM模型的重要程度;
训练模块,用于根据所述获取模块获取的所述各样本点的贡献值选取所述训练数据中部分样本点进行目标函数优化,确定所述线性SVM模型;
预测模块,用于根据所述训练模块确定的所述线性SVM模型,预测对测试数据的分类结果;
其中,所述获取模块具体用于:
根据如下公式获取所述训练数据中各样本点的贡献值:
<mrow> <mi>L</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>m</mi> <mi>i</mi> <mi>n</mi> <mo>{</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mo>&amp;lsqb;</mo> <mo>-</mo> <msub> <mi>&amp;alpha;</mi> <mi>i</mi> </msub> <mo>,</mo> <mo>-</mo> <mfrac> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>i</mi> </msub> <msup> <mi>w</mi> <mi>T</mi> </msup> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <msub> <mi>Q</mi> <mrow> <mi>i</mi> <mi>i</mi> </mrow> </msub> </mfrac> <mo>&amp;rsqb;</mo> <mo>,</mo> <mrow> <mo>(</mo> <mi>C</mi> <mo>-</mo> <msub> <mi>&amp;alpha;</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>}</mo> </mrow>
其中,为所述训练数据,(xi,yi)表示训练数据中的第i个样本点,xi是一长度为M的特征向量,yi∈{+1,-1}表示第i个样本点的标注信息,N为所述训练数据中的样本点个数;L(i)表示所述训练数据中各样本点的贡献值;w表示长度为M的迭代SVM模型,T表示转置;C为所述预设参数,αi为第i个样本点对应的迭代参数值,且公式满足条件:0≤αi+L(i)≤C。
12.根据权利要求11所述的装置,其特征在于,所述训练模块包括:
选取单元,用于根据所述获取模块获取的所述各样本点的贡献值,选取所述训练数据中部分样本点作为子训练数据,并存储;
训练单元,用于根据所述选取单元选取的所述子训练数据进行目标函数优化,确定所述线性SVM模型。
13.根据权利要求12所述的装置,其特征在于,所述选取单元具体用于:
根据所述获取模块获取的所述各样本点的贡献值,确定所述贡献值中绝对值大于预设值的样本点作为所述子训练数据。
14.根据权利要求12所述的装置,其特征在于,所述选取单元具体用于:
根据所述获取模块获取的所述各样本点的贡献值,确定所述各样本点贡献大小的权值;
抽样选取所述各样本点中部分样本点作为所述子训练数据。
15.根据权利要求11-14任一项所述的装置,其特征在于,所述获取模块还用于:
在所述获取训练数据中各样本点的贡献值之前,采用链表形式读取训练数据到内存中,其中,所述链表的每个节点通过索引和值的对应关系表示。
16.一种基于线性支持向量机的分类装置,其特征在于,包括:
获取模块,用于根据训练数据中各样本点和预设参数,获取所述训练数据中各样本点的贡献值,所述贡献值表示所述样本点对获取线性支持向量机SVM模型的重要程度;
训练模块,用于根据所述获取模块获取的所述各样本点的贡献值选取所述训练数据中部分样本点进行目标函数优化,确定所述线性SVM模型;
预测模块,用于根据所述训练模块确定的所述线性SVM模型,预测对测试数据的分类结果;
所述获取模块具体用于:
根据如下公式获取所述训练数据中各样本点的贡献值:
<mrow> <mi>L</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msub> <mi>Q</mi> <mrow> <mi>i</mi> <mi>i</mi> </mrow> </msub> <msup> <mi>d</mi> <mn>2</mn> </msup> <mo>+</mo> <mrow> <mo>(</mo> <msub> <mi>Q</mi> <mrow> <mi>i</mi> <mo>,</mo> <mo>:</mo> </mrow> </msub> <mi>&amp;alpha;</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mi>d</mi> </mrow>
其中,为所述训练数据,(xi,yi)表示训练数据中的第i个样本点,xi是一长度为M的特征向量,yi∈{+1,-1}表示第i个样本点的标注信息,N为所述训练数据中的样本点个数;L(i)表示所述训练数据中各样本点的贡献值;T表示转置,Qi,:表示矩阵Q的第i行;α为长度N×1的向量,αi为第i个样本点对应的迭代参数值,且公式满足条件:0≤αi+d≤C,C为所述预设参数,
17.根据权利要求16所述的装置,其特征在于,所述训练模块包括:
选取单元,用于根据所述获取模块获取的所述各样本点的贡献值,选取所述训练数据中部分样本点作为子训练数据,并存储;
训练单元,用于根据所述选取单元选取的所述子训练数据进行目标函数优化,确定所述线性SVM模型。
18.根据权利要求17所述的装置,其特征在于,所述选取单元具体用于:
根据所述获取模块获取的所述各样本点的贡献值,确定所述贡献值中绝对值大于预设值的样本点作为所述子训练数据。
19.根据权利要求17所述的装置,其特征在于,所述选取单元具体用于:
根据所述获取模块获取的所述各样本点的贡献值,确定所述各样本点贡献大小的权值;
抽样选取所述各样本点中部分样本点作为所述子训练数据。
20.根据权利要求16-19任一项所述的装置,其特征在于,所述获取模块还用于:
在所述获取训练数据中各样本点的贡献值之前,采用链表形式读取训练数据到内存中,其中,所述链表的每个节点通过索引和值的对应关系表示。
CN201310746140.9A 2013-12-30 2013-12-30 基于线性支持向量机的分类方法及装置 Active CN104750734B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310746140.9A CN104750734B (zh) 2013-12-30 2013-12-30 基于线性支持向量机的分类方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310746140.9A CN104750734B (zh) 2013-12-30 2013-12-30 基于线性支持向量机的分类方法及装置

Publications (2)

Publication Number Publication Date
CN104750734A CN104750734A (zh) 2015-07-01
CN104750734B true CN104750734B (zh) 2018-05-11

Family

ID=53590433

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310746140.9A Active CN104750734B (zh) 2013-12-30 2013-12-30 基于线性支持向量机的分类方法及装置

Country Status (1)

Country Link
CN (1) CN104750734B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107886067B (zh) * 2017-11-07 2020-04-28 中国矿业大学 一种基于hiksvm分类器的多特征融合的行人检测方法
CN109961098B (zh) * 2019-03-22 2022-03-01 中国科学技术大学 一种机器学习的训练数据选择方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102072885A (zh) * 2010-12-06 2011-05-25 浙江大学 一种基于机器视觉的水稻穗颈瘟染病程度分级方法
CN102542283A (zh) * 2010-12-31 2012-07-04 北京工业大学 脑机接口的最优电极组自动选取方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5159368B2 (ja) * 2008-02-29 2013-03-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 変化分析システム、方法及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102072885A (zh) * 2010-12-06 2011-05-25 浙江大学 一种基于机器视觉的水稻穗颈瘟染病程度分级方法
CN102542283A (zh) * 2010-12-31 2012-07-04 北京工业大学 脑机接口的最优电极组自动选取方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于样本加权的支持向量机预测方法;贺波等;《火力与指挥控制》;20101130;第35卷(第11期);全文 *
支持向量机若干问题的研究;安金龙;《中国博士学位论文全文数据库(电子期刊)》;20050715;全文 *

Also Published As

Publication number Publication date
CN104750734A (zh) 2015-07-01

Similar Documents

Publication Publication Date Title
Rahman et al. Classifying non-functional requirements using RNN variants for quality software development
US11074412B1 (en) Machine learning classification system
KR20160084456A (ko) 머신 러닝에서의 가중치 생성
US20220067588A1 (en) Transforming a trained artificial intelligence model into a trustworthy artificial intelligence model
US20220092411A1 (en) Data prediction method based on generative adversarial network and apparatus implementing the same method
CN111783993A (zh) 智能标注方法、装置、智能平台及存储介质
CN107357895B (zh) 一种基于词袋模型的文本表示的处理方法
CN112380863A (zh) 一种基于多头自注意力机制的序列标注方法
US20230409908A1 (en) Method of and system for training machine learning algorithm for object classification
WO2014073206A1 (ja) 情報処理装置、及び、情報処理方法
US11507744B2 (en) Information processing apparatus, information processing method, and computer-readable recording medium
US11687712B2 (en) Lexical analysis training of convolutional neural network by windows of different lengths with matrix of semantic vectors
CN114048729A (zh) 医学文献评价方法、电子设备、存储介质和程序产品
CN111160000B (zh) 作文自动评分方法、装置终端设备及存储介质
CN115422324A (zh) 一种文本处理方法及设备
CN111259147A (zh) 基于自适应注意力机制的句子级情感预测方法及系统
CN109597982A (zh) 摘要文本识别方法及装置
CN104750734B (zh) 基于线性支持向量机的分类方法及装置
CN114925687A (zh) 一种基于动态词向量表征的中文作文评分方法及系统
CN116579327B (zh) 文本纠错模型训练方法、文本纠错方法、设备及存储介质
CN116932762A (zh) 一种小样本金融文本分类方法、系统、介质和设备
CN113139368B (zh) 一种文本编辑方法及系统
CN116306606A (zh) 一种基于增量学习的金融合同条款提取方法和系统
CN116257601A (zh) 一种基于深度学习的违法词库构建方法及系统
CN113761875B (zh) 事件抽取方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211221

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Patentee after: Super fusion Digital Technology Co.,Ltd.

Address before: Bantian HUAWEI headquarters office building, Longgang District, Shenzhen, Guangdong

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.