发明名称 一种适用于支持向量机训练的冗余数据约减方法
摘要 本发明公开一种适用于支持向量机训练的冗余数据约减方法,通过类最大最小距离方法对纯子类集合筛选,找到离支持向量机的分类面较远的纯子类并予以删除,得到集合上约减纯类集合后的纯子类子集合,对保留下来的可能存在支持向量的多个聚类,按照费歇尔判别率准则进一步将同一聚类的数据分成内层冗余数据和外层边界数据,只保留外层边界数据进行支持向量机的训练,从而有效消除同一类数据上的内部冗余数据,能在保持支持向量机分类精度的同时,大大减少海量数据上支持向量机训练所需时间,显著提升支持向量机训练的时间和空间效率,使之能够应对海量数据的分类训练问题。
申请公布号 CN102831432A 申请公布日期 2012.12.19
申请号 CN201210136985.1 申请日期 2012.05.07
申请人 江苏大学 发明人 沈项军;吴昊翔;蒋中秋;林琳;詹永照;杨鹤标
分类号 G06K9/62(2006.01)I 主分类号 G06K9/62(2006.01)I
代理机构 南京经纬专利商标代理有限公司 32200 代理人 楼高潮
主权项 1.一种适用于支持向量机训练的冗余数据约减方法,其特征是采用如下步骤:A、先将训练数据集合定义为<img file="DEST_PATH_IMAGE001.GIF" wi="320" he="26" />,<img file="163289DEST_PATH_IMAGE002.GIF" wi="25" he="25" />是n维实向量空间<img file="DEST_PATH_IMAGE003.GIF" wi="24" he="22" />上的数据对象,<img file="813582DEST_PATH_IMAGE004.GIF" wi="17" he="25" />是数据对象<img file="157975DEST_PATH_IMAGE002.GIF" wi="25" he="25" />的实际类别标签,共有N个数据对象,数据对象分别属于M个实际类别;然后利用K均值聚类方法将训练数据聚类成K个子类<img file="DEST_PATH_IMAGE005.GIF" wi="137" he="25" />,将K个子类分为所包含的数据对象为单一类别的纯子类集合<img file="328057DEST_PATH_IMAGE006.GIF" wi="214" he="26" />和子类所含数据对象为两个以上多个类别的混合子类<img file="DEST_PATH_IMAGE007.GIF" wi="182" he="25" />;最后将混合子类MC中每一个混合子类中的数据对象按照其所属实际类别再次划分为多个纯子类,最终分成L个纯子类<img file="286654DEST_PATH_IMAGE008.GIF" wi="170" he="25" />,得到R+L个纯子类集合<img file="DEST_PATH_IMAGE009.GIF" wi="105" he="20" />;B、通过类最大最小距离方法对纯子类集合UC筛选,找到离支持向量机的分类面较远的纯子类并予以删除,得到集合S上约减纯类集合后的纯子类子集合RS<sub>1</sub>,具体按以下步骤实现:1)计算集合S上每一个纯子类的聚类中心,对R+L个聚类中心及其对应的实际类别标签组成的集合使用支持向量机分类,得到M-1个近似分类面;2)从实际类别标签<img file="174976DEST_PATH_IMAGE010.GIF" wi="26" he="18" />=1开始,选择纯子类UMC中属于同一实际类别标签的若干子集合<img file="DEST_PATH_IMAGE011.GIF" wi="52" he="25" />,计算子集合<img file="244432DEST_PATH_IMAGE011.GIF" wi="52" he="25" />的某一子集的每一个数据对象到M-1个近似分类面的最近距离,以<img file="596916DEST_PATH_IMAGE011.GIF" wi="52" he="25" />中所有子集合的距离的极大值作为该实际类别标签LY的类最大距离;3)选取集合UC上所有实际类别标签均是LY的子集合<img file="539464DEST_PATH_IMAGE012.GIF" wi="177" he="26" />,H<sub>cj</sub>是纯子类个数;4)从cj=1开始,选取集合<img file="DEST_PATH_IMAGE013.GIF" wi="38" he="25" />中的一个纯子类<img file="915082DEST_PATH_IMAGE014.GIF" wi="28" he="26" />,计算<img file="601278DEST_PATH_IMAGE014.GIF" wi="28" he="26" />中每一个数据对象到M-1个近似分类面的最近距离作为该数据对象到M-1个近似分类面的距离,选取所有数据对象到近似分类面的极小值作为纯子类<img file="995219DEST_PATH_IMAGE014.GIF" wi="28" he="26" />到近似分类面的距离;5)将cj递增1,并重复步骤4)直到cj=<img file="DEST_PATH_IMAGE015.GIF" wi="26" he="26" />+1;6)将LY递增1,选择下一个实际类别标签,转到步骤2)继续执行,直到LY=M+1; 7)返回剩余子类及其所含数据集合,集合UC上最终保留H个纯子类,剩余子类共有H+L个纯子类; C、使用费歇尔判别法对纯子类集合RS<sub>1</sub>去除子类内层冗余数据,得到最终数据集合RS<sub>2</sub>,具体按以下步骤实现:1)从di=1子类开始,选取集合RS<sub>1</sub>中的一个子类为<img file="108669DEST_PATH_IMAGE016.GIF" wi="34" he="26" />,计算<img file="971582DEST_PATH_IMAGE016.GIF" wi="34" he="26" />中每一个数据对象到该类的聚类中心G<sub>di</sub>的距离并排序得到对应的数据对象集合为<img file="DEST_PATH_IMAGE017.GIF" wi="173" he="26" />;2)统计小于该数据对象到聚类中心距离内的数据对象个数,得到该数据对象到聚类中心距离上的数据密度集合为<img file="382841DEST_PATH_IMAGE018.GIF" wi="178" he="26" />;3)设置参数d=1,LD=I<sub>m</sub>,B<sub>min</sub>=1,B<sub>max</sub>=m<sub>di</sub>,I<sub>m</sub>=m+1; 4)若d&lt;LD,执行下一步骤5);否则跳转到步骤9);5)计算当前步长<img file="DEST_PATH_IMAGE019.GIF" wi="168" he="57" />;6)在以<img file="709917DEST_PATH_IMAGE020.GIF" wi="48" he="26" />到<img file="DEST_PATH_IMAGE021.GIF" wi="49" he="26" />距离范围内的数据密度子集中,以SL为步长计算对应距离上的数据密度集合Den的费歇尔判别率值<img file="666372DEST_PATH_IMAGE022.GIF" wi="144" he="26" />;<img file="DEST_PATH_IMAGE023.GIF" wi="137" he="25" />;在第k个步长上,将数据密度集合Den在<img file="265849DEST_PATH_IMAGE020.GIF" wi="48" he="26" />到<img file="293848DEST_PATH_IMAGE021.GIF" wi="49" he="26" />距离上分成<img file="475431DEST_PATH_IMAGE024.GIF" wi="177" he="26" />和<img file="DEST_PATH_IMAGE025.GIF" wi="177" he="26" />两个子集;得到第gk个步长上,将数据密度集合Den分成V和T两个子集后得费歇尔判别率的值<img file="868366DEST_PATH_IMAGE026.GIF" wi="100" he="49" />;<img file="DEST_PATH_IMAGE027.GIF" wi="18" he="25" />是子集合V上数据密度的均值,<img file="689560DEST_PATH_IMAGE028.GIF" wi="18" he="25" />是子集合V上数据密度的均方差;<img file="DEST_PATH_IMAGE029.GIF" wi="17" he="25" />是集合T上数据密度的均值,<img file="193354DEST_PATH_IMAGE030.GIF" wi="17" he="25" />是集合T上数据密度的均方差;7) 选取值F上最大的两个费歇尔判别率值,得到其所对应的排序距离,将这两个排序距离的位置分别赋给B<sub>min</sub>和B<sub>max</sub>;8)将d递增1,并跳转到步骤4);9)以当前排序距离<img file="495022DEST_PATH_IMAGE021.GIF" wi="49" he="26" />为阈值,删除数据对象<img file="308127DEST_PATH_IMAGE016.GIF" wi="34" he="26" />中所有到该类聚类中心距离小于<img file="429666DEST_PATH_IMAGE021.GIF" wi="49" he="26" />的数据对象;10)将di递增1,并跳转到步骤1),处理集合RS<sub>1</sub>中的下一个子类,直到di=H+L+1;11)将剩余的数据组成集合<img file="DEST_PATH_IMAGE031.GIF" wi="90" he="25" />。
地址 212013 江苏省镇江市京口区学府路301号