适用于支持向量机训练的不平衡样本加权方法

文档序号:6639623阅读:221来源:国知局
适用于支持向量机训练的不平衡样本加权方法
【专利摘要】本发明主要用于人工智能领域,涉及一种适用于支持向量机训练的不平衡样本加权方法。本发明利用聚类和费歇尔判别率准则对冗余数据约减,然后计算约减后的数据样本到模糊分类面的距离,根据这个距离来赋予相应的权值,然后用这些加权后的数据样本进行支持向量机的训练。本发明针对传统的支持向量机在处理大数据集或不平衡数据样本上仍有需要改进和提高的地方,本发明就提出了一种新的算法,在已约减的大样本数据上再进行相应的加权,以此来用于支持向量机的训练学习,不仅提高了支持向量机的训练速度,而且还提高了其分类精度,这对于大样本的数据集的分类是大有裨益的。
【专利说明】适用于支持向量机训练的不平衡样本加权方法

【技术领域】
[0001] 本发明主要用于人工智能领域,尤其是模式识别方面的技术,涉及基于聚类和费 歇尔判别率的冗余数据约减以及对不平衡样本进行加权的方法,特别是一种适用于支持向 量机训练的不平衡样本加权方法。

【背景技术】
[0002] 数据分类一直是模式识别等人工智能领域的重要应用分支,被大量使用在字符识 另IJ、人脸检测识别等方面。现在已有的多种分类技术有判决树方法,神经网络方法以及支持 向量机方法等,支持向量机方法因其科学的统计学习的理论基础,逐渐的发展成为当前使 用最普遍、分类效果最为突出的分类器。针对大量的不平衡的数据样本的分类,传统的支持 向量机不能得到很好的分类性能,支持向量机的学习速度太慢,于是研宄学者们提出了一 些方法,主要分为两类:1.将原二次规划问题分解成若干子二次规划问题。例如由Cortes 和Vapnik提出的分块算法(Chunking),Osuna提出的分解算法,以及Platt提出的序列最 小化(Sequential Minimal Optimization,简称SM0)算法和由Keerthi等人提出的改进之 后的SMO算法等。2.从原大样本数据集中选择一小部分具有代表性的样本参与训练学习, 以此来减少训练样本点数量。例如Lee和Mangasarian提出来的利用随机采样技术对训练 数据集进行随机采样的约减SVM(即RSVM)的方法以及Tsang等人提出的对最小封闭球取 样的中心向量机算法等。尽管以上算法在一定程度上加快了支持向量机的训练速度,但在 处理现实世界中的不平衡数据集时,因其选择的具有代表性的子样本集并不能准确代表原 始样本集的分布情况,且对所有参与训练的样本数据都采用了相同的权重进行学习,致使 分类精度有所降低。所以如何提升对不平衡数据集训练的分类性能得到了关注,Lin等人在 2002年提出了一种模糊支持向量机(即Fuzzy SVM,FSVM)算法,该算法为所有样本都设置 了一个模糊隶属度值,使得各个样本对最优分类面的训练的贡献程度不同;Wu和Wang提出 了一种依据样本数据到由随机选择的样本子集训练得到的最优分类面的距离为样本加权 的策略,该方法旨在反映每个样本的重要性和改进支持向量机训练过程;Nguyen,Phung和 Bouzerdoum提出了结合无监督学习和有监督学习,只使用所有的聚类中心作为训练支持向 量机的样本,并用与各个聚类中心所属类样本数量成比例和所属聚类样本数量成比例的两 种策略为训练样本加权。
[0003] 虽然上面提到的算法在传统支持向量机方法上做了很大的改进,在处理大数据和 不平衡数据上体现了各自的优势,但忽视了训练数据集中只有处于最终的分类决策面附近 的外层数据样本才可能成为支持向量,而其余的样本大多在训练支持向量机的时候起到的 作用很微小或者没有,为这些实际意义可以忽略的的冗余数据进行加权是一种空间和时间 上的浪费。本文从冗余数据约减和为不平衡样本数据分配不同的权重的角度出发,提出了 一种新的算法,旨在提高支持向量机对不平衡大数据集的训练速度和分类精度。


【发明内容】

[0004] 本发明所要解决技术问题是,提供一种能够提高支持向量机的训练速度,并能提 高其分类精度,有利于大样本数据集分类的适用于支持向量机训练的不平衡样本加权方 法。
[0005] 本发明适用于支持向量机训练的不平衡样本加权方法如下:
[0006] 步骤一:设训练样本数据为 TD= {(屯山)I Cli ER1UiE {l,...,S},i = l,...,N}; 屯是η维实向量空间Rn上的样本数据对象,L i是样本数据对象d i的类别标签;训练样本 数据集合TD中共有N个样本数据对象,这些样本数据对象分属于S个类别;用K均值聚 类算法将训练样本集中N个样本数据对象数据聚类成K个子类,所得子类为T = {T。I c = 1,...,K};根据得到的K个子类中样本数据对象相应的类别分布情况,将这K个子类分为样 本数据对象只含一种类别的纯子类UT = Iutj I j = 1,...,P,1彡P彡K}和包含两种或以上 类别的混合子类MT = Imtq I q = I,. . .,K-P},K是UT和MT的并集,即有K = UT U MT。将 MT中每个混合子类中的样本数据对象按其相应类别再划分为多个纯子类,第a个混合子类 MTa有两个类别的样本数据对象,将其再分为两个纯子类,设K-P个混合子类中还有WC个纯 子类即UMT = {umtb I b = 1,. . .,WC},这样最终得到P+W个纯子类集合X = UT U UMT。
[0007] 步骤二:计算集合X上每个纯子类的聚类中心,设X集合上第g个纯子集的样本数 据集合为{d g,h|h = 1,. . .,m},dg,h为训练样本数据集合TD经聚类后在X集合的第g个子 集上的样本数据,设该类样本有m个样本数据对象且每个样本数据对象的类别标签都是S h, m 则聚类中心Gh=' Σ?/λ,通过X集合上P+WC个聚类中心及相应的类别标签组成集合GS = h^l {(Ge,Se) |Se e {1,...,S},e = 1,...P+WC},然后使用Iibsvm来训练这些类中心,从而得 到相应的模糊分类面f(x) = wTx+C,X是模糊分类面上的支持向量,w是根据训练得到的模 糊分类面上支持向量的权重,c是偏移量;当f(x)>〇时,表示样本数据对象属于某一类,当 f(x)〈〇时,则属于另一类,f(x) = 0时,则表示无法判断样本数据对象属于任何一类;支持 向量机被设计为两类问题的分类,当样本有S个类别时,采用一对一的两两分类训练得到 S (S-I)/2个模糊分类面,对任意一类样本集合,其模糊分类面都为S-I个。
[0008] 步骤三:考虑到UMT集合比较靠近分类面,所以其纯子类包含支持向量的概率较 大,而由K均值(K-Means)聚类得到的纯子类集合UT-般距离分类面较远,其包含支持向 量的概率较小。本发明采用类最大最小距离方法对纯子类集合UT进行遴选,从其中找到离 分类面较远的某些纯子类,将这些纯子类看作是不包含支持向量的,删除这些子类以减少 集合X中所包含的对训练作用不大的样本数据,得到集合X上约减纯类集合后的子集RX^
[0009] 步骤四:利用费歇尔判别法对遴选后得到的纯子类集合RX1继续消除子类内层冗 余数据,得到样本数据集RX 2,假设1?2中剩下了 M个子类集合。
[0010] 步骤五:计算步骤四当中的样本数据集1?2中各个数据对象到模糊分类面的距离 Clisi,然后依照样本加权公式Vi= (1+dis O' i = 1,. . .,M ;其中\^是相应的权值,z是经 过试验后得到的一个取值在1. 0-1. 2之间的一个变量;对1?2中剩下的M个子类中所有的数 据对象根据到模糊分类面的远近分配相应的权值V i,经过加权之后的样本数据集合1?2最 后变为我们最终用来训练的样本数据集RX3。
[0011] 步骤六:对最后保留下来的样本数据集RX3进行SVM训练,就可以得到最终的支持 向量。
[0012] 其中步骤三中从集合X上得到约减的纯子类集合RX1S程如下:
[0013] Al:从类别标签SY = 1开始,选择UMT中属于同一类别标签的若干子集合,UMTsy =={umtxi|xi = 1,...,Xxi}表示该子集合中所有样本数据对象的类别标签均为SY ;计算 子集合的某个子集如Umtxi中每个样本数据对象到步骤二中得到的S-I个模糊分类面的最 近距离;设子集合Umt xi中的第Z个样本数据对象为d xi, z,其到模糊分类面的最近距离为 |^11乃〇?公)11,其中||:^。((1!£:^)||是样本数据对象(1!£:^到第」〇个模糊分类面的距离,||¥| 是权重W的距离,本发明使用的距离都是欧式距离 % ,w# η维向量W的第Q个 NI Kg=I 分量,取Umtxi*全部样本数据对象到模糊分类面的极大值作该类别标签SY的类最大距离, 设该距离为DistMaxSY;
[0014] A2:对于纯子类集合UT,选择该集合里所有类别标签均为SY的子集合,UTsy = {utti|ti = 1,· ··,HtJ,设该子集合上有Hti个纯子类,从ti = 1开始,选取集合UTSY>f的一 个纯子类Utti,计算该子类中每一个样本数据对象到S-I个模糊分类面的距离,选取所有样 本数据对象中到模糊分类面距离的极小值作为该子类到模糊分类面的距离记为DistMin ti; 此时如判断DistMinti>DistMaxSY,说明^^子集合中纯子类ut ti所包含的样本数据距离模 糊分类面远,则舍弃Utti,否则应该保留Ut ti;
[0015] A3:使ti递增1,并重复A2直到ti =Hti+l,表明集合UTsy中所有的子集都已完 成约减的过程;
[0016] A4 :将SY递增,然后选择下一个类别标签从Al开始继续执行,直到SY = S+1,表 明集合UT中所有子集都已完成约减的过程;
[0017] A5:返回剩余子类和其包含的样本数据集合,设UT中保留了 F个纯子类,则最终的 样本集合包含F+W个纯子类,S卩有RX1= {ut ^ . . .,utF, Umt1, . . .,umtw}。
[0018] 步骤四中利用费歇尔判别法对遴选后的纯子类集合RX1进一步消除子类内层冗余 数据,得到样本数据集RX 2的过程如下:
[0019] BI JAsi= 1开始,选取集合RX1中的一个子类,选择第S A子类为RXisi和其 相应的样本数据对象集合TDsi,计算该子类中每个样本对象到该类的聚类中心G si的距离 并排序,设该类样本数据对象有mSi个,得到第S i个子类排序后的距离集合为{dis dx I dx = 1,. . .,mSi},了心按照次距离进行排序后所对应的样本数据对象集为STD si= {std f I e = I,· · ·,rns i};
[0020] B2:以每个排序的样本数据对象作为参照,记录小于该样本数据对象到聚类中心 距离内的样本数据对象的个数,得到该样本数据对象到聚类中心距离上的样本密度,设排 序对象stduiSi,其密度为denSui=U1^^,该子类上所有样本数据对象的样本数据密度集 合为 Dens = {densui I ui = 1,· · ·,mSi};
[0021 ] B3 :设参数A = 1,AD = In,Dmin= I,D max= m si,AD为迭代的次数,In是设走值,子 类中样本数据量越大,In越大出^和Dniax规定了样本数据密度集合Dens上应用费歇尔判 别率的取值范围,即在dis Dmin到disDmax距离范围内的样本数据密度子集中计算费歇尔判别 率的值;
[0022] B4 :若A〈AD,则表明迭代没有结束,继续执行B5,否则转到B8 ;
[0023] B5 :确定当前步长len,其中1en ?在disDmin到dis DmJ?离范围内 (Dmax ~ Dmin +1)奶-入 的样本数据密度子集中,以Ien计算对应距离上的样本数据密度集合Dens的费歇尔判别率 值Fis= {f gi |gi = l,...,J},J= (Dmax-Dmin)/Ien,在第q个步长上,将样本数据密度集合 Dens在disDmin到dis DmaJii离上分成两个子集合,分别为B = {dens i,· · ·,densD-giH^J和 C = {densDmin+gi*len,…,densmSi},根据费歇尔判别率 fgi= ( μ「μ j)2/( δ「δ J2,其中 μ i 是集合B上样本数据密度的均值,Si是集合B上样本数据密度的均方差,μ是集合C上 样本数据密度的均值,P是集合C上样本数据密度的均方差,f gi是第gi个步长上将样本 数据密度集合Dens分成B和C两个子集后得到的费歇尔判别率的值;
[0024] B6 :选择集合Fis上最大的两个费歇尔判别率的值,得到其对应的排序距离,设为 dismi,dismj,设mi〈mj,将这两个排序距离的位置mi和mj各自赋给Dmil^P Dmax;
[0025] B7 :使A递增1,然后转到继续从B4开始执行;
[0026] B8 :将当前排序距离disDmax阀值,去掉样本数据集合RXlsi中所有列到该聚类中 心距离小于dis DmaJ^样本数据对象,保留排序距离集合RD Si= {dis Dmax,. . .,dismi};
[0027] B9 :使Si递增1,然后跳转到B2继续处理RX i中下一个子类,直到S i = F+W+l,表 明所有的子类处理完毕;
[0028] BlO :将余下的样本数据集记作RX2= {RD Si}。
[0029] 本发明针对传统的支持向量机在处理大数据集或不平衡数据样本上仍有需要改 进和提高的地方,本发明就提出了一种新的算法,在已约减的大样本数据上再进行相应的 加权,以此来用于支持向量机的训练学习,不仅提高了支持向量机的训练速度,而且还提高 了其分类精度,这对于大样本的数据集的分类是大有裨益的。

【专利附图】

【附图说明】
[0030] 图1是本发明实施例经过步骤一得到的样本数据分布图;
[0031] 图2是本发明实施例经过步骤二,三约减冗余子类后的样本数据分布图;
[0032] 图3是本发明实施例经过步骤四得到约减子类内部数据的数据示意图;
[0033] 图4是本发明实施例经过步骤五,六后得到约减后经过加权的数据并经过训练得 到最终分类面的示意图。

【具体实施方式】
[0034] 根据上面的具体步骤,结合图1-3,下面给出本发明的一个具体的实施示例。
[0035] 图1是经过步骤一进行K均值聚类,令K = 6,可得到6个子类,该样本数据表示的 是两种类别的数据,其中正方形代表一类,圆形代表另一类。T = ITi I i = 1,...,6},某一类 别的数据使用椭圆虚线包围。对应得到的6个子类,按照其含数据对象相对应的类别的分 布情况,将这6个子类分为仅包含单一类别的纯子类记作UT= {T2, T4, T5, T6}和子类包含两 个或以上多个类别的混合子类MT = {1\,Τ3}。将MT中每个混合子类进一步划分为多个纯子 类,记作 UMT = {T1A,T1B,T3A,T3B},得到 8 个纯子类记集合 X = {T2, T4, T5, T6, T1A,T1B,T3A,T3B} 〇
[0036] 图2代表使用步骤二,三对集合X进行约减冗余子类后的结果图:
[0037] Al :计算集合X上每个纯子类的聚类中心,在图2中用三角形代表。利用集合X 上得到的7个聚类中心及集合X上纯子类所对应的类别记作{(C1A,I) (C1B,2) (C2, I) (C4, 2) (C5, 2) (C3A,I) (C3B,2)},(^表示集合X上第i个子类的聚类中心,I代表正方形样本数据,2 代表圆形样本数据。然后对这些样本数据使用LIBSVM工具训练得到模糊分类面。在图2 里,用实直线表示该模糊分类面,图2中两条虚直线附近的聚类中心则代表到模糊分类面 最近的支撑向量。因为样本数据只有两类,所以对任意类别的样本数据,得出的分类面只有 1个。
[0038] A2 :从类别标签SY= 1开始,即为正方形的数据子集,选取UMT中属于同一类别标 签的SY的子集合,在图2中为UMT1= {T 1A,T3J,再计算每子集Tia和T 3A中每个数据对象到 模糊分类面的最近距离,选取子集Tia和T 3A中所有数据对象到模糊分类面的极大值记作该 子集的距离。然后以Tia和T 3A中距离的极大值作为UMT 1类的类最大距离,假设该距离在图 2 中为 DistMaxltj
[0039] A3 :在纯子类集合UT中,选取类别标签也为SY的子集合,即选取集合UT1= {T2} 即为正方形数据的子集。
[0040] Α4:从子类T2开始,计算子类1~2中每个数据对象到模糊分类面的距离,然后选择全 部数据对象到模糊分类面距离的极小值作为子类T 2到模糊分类面的距离,不妨设该距离为 DistMinT2。由于DistMinT2〈DiStMax1,则表示子类T 2中可能存在支持向量,那么就保留子类 T2。
[0041] A5 :由于^\中只有一个子类,所以继续使SY加1,选取下一个类别标签,此时SY =2,代表圆形的数据子集,转到A2继续执行,直到SY = 3为止。
[0042] 经过以上处理,我们弃掉了距离模糊分类面较远的T6子类,然后得到了剩余子类 及其所含样本数据集合 RX1, RX1= {T 2, T4, T5, T1A,T1B,T3A,T3B} 〇
[0043] 图3代表使用了步骤四进一步约减子类中内部冗余数据。在图3中,RX1*每个子 类删除的内层冗余数据用实线圆圈出。实线圆和虚线椭圆之间包含的数据为约减后的剩余 数据集RX 2。
[0044] 其中,使用步骤四对RX1集合进一步去除子类内层冗余数据,得到待加权的数据集 RX2的过程如下:
[0045] Bl :从集合RX1的子类T 2开始,计算该子类T 2中每个数据对象到该子类的聚类中 心的距离di Sdx。在图3中,子类1~2有25个数据对象,对这些距离进行排序,得到第子类T 2排 序后的距离集合记作{disdx|dx= 1,. ..,25}和对应的数据对象集合记作STDsi= {stdeSl |e 1,···,25}〇
[0046] Β2:以每个排序的数据对象为参考,统计不大于该数据对象到聚类中心距离的数 据对象个数,从而计算出该数据对象到聚类中心距离上的数据密度。子类T 2的数据密度集 合为 Dens = {densui I ui = 1,. . .,25} 〇
[0047] B3 :可以设定参数A = 1,AD = In, Dmin= 1,Dmax= msi。鉴于图3的子类数据较少, 故可设置AD = 2,即只迭代一次。msi是子类所拥有数据对象的个数,在T 2中,该数值为25, 表示对该子类中所有数据密度集合计算其费歇尔判别率值。
[0048] B4 :如果A〈AD,则表明迭代没有结束,继续执行步骤B5 ;否则跳转到步骤I。 -| _ Dmax-Dmin+1
[0049] B5 :确定当前步长len,其中1en 因为图3的数据量小,len = 1。 (Dmax- Drnin+1) AD-A 在diSftnilJlj diSltaax距离范围内的样本数据密度子集中,以Ien计算对应距离上的样本数据 密度集合Dens的费歇尔判别率值Fis = {fgi I gi = 1,. . .,J}在子类1~2中J = 24。
[0050] B6 :选择集合Fis上最大的两个费歇尔判别率的值,得到其对应的排序距离,假设 为dismi,dis mj (设mi〈mj),将这两个排序距离的位置mi和mj各自赋给Dmil^P Dmax。
[0051] B7:使A加1,然后跳到过程M继续执行。
[0052] B8 :以当前排序距离disDmax为阈值,去掉数据对象集合RXisi中全部到该子类聚类 中心距离小于dis Dmax的数据对象。在图3中,每个子类中实圆圈内的数据对象即为要去掉 的数据对象,那些在实线圆和虚线椭圆之间的数据对象即为子类该保留下来的数据对象。
[0053] B9 :跳转到步骤B1,处理集合RX1中的下一个子类1\,直到所有子类都已处理完 毕。
[0054] BlO :将保留下来的数据集合组成集合RX2, RX2= {T 2", T4",T5",T1A",T1B",T 3A",T3B" }作为要用来加权的数据集合。
[0055] 在图4中,经过步骤五,六对RX2的数据集中的所有数据对象根据到模糊分类面的 距离分配相应的权值V i,得到加权之后的数据集RX3,并使用RX3数据集训练得到的最终分 类面用直线表示。
[0056] 其中,步骤五中对数据集RX3进行加权的策略如下:
[0057] Cl :从Si= 1开始,计算数据集RX 2中第S i个子类T 2"中所有的数据对象到模糊 分类面的距离{disdx |dx= 1,...,11}和对应的数据对象集合记作STDsi= {stdeSl |e = 1,. . .,11}。此时T2"中的数据对象为11个。
[0058] C2 :依照子类T2"中所有的数据对象到模糊分类面的距离Clisdj^值排序,根据样 本加权公式V i= (l+disdxrz,dx= 1,...,M,赋予相应的权值Vp
[0059] C3:然后使SiW 1,继续继续处理RX2中下一个子类,直到所有的子类加权完毕,即 可得到最终的数据集rx3。
[0060] 表一原始数据
[0061]

【权利要求】
1. 一种适用于支持向量机训练的不平衡样本加权方法,其特征是:步骤如下: 步骤一:设训练样本数据为TD= {(屯山)IdiER1UiE{l,...,s},i= 1,···,Ν}Wi 是η维实向量空间Rn上的样本数据对象,Li是样本数据对象di的类别标签;训练样本数据 集合TD中共有N个样本数据对象,这些样本数据对象分属于S个类别;用K均值聚类算法将 训练样本集中N个样本数据对象数据聚类成K个子类,所得子类为T=ITcJc= 1,...,K}; 根据得到的K个子类中样本数据对象相应的类别分布情况,将这K个子类分为样本数据对 象只含一种类别的纯子类UT=IutjIj= 1,...,Ρ,1彡P彡Κ}和包含两种或以上类别的 混合子类MT=ImtqIq= 1,…,K-P},K是UT和MT的并集,即有K=UTUMT;将MT中每 个混合子类中的样本数据对象按其相应类别再划分为多个纯子类,第a个混合子类]\0;有 两个类别的样本数据对象,就将其再分为两个纯子类,设K-P个混合子类中还有WC个纯子 类即UMT= {umtbIb= 1,. . .,WC},最终得到P+W个纯子类集合X=UTUUMT; 步骤二:计算集合X上每个纯子类的聚类中心,设X集合上第g个纯子集的样本数据 集合为{dg,h|h= 1,. . .,m},dg,h为训练样本数据集合TD经聚类后在X集合的第g个子集 上的样本数据,设该类样本有m个样本数据对象且每个样本数据对象的类别标签都是Sh, m 则聚类中心Gh=^Σ&,通过X集合上P+WC个聚类中心及相应的类别标签组成集合GS= {(Ge,Se)|See{1,...,S},e= 1,...P+WC},然后使用Iibsvm来训练这些类中心,从而得 到相应的模糊分类面f(x) =wTx+C,X是模糊分类面上的支持向量,w是根据训练得到的模 糊分类面上支持向量的权重,c是偏移量;当f(x)>〇时,表示样本数据对象属于某一类,当 f(x)〈〇时,则属于另一类,f(x) =O时,则表示无法判断样本数据对象属于任何一类;支持 向量机被设计为两类问题的分类,当样本有S个类别时,采用一对一的两两分类训练得到 S(S-I)/2个模糊分类面,对任意一类样本集合,其模糊分类面都为S-I个; 步骤三:采用类最大最小距离方法对纯子类集合UT进行遴选,从其中找到离分类面较 远的某些纯子类,将这些纯子类看作是不包含支持向量的,删除这些子类以减少集合X中 所包含的对训练作用不大的样本数据,得到集合X上约减纯类集合后的子集RX1; 步骤四:利用费歇尔判别法对遴选后得到的纯子类集合RX1继续消除子类内层冗余数 据,得到样本数据集RX2,假设1?2中剩下了M个子类集合; 步骤五:计算步骤四当中的样本数据集1?2中各个数据对象到模糊分类面的距离disi, 然后依照样本加权公式\= (1+disΟΛi= 1,. ..,M;其中\^是相应的权值,z是经过试验 后得到的一个取值在1. 0-1. 2之间的一个变量;对1?2中剩下的M个子类中所有的数据对 象根据到模糊分类面的远近分配相应的权值Vi,经过加权之后的样本数据集合RX2最后变 为最终用来训练的样本数据集RX3; 步骤六:对最后保留下来的样本数据集RX3进行SVM训练,就可以得到最终的支持向 量。
2. 根据权利要求1所述的适用于支持向量机训练的不平衡样本加权方法,其特征是: 其步骤三中从集合X上得到约减的纯子类集合RX1S程如下: Al:从类别标签SY= 1开始,选择UMT中属于同一类别标签的若干子集合,UMTsy = =Iumtxi|xi= 1,...,Xxi}表示该子集合中所有样本数据对象的类别标签均为SY;计算子 集合的某个子集如umtxi中每个样本数据对象到步骤二中得到的S-I个模糊分类面的最 近距离;设子集合Umtxi中的第Z个样本数据对象为dxi, z,其到模糊分类面的最近距离为 ^ΙΙ./)(Μ^?)ΙΙ,其中I|fj()(dxi,z)II是样本数据对象dxi,z到第j〇个模糊分类面的距离,I|w| 是权重W的距离,使用的距离都是欧式距离IMI' ,%是η维向量W的第Q个分量, 取umtxi*全部样本数据对象到模糊分类面的极大值作该类别标签SY的类最大距离,设该 距离为DistMaxSY; A2:对于纯子类集合UT,选择该集合里所有类别标签均为SY的子集合,UTsy={uttiIti=1,...,HtJ,设该子集合上有Hti个纯子类,从ti= 1开始,选取集合UTsy中的一个纯子 类Utti,计算该子类中每一个样本数据对象到S-I个模糊分类面的距离,选取所有样本数据 对象中到模糊分类面距离的极小值作为该子类到模糊分类面的距离记为DistMinti;此时 如判断DistMinti>DistMaxSY,说明^^子集合中纯子类uttiK包含的样本数据距离模糊分 类面远,则舍弃Utti,否则应该保留Utti; A3 :使ti递增1,并重复A2直到ti=Hti+1,表明集合UTsy中所有的子集都已完成约 减的过程; A4 :将SY递增,然后选择下一个类别标签从Al开始继续执行,直到SY=S+1,表明集 合UT中所有子集都已完成约减的过程; A5 :返回剩余子类和其包含的样本数据集合,设UT中保留了F个纯子类,则最终的样本 集合包含F+W个纯子类,即有RX1={utp…,utF,Umt1,…,umtw}。
3.根据权利要求1所述的适用于支持向量机训练的不平衡样本加权方法,其特征是: 步骤四中利用费歇尔判别法对遴选后的纯子类集合!《^进一步消除子类内层冗余数据,得 到样本数据集RX2的过程如下: BIJASi= 1开始,选取集合RX1中的一个子类,选择第Sif子类为RXisi和其相应的样 本数据对象集合TDsi,计算该子类中每个样本对象到该类的聚类中心Gsi的距离并排序,设 该类样本数据对象有mSi个,得到第Si个子类排序后的距离集合为{disdxIdx= 1,. . .,mSi}, 了^按照次距离进行排序后所对应的样本数据对象集为STDsi={stdeSiIe= 1,· · ·,mSi}; B2 :以每个排序的样本数据对象作为参照,记录小于该样本数据对象到聚类中心距离 内的样本数据对象的个数,得到该样本数据对象到聚类中心距离上的样本密度,设排序对 象stduiSi,其密度为densul=ui一:""2.,该子类上所有样本数据对象的样本数据密度集合为 Dens= {densuiIui= 1,…,mSi}; B3 :设参数A= 1,AD=In,Dmin= 1,Dmax=mSi,AD为迭代的次数,1"是设定值,子类中 样本数据量越大,In越大Aniil^PDniax规定了样本数据密度集合Dens上应用费歇尔判别率 的取值范围,即在disDmin到disDmax距离范围内的样本数据密度子集中计算费歇尔判别率的 值; B4 :若A〈AD,则表明迭代没有结束,继续执行B5,否则转到B8 ; Ipn= Dmax - Dmin +1 B5 :确定当前步长len,其中 ·在disDmin到disDmJ?离范围内的 (Dmax-Dmin+"AD-A 样本数据密度子集中,以Ien计算对应距离上的样本数据密度集合Dens的费歇尔判别率 值Fis={fgi|gi=l,...,J},J= (Dmax-Dmin)/Ien,在第q个步长上,将样本数据密度集合 Dens在disDmin到disDmaJii离上分成两个子集合,分别为B={densi,· · ·,densD-giH^J和 C= {densDmin+gi*len,…,densmSi},根据费歇尔判别率fgi= (μ「μj)2/(δ「δJ2,其中μi 是集合B上样本数据密度的均值,Si是集合B上样本数据密度的均方差,μ」是集合C上 样本数据密度的均值,h是集合C上样本数据密度的均方差,fgi是第gi个步长上将样本 数据密度集合Dens分成B和C两个子集后得到的费歇尔判别率的值; B6 :选择集合Fis上最大的两个费歇尔判别率的值,得到其对应的排序距离,设为dismi,dismj,设mi〈mj,将这两个排序距离的位置mi和mj各自赋给Dmil^PDmax; B7 :使A递增1,然后转到继续从B4开始执行; B8 :将当前排序距离disDmax阀值,去掉样本数据集合RXisi中所有列到该聚类中心距 离小于disDma;^样本数据对象,保留排序距离集合RDSi={disDmax,. . .,dismi}; B9 :使Si递增1,然后跳转到B2继续处理RXi中下一个子类,直到Si=F+W+l,表明所 有的子类处理完毕; BlO:将余下的样本数据集记作RX2={RDSi}。
【文档编号】G06K9/62GK104463221SQ201410803911
【公开日】2015年3月25日 申请日期:2014年12月22日 优先权日:2014年12月22日
【发明者】彭长生, 沈项军, 蔡炜 申请人:江苏科海智能系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1