融合Boost模型的非平衡数据自适应采样方法与流程

文档序号:11387301阅读:259来源:国知局
融合Boost模型的非平衡数据自适应采样方法与流程

技术领域
:本发明属于大数据处理
技术领域
,具体涉及一种融合boost模型的非平衡数据自适应采样方法。
背景技术
::目前,针对不平衡数据的处理已经成为大数据处理
技术领域
中的一个热门研究主题。不平衡数据在研究与实际工作中往往难以避免,如医学大数据、征信大数据、智能商业金融数据等等。而由于不平衡数据的类别样本比例悬殊性,高维度数据的畸变性,导致了可用类别的信息在样本结构和特征维度两个层面被大类别信息掩盖,使得之后的数据挖掘往往难以学习到目标信息。为优化数据分布,学术界着重研究欠采样以及过采样技术,以图利用采样技术缩减大类样本或者扩充小类样本。其中主要技术是:smote采样技术以及其衍生算法、更多的融合算法。smote及其衍生等各钟传统的数据合成方式,虽然能有效生成小类样本,但是其存在几个主要的不足之处是1:将数据合成作为单独的过程考虑,仅基于距离进行数据生成,有一定盲目性;2:对各类特征等同看待,使得主要特征被冗余特征干扰;3:算法目的单一,导致更复杂的数据冗余情况;4:生成的数据往往难以契合之后的识别要求,需要反复的随机测试。李克文、杨磊等人发表的论文“基于rsboost算法的不平衡数据分类方法”(计算机科学,2015,tp181)中公开了一种将smote采样和boost模型相结合进行不平衡数据集分类的方法。该方法首先使用smote算法增加少数类的数量后在保持数据分布的情况下对整数数据集进行随机欠采样,再与adaboost算法相结合对数据进行分类;其将采样和分类作为串行的步骤,先用smote算法增加少数类的数量再随机采样从而减少数据集的规模,以增加模型识别精度的同时保证模型训练速度。但是此算法只是算法的拼接,将smote算法加入到boost模型的训练之前,以图调整数据分布和规模后使用boost模型来提升分类准确度,其没有从根本上解决不平衡数据采样中存在的盲目性和重复性问题,同时不能规避传统smote算法的诸多不足。虽然其采用adaboost模型有一定可取之处,但是针对不平衡数据采样的盲目将导致数据性能的天花板。胡小生,温菊屏等发表的论文“动态平衡采样的不平衡数据集成分类方法”(智能系统学报,2016,tp181)中提出一种动态平衡数据采样与boosting技术相结合的不平衡数据集成分类算法。其将smote算法嵌入到boosting模型学习的每一次迭代中,即每次迭代初始,综合使用随机欠采样和smote过采样技术平衡规模的训练数据,然后进行相应子模型的训练,最后将所有子模型组合投票进行。该方法虽然一定程度上将采样融合到模型训练中,有效提高了模型的分类准确度,但是,仍然存在的不足之处是,该方法本质上并没有涉及到对于采样技术的优化,而采样技术的性能瓶颈正是目前解决不平衡问题的关键所在。该方法依然停留在传统采样技术的弊端上,得到的实际效果并没有很大提高。技术实现要素::本发明所要解决的技术问题在于克服现有的技术缺陷,提供一种融合boost模型的非平衡数据自适应采样方法,将模型对数据的认知加入到采样中,提升了采样过程中对于小类样本的偏重,同时结合权重特征空间的位置关系,强化了数据生成的准确度以及适应性,有针对地提升了平衡化后数据的性能,同时有效解决了传统采样技术对特征信息的破坏以及在高维数据上的不适用问题。本发明所要解决的技术问题采用以下的技术方案来实现:采用boost模型学习当前数据,取得模型评分与特征权重;使用当前模型评分对特征权重进行更新;使用当前模型判定数据集中的pure数据集合、danger数据集合和noise数据集合;结合特征权重进行数据位置度量,获取数据近邻,同时判定基于加权特征空间距离的pure数据集合、danger数据集合和noise数据集合;将模型判定的三类数据集合和特征空间距离判定的三类数据集合相结合,生成小类样本同时去除大类样本;将新数据集加入模型学习。重复以上过程直至满足自定义类别样本占比,或者各类样本数量基本稳定,则提前停止。其具体步骤如下:(1)算法初始化,即t=0情况(1a)boost模型初始化,即依据数据规模设定boost参数;(1b)特征权重初始化为等权重;(1c)数据特征类别初始化f,分为连续型特征和离散型特征;(1d)自定义各类别数据目标占比;(2)第t次迭代,训练boost树模型,然后获取特征权重与当前模型的f-score评分,同时取得模型定义的pure、danger、noise数据集合;(2a)采用boost树模型,用预定义参数以及当前数据进行模型的训练;(2b)完成模型训练后,采用weightedf-score对模型进行评分,得到当前模型的相应评分,同时获取当前模型对特征重要性的评分,最终结合第t-1次迭代的特征权重,完成特征权重的更新;(2c)利用第t-1次和第t次模型的评分差,进行算法退出与否的判断,具体为:若模型的评分有较大下降则退出算法;(2d)利用模型对当前数据集进行预测,分别取得danger数据集、pure数据集和noise数据集,分别定义如下:pure数据集:判别正确且判断概率高于预定义阈值的样本点集合;danger数据集:判定概率小于预定义阈值的样本点集合;noise数据集:判错且判定概率大于预定义阈值的样本点集合;(3)计算样本点在加权特征空间的位置关系,并依据距离位置关系定义danger、pure、noise数据集合;(3a)利用(2)中更新得到的特征权重,计算数据集在此加权特征空间中的距离;主要方法为:对于连续型特征计算加权欧氏距离,对于离散型特征采用函数f进行计算,其中f定义为两个样本点特征值于同类样本对应特征中数值占比之差;(3b)使用(3a)中的距离度量方式,获取样本点之间的相应位置关系,并基于此位置关系定义danger数据集、pure数据集和noise数据集,分别为:pure数据集:样本点的m个相邻样本点均与其同类;danger数据集:样本点的m个相邻样本点有与其不同类;noise数据集:样本点的m个相邻样本点小于与其不同类;(4)将(2)和(3)中分别得到的danger数据集、pure数据集和noise数据集进行融合,形成待删除样本点集合和用于生成新样例的样本点集合;(4a)采用集合运算的方式将(2)和(3)中得到的三类数据集分别进行融合,得到pure融合集、danger融合集以及noise融合集,分别定义如下:pure融合集:样本点同属于模型定义pure集和加权特征空间定义pure集;danger融合集:样本点不属于模型定义danger集,而属于加权特征空间定义danger集;noise融合集:样本点属于模型定义noise集或者属于加权特征空间定义noise集;(4b)完成上述融合方式后,利用融合数据集合生成待删除数据集以及待生成新样本点的数据集,分别定义如下:pure删除集:属于pure融合集,且标签属于大类的样本点;noise删除集:属于noise融合集,且标签属于大类的样本点;repeat删除集:于加权特征空间中重叠的所有样本点;pure创建集:属于pure融合集且类标签属于小类的样本点;danger创建集:属于danger融合集,且标签属于小类的样本点;(4c)由上述四个数据集出发,进行大类冗余数据的删除以及新数据的合成;根据当前情况,从现有数据集中删除包含在repeat数据集中的所有样本点,并依据一定规则从现有数据集中删除pure删除集和noise删除集中存在的样本点;同时,由pure创建集和danger创建集中创建新的样本点,具体办法为:对于创建集中每一个样本点,取得其加权特征空间的近邻,利用此样本点和其各个近邻进行新样本点的生成;生成新样本点时,对不同类型特征做不同的处理,对于数值型特征直接取两样本点的均值,对于目录型特征依据同类样本当前特征值出现概率选择两样本点特征值其一;(4d)为防止新生成样本点过于密集导致之后数据整体性能的下降,在4(c)中使用两个样本点创建新样本时,计算二者在加权特征空间中的距离;待新样本点集合生成完毕后,按照每个样本点对应的合成距离进行排序,选取对应距离最大的前一半新合成数据作为创建数据集加入到原数据集中;(5)判断是否结束算法迭代,即判定各个类别是否满足预期样本数量,方法为:对于每一个类别计数其对应样本数量,若一定程度上满足预期数量,则将此类加入已符合要求类集合中,所有类均加入到此集合中时,则停止迭代,退出算法;或者当所有类中样本当前数量稳定基本不再变化,则停止迭代,退出算法,否则执行(2),跳转到第t+1次迭代过程;还包括以下步骤:a.加权特征空间的思想;使用模型学习当前数据后得到的特征评分作为数据特征的权重,度量数据在此加权特征空间的位置关系;b.步骤(2)和步骤(3)中的boost模型认知数据后定义数据集和加权特征空间定义数据集,具体为:boost模型学习数据后,按(2d)定义三类样本集,基于boost模型特征评分的加权特征空间,按(3a)度量距离,然后按3(b)定义三类样本集;c.步骤(4)中的多信息定义数据集的融合与多类型采样集的生成;对boost模型定义三类数据集和加权特征空间定义三类数据集的融合,从而得到各类样本删除集与样本创建集,具体为:将boost模型与加权特征空间定义的pure、danger、noise样本集,按4(a)中所述进行相应融合,之后按照4(b)中所述分别得到各类删除集与创建集;d.新样本集合创建方式;由待创建样本集中样本点生成新的样本点时采用特征类型相关的合成方式,在新样本集合生成完毕后,使用样本合成距离进行排序,选取合成距离大的一半作为新创建数据集加入到原数据集中;e.算法整体上采用模型信息和特征空间信息融合的方式进行迭代采样,具体为:每一次迭代,进行模型对数据的学习和数据在加权特征空间位置关系的度量,结合当前信息指导采样,这样不断整合信息进行迭代采样,最终完成算法。本发明的有益效果为:1、由于本发明将boost模型的学习与不均衡数据的采样作为一个整体进行处理,使得模型对样本的学习和采样互为补充,即模型学习到现有样本的实际情况,为采样提供数据中各类别的可学习情况与具体样本点属性,指导采样的进行,而采样所得新数据集提升模型的学习效果,二者作为一个整体反复迭代直至最优或者目标数据集。2、使用当前boost模型对特征进行评分,利用此特征评分作为权重度量样本点在加权特征空间的位置关系,在高维数据中往往无关特征权重极小甚至为0,克服了冗余特征的干扰,同时降低数据维度,有利于样本点位置关系的度量。3、在前述基础上,本发明同时基于模型定义数据和加权特征空间位置关系定义数据,融合后形成多个不同角度的数据集,从而多角度获取当前数据信息以引导非平衡数据集的采样,克服了采样的盲目性,使得采样数据能不断补充和优化当前数据集。4、本发明融合了传统采样技术的优势,即加强并优化了smote及其衍生算法对小类的过采样能力,同时兼顾了欠采样技术和数据清理技术对冗余、重复数据的清理能力,使得算法在提高数据丰富度的同时,兼顾了数据的可识别度与精简度。进一步地,本发明针对不同类型特征做出不同的处理,使得生成的新数据保持了原有数据特征的固有性质,同时又丰富了各类别样本的信息含量,在保持特征属性的同时极大提升数据性能。附图说明:图1为本发明的流程图;图2为二维原始数据分布图;图3为三维原始数据分布图;图4为传统经典算法smote进行平衡性调整之后的二维数据分布图;图5为传统经典算法smote进行平衡性调整之后的三维数据分布图;图6为传统经典算法smote-borderline平衡性调整之后的二维数据分布图;图7为传统经典算法smote-borderline平衡性调整之后的三维数据分布图;图8为本发明算法平衡后的二维数据分布图;图9为本发明算法平衡后的三维数据分布图。具体实施方式:为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。采用boost模型学习当前数据,取得模型评分与特征权重;使用当前模型评分对特征权重进行更新;使用当前模型判定数据集中的pure数据集合、danger数据集合和noise数据集合;结合特征权重进行数据位置度量,获取数据近邻,同时判定基于加权特征空间距离的pure数据集合、danger数据集合和noise数据集合;将模型判定的三类数据集合和特征空间距离判定的三类数据集合相结合,生成小类样本同时去除大类样本;将新数据集加入模型学习。重复以上过程直至满足自定义类别样本占比,或者各类样本数量基本稳定,则提前停止。其具体步骤如下:(1)算法初始化,即t=0情况(1a)boost模型初始化,即依据数据规模设定boost参数;(1b)特征权重初始化为等权重;(1c)数据特征类别初始化f,分为连续型特征和离散型特征;(1d)自定义各类别数据目标占比;(2)第t次迭代,训练boost树模型,然后获取特征权重与当前模型的f-score评分,同时取得模型定义的pure、danger、noise数据集合;(2a)采用boost树模型,用预定义参数以及当前数据进行模型的训练;(2b)完成模型训练后,采用weightedf-score对模型进行评分,得到当前模型的相应评分,同时获取当前模型对特征重要性的评分,最终结合第t-1次迭代的特征权重,完成特征权重的更新;(2c)利用第t-1次和第t次模型的评分差,进行算法退出与否的判断,具体为:若模型的评分有较大下降则退出算法;(2d)利用模型对当前数据集进行预测,分别取得danger数据集、pure数据集和noise数据集,分别定义如下:pure数据集:判别正确且判断概率高于预定义阈值的样本点集合;danger数据集:判定概率小于预定义阈值的样本点集合;noise数据集:判错且判定概率大于预定义阈值的样本点集合;(3)计算样本点在加权特征空间的位置关系,并依据距离位置关系定义danger、pure、noise数据集合;(3a)利用(2)中更新得到的特征权重,计算数据集在此加权特征空间中的距离;主要方法为:对于连续型特征计算加权欧氏距离,对于离散型特征采用函数f进行计算,其中f定义为两个样本点特征值于同类样本对应特征中数值占比之差;(3b)使用(3a)中的距离度量方式,获取样本点之间的相应位置关系,并基于此位置关系定义danger数据集、pure数据集和noise数据集,分别为:pure数据集:样本点的m个相邻样本点均与其同类;danger数据集:样本点的m个相邻样本点有与其不同类;noise数据集:样本点的m个相邻样本点小于与其不同类;(4)将(2)和(3)中分别得到的danger数据集、pure数据集和noise数据集进行融合,形成待删除样本点集合和用于生成新样例的样本点集合;(4a)采用集合运算的方式将(2)和(3)中得到的三类数据集分别进行融合,得到pure融合集、danger融合集以及noise融合集,分别定义如下:pure融合集:样本点同属于模型定义pure集和加权特征空间定义pure集;danger融合集:样本点不属于模型定义danger集,而属于加权特征空间定义danger集;noise融合集:样本点属于模型定义noise集或者属于加权特征空间定义noise集;(4b)完成上述融合方式后,利用融合数据集合生成待删除数据集以及待生成新样本点的数据集,分别定义如下:pure删除集:属于pure融合集,且标签属于大类的样本点;noise删除集:属于noise融合集,且标签属于大类的样本点;repeat删除集:于加权特征空间中重叠的所有样本点;pure创建集:属于pure融合集且类标签属于小类的样本点;danger创建集:属于danger融合集,且标签属于小类的样本点;(4c)由上述四个数据集出发,进行大类冗余数据的删除以及新数据的合成;根据当前情况,从现有数据集中删除包含在repeat数据集中的所有样本点,并依据一定规则从现有数据集中删除pure删除集和noise删除集中存在的样本点;同时,由pure创建集和danger创建集中创建新的样本点,具体办法为:对于创建集中每一个样本点,取得其加权特征空间的近邻,利用此样本点和其各个近邻进行新样本点的生成;生成新样本点时,对不同类型特征做不同的处理,对于数值型特征直接取两样本点的均值,对于目录型特征依据同类样本当前特征值出现概率选择两样本点特征值其一;(4d)为防止新生成样本点过于密集导致之后数据整体性能的下降,在4(c)中使用两个样本点创建新样本时,计算二者在加权特征空间中的距离;待新样本点集合生成完毕后,按照每个样本点对应的合成距离进行排序,选取对应距离最大的前一半新合成数据作为创建数据集加入到原数据集中;(5)判断是否结束算法迭代,即判定各个类别是否满足预期样本数量,方法为:对于每一个类别计数其对应样本数量,若一定程度上满足预期数量,则将此类加入已符合要求类集合中,所有类均加入到此集合中时,则停止迭代,退出算法;或者当所有类中样本当前数量稳定基本不再变化,则停止迭代,退出算法,否则执行(2),跳转到第t+1次迭代过程;还包括以下步骤:a.加权特征空间的思想;使用模型学习当前数据后得到的特征评分作为数据特征的权重,度量数据在此加权特征空间的位置关系;b.步骤(2)和步骤(3)中的boost模型认知数据后定义数据集和加权特征空间定义数据集,具体为:boost模型学习数据后,按(2d)定义三类样本集,基于boost模型特征评分的加权特征空间,按(3a)度量距离,然后按3(b)定义三类样本集;c.步骤(4)中的多信息定义数据集的融合与多类型采样集的生成;对boost模型定义三类数据集和加权特征空间定义三类数据集的融合,从而得到各类样本删除集与样本创建集,具体为:将boost模型与加权特征空间定义的pure、danger、noise样本集,按4(a)中所述进行相应融合,之后按照4(b)中所述分别得到各类删除集与创建集;d.新样本集合创建方式;由待创建样本集中样本点生成新的样本点时采用特征类型相关的合成方式,在新样本集合生成完毕后,使用样本合成距离进行排序,选取合成距离大的一半作为新创建数据集加入到原数据集中;e.算法整体上采用模型信息和特征空间信息融合的方式进行迭代采样,具体为:每一次迭代,进行模型对数据的学习和数据在加权特征空间位置关系的度量,结合当前信息指导采样,这样不断整合信息进行迭代采样,最终完成算法。结合附图,对实现本发明的检验仿真描述如下。本发明可以通过以下仿真进一步说明:1:仿真条件本发明仿真的硬件环境是:cpuamdathlon(tm)ⅱx2280processor3.50ghz,8gb内存;软件环境:ubuntu14.04,sublime3;数据集:数据集名称样本总量各类样本数量特征维度随机生成样本1200:1001:25二维随机生成样本1800:1501:30三维germam数据集10001:7002:30020维2.仿真内容和结果分析:仿真1.通过随机生成样本的方式,生成附图2、3中的二维仿真数据集和三维仿真数据集,其中二维仿真数据集类0和类1之比为:4:1,三维仿真数据集类0和类1之比为5:1。针对当前数据集,使用本文所述算法进行数据平衡性的调整,同时使用经典算法进行调整,完成对比。仿真实验1的结果如图2-9所示,附图2-9图像的类0样本标为“圆点系”,类1样本标为“三角形系”,同时在三维数据中,x,y轴均为数值化特征,z轴为离散化特征。图4、5为smote平衡后的数据分布图,图6、7的smote-borderline平衡后的数据分布图,本发明算法平衡后的数据分布图为图8、9;对比可以观察到,本发明算法优点为1.扩充小类样本点的同时,滤去合成样本中的重复样本,并去除了大类中冗余的样本点;2.有效清除了“噪音点”,并清晰化数据分布边界;3.在小类中合成样本均匀,分布合理,有效提高小类样本丰富度;4.保留原有特征结构;5.引导合成样本点向决定小类样本点分布的特征扩散。注:“噪音点”即为类0嵌入到类1区域的样本点,类1嵌入到类0中的样本点。仿真2:使用来自uci的真实数据集german,其中类1和类2的比为:3:1,其拥有20维特征。随机取出类1样本600个,类2样本150个作为采样集合,另外类1样本100个,类2样本150个作为采样后的数据性能评价集。主要思路是:使用本发明算法以及经典算法中的smote、smote-borderline以及smote-tomeklinks算法对采样集合进行数据的平衡性调整,在调整的数据集上训练模型,然后使用训练后模型对评价集进行预测,对类0和类1分别得到三类评分:precious、recall、f-score。以上过程重复10次,求取均值得到结果。本发明仿真实验2结果见表1所示。显然,通过表格中数据可以看到,本采样算法得到的平衡数据性能更高,在维持大类可识别性性的情况下,极大程度地提升了小类的可识别力,使得平衡后数据拥有了更大的可实际使用价值和学习价值。上述两个仿真实验表明,本发明的方法为不平衡数据集的平衡化提供了一个有力的方法。经过本采样算法平衡化后的数据在结构和性能上均有很高的提高,同时使得少数类的可识别性得到了关键的提升。以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1