一种提高二分类支持向量机分类精度的方法

文档序号:6384347阅读:465来源:国知局
专利名称:一种提高二分类支持向量机分类精度的方法
技术领域
本发明属于分类技术及模式识别领域,具体涉及一种提高二分类支持向量机分类精度的方法。利用本发明方法可以筛选出训练样本中的最优维度,剔除训练样本集中的劣质训练样本,进而从源头上保证并提高了分类精度。
背景技术
支持向量机是上世纪90年代由Vapnik提出的一种全新的机器学习方法。得益于基于结构风险最小化的设计原理,相较之人工神经网络等传统机器学习方法,支持向量机具有更强的泛化能力。并且,支持向量机具有强大的小样本学习能力。因此,支持向量机自诞生起直到今天依然是一个十分热门的研究领域。支持向量机的原始目的是为了解决数据的分类问题,其关键在于核函数。通过选取合适的核函数,可以将训练样本映射到一个高维空间中。进一步地,通过在此高维空间中找到一个最优分类面,可以最大限度地将训练样本分类开来。所谓最大限度,是指能够保证最大概率地正确分类开来训练样本。从统计学的角度上来说,就是对于总数为N的训练样本,要求支持向量机正确识别的样本数量m尽可能地大,最优情况下m = N。其中,m/N的值被定义为分类精度。因此,如何提高支持向量机的分类精度,已经成为一个值得深入研究的课题。目前,已有部分相关文献或专利分别介绍了不 同的提高支持向量机分类精确度的方法。其中具有代表性的,如CN101599126A《利用全局互信息加权的支持向量机分类器》提出了一种利用全局互信息相关度来提高分类精度的方法;美国顾永等人(1. Guyon et al.,Mach. Learn. ,Vol. 46, pp. 389-422,2002)提出了一种迭代剔除不灵敏区间的支持向量机分类精度方法,进而提高了对肝癌细胞的识别精度。上述专利文献和论文所涉及的提高支持向量机的方法在各自的领域具有一定的代表性。

发明内容
本发明的目的在于提供一种普适性较强的提高二分类支持向量机分类精度的方法,该方法可以保证支持向量机的分类精度。本发明提供的一种提高二分类支持向量机分类精度的方法,该方法包括下述步骤第I步在待分类的样本空间中获取训练样本,每一类样本空间对应一个训练样本集合,每一个训练样本集合中的每一个样本描述为向量形式,设向量的长度为n,即训练样本具有n个维度;每一个训练样本集合具有P个训练样本,两个训练样本集合则有2p个训练样本;第2步利用训练样本集进行支持向量机训练,当支持向量机训练完毕,获取分类边界权系数向量W,其中W= [CO1, CO2,..., n],为一个维度为n的向量,其每一个向量分量对应于训练样本的一个维度上的数据;
第3步利用第2步中训练得到的支持向量机对训练样本集中的所有训练样本进行映射,根据映射结果统计出所有被错误识别的训练样本,这些被错误识别的训练样本组成一个错误样本集,该错误样本集被标记为I1 ;第4步按照向量w中的每一个分量的绝对值的大小对向量w中的每一个分量进行排序,向量分量的绝对值越大,其重要性越高;第5步找出向量w中重要性最小的的分量,剔除掉该最小分量对应的所有训练样本数据中那个维度上的数据,从而使所有训练样本的维度均减少到n-l ;第6步利用第4步中得到的维度为n-l的所有训练样本进行支持向量机训练,即重复第2步至第5步的过程,重复预先设定m次,即得到m个错误样本集,训练样本的维度减少到n-m ;第7步找出m个错误样本集中共同的错误训练样本,并从第6步中获得的所有n-m维训练样本中剔除掉这些错误训练样本;对剩余的训练样本进行支持向量机训练,该支持向量机即为最优支持向量机。本发明提出一种普适性较强的针对二分类支持向量机分类精度提高的方法。该方法在一定程度上挖掘了输入向量中的最优区间,剔除了输入向量中的不灵敏区间和对分类精度贡献度较小的训练样本,从而在源头上保证了支持向量机的分类精度。并且,该方法实现流程简单,操作方便。


图1是本发明实例的实现流程图;图2是二分类支持向量机对训练样本的分类示意图;图3是训练样本存储矩阵示意图;图4是错误分类样本集示意图。
具体实施例方式下面结合附图对本发明的具体实施方式
作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。支持向量机是一种广泛使用的用来处理分类问题的新方法。该方法的思想是利用核函数将待分类的样本映射到一个高维空间中,进而在高维空间中找寻一个最优分类面来分开两类(或多类)数据。常用的核函数包括线性核函数、径向基核函数等。如图2所示,两类待分类样本B和C被最优分类面A分隔开。支持向量机需要利用训练样本进行训练后获得,常用的训练方法包括最小二乘法、序列最小优化法等。本发明中采用线性核函数与最小二乘法来处理二分类中的精度提高问题。如图1所示,本发明涉及到的精度提高方法包括下述过程第I步在待分类的样本空间中获取训练样本,每一类样本空间对应一个训练样本集合,每一个训练样本集合中的每一个样本在数学上的描述为向量形式,并且向量的长度为n,即训练样本具有n个维度。每一个训练样本集合具有p个训练样本,两个训练样本集合则有2p个训练样本,即所有训练样本数为2p ;
训练样本集需要预先获取,训练样本集中含有多个训练样本。由于本发明面向对象为二分类问题,因此,有两个训练样本集,每一个训练样本集包含一类需要分类识别的样本,如图3所示图3中D、E两个矩阵分别代表两个训练样本集。以矩阵D为例,矩阵的每一行代表一个训练样本,本实例中训练样本有10个分量,S卩训练样本的维度n = 10 ;矩阵的行数代表训练样本集中的训练样本个数,本实例中有6个训练样本。因此,对于本实例中的二分类问题,每一类对应的训练样本集均包含6个训练样本。则所有训练样本数为12个。第2步利用训练样本集进行支持向量机训练,当支持向量机训练完毕,获取分类边界权系数向量W,其中W= [CO1, CO2,..., n],为一个维度为n的向量,其每一个向量分量对应于训练样本的一个维度上的数据。在本实例中,如第I步中所述,样本的维度为10,因此,分类边界权系数向量w具有10个分量,即W= [CO1, CO2,..., CO1J, W的每一个分量对应着所有训练样本同样维度上的值即W的第一个分量O1对应着所有训练样本第一个维度上的值,W的第二个分量CO2对应着所有训练样本第二个维度上的值,其他的以此类推。第3步利用第2步中训练得到的支持向量机对训练样本集中的所有训练样本进行映射,根据映射结果统计出所有被错误识别的训练样本,这些被错误识别的训练样本组成一个错误样本集,此处该错误样本集被标记为I1 ;训练完毕的支持向量机对所有训练样本进行识别后,有可能存在部分训练样本不能被正确地分类识别,这部分训练样本对于支持向量机的训练来说具有负面作用,因此需要进行剔除。为此,利用训练完毕的支持向量机对所有训练样本进行映射,找出被错误识别的训练样本,将这些训练样本组成错误训练样本集,并标记为1:。找出错误训练样本的目的,是在下一次训练支持向量机时在所有训练样本中剔除掉这些错误训练样本,进而在一定程度上提高了支持向量机的分类准确率。第4步按照向量w中的每一个分量的绝对值的大小对向量w中的每一个分量进行排序,向量分量的绝对值 越大,其重要性越高。本实例中,对分类边界权系数向量w = [(O1, O2, , O10]中的每一个分量按照其绝对值大小排序,绝对值越大,其重要性越高。第5步找出w中重要性最小的的分量,剔除掉该最小分量对应的所有训练样本数据中那个维度上的数据,从而使所有训练样本的维度均减少到n-l ;本实例中,分类边界权系数向量w = [(O1, W2, , W1J具有10个分量,每一个分量对应着所有训练样本同样维度上的值。假设的绝对值在10个分量中最小,则剔除掉该最小分量对应的所有训练样本数据中那个维度上的数据即当《2的绝对值最小时,剔除该最小分量对应的所有训练样本数据中第二个维度上的数据。如果是的绝对值在10个分量中最小,则剔除掉该最小分量对应的所有训练样本数据中第三个维度上的数据,其余以此类推。第6步利用第4步中得到的维度为n-l的所有训练样本进行支持向量机训练,即重复第2步至第5步的过程,重复m次(一般情况下,2 =<m< [n/2])。即一共可以得到m个错误样本集,训练样本的维度减少到n-m。在本实例中,取m = 2,即重复第2步至第5步两次,则一共可以得到两个错误样本集I1U2,训练样本的维度减少到10-2 = 8维。在每一次重复第2步至第5步时,都会剔除掉所有训练样本中的某一个维度,并且得到一个错误训练样本集,以此类推,重复第2步至第5步多少次,就可以得到多少个错误训练样本集,并且就可以剔除所有训练样本多少个维度。训练的次数m是由用户指定,一般情况下,m< [n/2]。第7步找出m个错误样本集中共同的错误训练样本,并从第6步中获得的所有n_m维训练样本中剔除掉这些错误训练样本。对剩余的训练样本进行支持向量机训练,该支持向量机即为最优支持向量机,从而保证了最优的分类精度。在本实例中,找出第6步中获得的两个错误样本集Ip I2中共同的错误样本,示意图如图4所示,其中F为所有的错误训练样本集,G为在所有错误训练样本集中找出的共同的错误训练样本。假设有3个,则在所有训练样本中剔除掉这3个共同的错误样本,即剩余12-3 = 9个训练样本。并且,由第6步可知,样本的维度减少为8维。接下来,将这9个维度为8的训练样本进行支持向量机训练,该支持向量机即为最优支持向量机,从而保证了最优的分类精度。本发明的内容适用于任何提高二分类支持向量机分类精度的领域。以上所述为本发明的较佳实施例而已,但本发明不应该局限于该实施例和附图所公开的内容。所以凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。
权利要求
1.一种提高二分类支持向量机分类精度的方法,该方法包括下述步骤 第I步在待分类的样本空间中获取训练样本,每一类样本空间对应一个训练样本集合,每一个训练样本集合中的每一个样本描述为向量形式,设向量的长度为n,即训练样本具有n个维度;每一个训练样本集合具有p个训练样本,两个训练样本集合则有2p个训练样本; 第2步利用训练样本集进行支持向量机训练,当支持向量机训练完毕,获取分类边界权系数向量W,其中w = [W1, W2, , COn],为一个维度为n的向量,其每一个向量分量对应于训练样本的一个维度上的数据; 第3步利用第2步中训练得到的支持向量机对训练样本集中的所有训练样本进行映射,根据映射结果统计出所有被错误识别的训练样本,这些被错误识别的训练样本组成一个错误样本集,该错误样本集被标记为I1 ; 第4步按照向量w中的每一个分量的绝对值的大小对向量w中的每一个分量进行排序,向量分量的绝对值越大,其重要性越高; 第5步找出向量w中重要性最小的的分量,剔除掉该最小分量对应的所有训练样本数据中那个维度上的数据,从而使所有训练样本的维度均减少到n-1 ; 第6步利用第4步中得到的维度为n-l的所有训练样本进行支持向量机训练,即重复第2步至第5步的过程,重复预先设定m次,即得到m个错误样本集,训练样本的维度减少至Ij n-m ; 第7步找出m个错误样本集中共同的错误训练样本,并从第6步中获得的所有n-m维训练样本中剔除掉这些错误训练样本;对剩余的训练样本进行支持向量机训练,该支持向量机即为最优支持向量机。
全文摘要
本发明公开了一种提高二分类支持向量机分类精度的方法,步骤为在待分类的样本空间中获取训练样本,得到2p个具有n个维度训练样本;利用训练样本集进行支持向量机训练,获取分类边界权系数向量w;利用支持向量机对所有训练样本进行映射,统计出所有被错误识别的训练样本集I1;按绝对值的大小对向量w中的每一个分量进行排序;找出排序最后的分量并剔除;重复m次,训练样本的维度减少到n-m;剔除掉这些错误训练样本;对剩余的训练样本进行支持向量机训练,该支持向量机即为最优支持向量机。本发明可以筛选出训练样本中的最优维度,剔除训练样本集中的劣质训练样本,进而从源头上保证并提高了分类精度。
文档编号G06K9/62GK103065154SQ201210544669
公开日2013年4月24日 申请日期2012年12月13日 优先权日2012年12月13日
发明者刘世元, 朱金龙, 张传维, 陈修国 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1