一种基于随机森林算法的优化分类方法及装置的制造方法
【专利摘要】本发明涉及一种基于随机森林算法的优化分类方法及装置,步骤如下:步骤1):将给定的样本数据划分为k个相互独立的子训练集合,根据每个训练子集选择不同的决策树,各决策树选择不同的决策属性构成基分类器,进而各基分类器形成随机森林;步骤2):在每个基分类器中,每一个元组分配设定的权重,然后将待分类数据送入到步骤1)构建的随机森林中进行分类,根据分类结果与预测结果比较调节权重:如果元组的分类预测结果与实际结果不符,则加大该元组的权值;如果元组的分类预测结果与实际结果相符,则减小该元组的权值;步骤3):根据调整后的各元组的权重,重新对待分类的数据进行分类,直到分类结果与预测结果相一致。
【专利说明】
一种基于随机森林算法的优化分类方法及装置
技术领域
[0001 ]本发明涉及一种基于随机森林算法的优化分类方法及装置。
【背景技术】
[0002] 2001年,Leo Breima基于决策树理论提出了一种分类模型:随机森林(Random Forests,简称RF)算法。随机森林算法是一种由多个决策树组合而成的组合分类器,比单棵 决策树显著提高了分类精度。随机森林分类算法可以看成由许多树组成的森林,所有的树 均参与投票,决定最终的分类结果,每棵树的成长由引入的随机变量决定,即随机选取分裂 属性和随机选取训练样本,生成决策树,所有的树均参与投票,再汇总分类的结果。随机森 林在运算量没有显著提高的前提下,提高了预测精度。随机森林对高度相关的变量相互不 干扰,简化了分类算法的设计和分类系统的泛化误差。在与SVM支持向量机的比较后可知, 随机森林的参数很少,与Adaboost非常相似。随机森林算法其具有较高的分类效率,不存在 过拟合的问题,并且对于大数据的样本能够轻松处理,同时具有很强的对抗噪声的能力,根 据分类过程可以评估分类特征的显著性;随机森林算法以其独特的分类优势很快收到广泛 的青睐,在生物信息领域获得了广泛的应用。
[0003] 然而,由于随机森林是由多个决策树组成的集成分类器,传统的随机森林中每棵 决策树的默认权重是相同的,因此传统随机森林算法缺乏对不平衡性数据的分类优化,造 成不平衡数据的分类性能的精度下降。
【发明内容】
[0004] 本发明的目的是提供基于随机森林算法的优化分类方法,用以解决传统的随机森 林分类方法中不平衡数据的分类性能精度不高的计算问题。
[0005] 为实现上述目的,本发明的方案包括:
[0006] -种基于随机森林算法的优化分类方法,步骤如下:
[0007] 步骤1):将给定的样本数据划分为K个相互独立的子训练集合,根据每个训练子集 选择不同的决策树,各决策树选择不同的决策属性构成基分类器,进而各基分类器形成随 机森林;
[0008] 步骤2):在每个基分类器中,每一个元组分配设定的权重,然后将待分类数据送入 到步骤1)构建的随机森林中进行分类,根据分类结果与预测结果比较调节权重:如果元组 的分类预测结果与实际结果不符,则加大该元组的权值;如果元组的分类预测结果与实际 结果相符,则减小该元组的权值;
[0009] 步骤3):根据调整后的各元组的权重,重新对待分类的数据进行分类,直到分类结 果与预测结果相一致,获得最优的分类器,开始对待分类数据进行分类。
[0010] 进一步的,所述步骤2)中进行权重调整时,首先在一个训练样本集i中输出分类器 M1,再用训练集D1计算分类器M1的检验集误差系数。
[0011] 进一步的,所述分类器1的错误率通过下述公式(1)得到:
[0012] (I)
[0013]其中err(Xj)表示在元组Xj中发生分类错误的值,Xj分类错误时 err(Xj)置为I,如 果^没有分类错误则err(Xj)置为0,Wl表示权重值,初始值Ι/d。如果分类器M 1的错误率大于 0.5,则放弃该分类器,重新选择训练集D1,然后输出新的分类器。所述权重值W 1通过下述公 式⑵
[0014; (2)
[0015;
[0016] 进一步的,所述决策树生成过程如下:从原始训练样本中选择有放回的抽样方法, 采用随机的方式选择K个样本子集,重复选择K次,每个样本子集生成决策树;具体过程如 下:
[0017] 步骤a):设有N个训练样本,M个特征,输入m个用于确定决策树上一个节点决策结 构的特征,并根据所述m个特征计算该特征的最佳分裂式;其中m远小于M;
[0018] 步骤b):从N个训练样本中以有放回抽样的方式,取样N次,形成一个训练集,并用 未抽到的样本作为预测,评估其误差;
[0019] 步骤c):对每棵树都任其成长,不进行剪枝,最终形成决策树。
[0020] 进一步的,所述分类方法用于生物学中单链DNA结合蛋白和双链DNA结合蛋白的分 类,所述分类依据是单链DNA和双链DNA本身的生物属性差异特征。
[0021] -种基于随机森林算法的分类装置,具有如下模块:
[0022]模块1):用于将给定的样本数据划分为k个相互独立的子训练集合,根据每个训练 子集选择不同的决策树,各决策树选择不同的决策属性构成基分类器,进而各基分类器形 成随机森林;
[0023] 模块2):用于在每个基分类器中,每一个元组分配设定的权重,然后将待分类数据 送入到步骤1)构建的随机森林中进行分类,根据分类结果与预测结果比较调节权重:如果 元组的分类预测结果与实际结果不符,则加大该元组的权值;如果元组的分类预测结果与 实际结果相符,则减小该元组的权值;
[0024] 模块3):用于根据调整后的各元组的权重,重新对待分类的数据进行分类,直到分 类结果与预测结果相一致。
[0025] 进一步的,所述模块2)中进行权重调整时,首先在一个训练样本集i中输出分类器 M1,再用训练集D1计算分类的姐的检验集的误差系数。
[0026] 进一步的,所述分类器1的错误率通过下述公式(3)得到:
[0027]
(3)
[0028]其中err (Xj)表示在元组Xj中发生分类错误的值,Xj分类错误时err (Xj)置为1,如 果^没有分类错误则err(Xj)置为0,Wl表示权重值,初始值Ι/d。如果分类器M 1的错误率大于 0.5,则放弃该分类器,重新选择训练集D1,然后输出新的分类器。所述权重值W 1通过下述公 式(4)得至丨丨·
[0029]
(4)
[0030]其中,W1是为分类器设置的权重值。
[0031] 进一步的,所述决策树生成过程如下:从原始训练样本中选择有放回的抽样方法, 采用随机的方式选择K个样本子集,重复选择K次,每个样本子集生成决策树;具体过程如 下:
[0032] 子模块a):设有N个训练样本,M个特征,输入m个用于确定决策树上一个节点决策 结构的特征,并根据所述m个特征计算该特征的最佳分裂式;其中m远小于M;
[0033] 子模块b):从N个训练样本中以有放回抽样的方式,取样N次,形成一个训练集,并 用未抽到的样本作为预测,评估其误差;
[0034] 子模块c):对每棵树都任其成长,不进行剪枝,最终形成决策树。
[0035]进一步的,所述分类方法用于生物学中单链DNA结合蛋白和双链DNA结合蛋白的分 类,所述分类依据是单链DNA和双链DNA本身的差异特征。
[0036] 本发明通过在传统的随机森林算法中引入权重的概念,并根据分类结果调整权 重,而每个元组的权值反映了决策树分类能力的强弱程度,权值越大表示分类错误的概率 越高,需要进一步训练,从而使得鲁棒性更好。
[0037] 同时,在构建分类器时,分类器会增加错误预测的元组的权重,增大分类错误元组 的训练几率,使错误分类的元组获得更多的训练机会,从而错误分类的数据在分类器上获 得更好的分类效果,最终使随机森林分类器的分类预测能力得以提升。
【附图说明】
[0038] 图1是本发明加权随机森林算法的流程图。
【具体实施方式】
[0039]下面结合附图对本发明做进一步详细的说明。
[0040] 本发明中通过在传统随机森林算法中引入权重的概念,从而对随机森林算法的训 练过程进行改进,根据分类结果调整权重,如果某一元组的分类预测结果与实际结果不符, 那么加大它的权值,从而增加该元组的训练次数;如果某一元组的分类预测结果与实际结 果相符,那么减小它的权值,从而减少该元组的训练次数。下面结合附图1对本发明的构思 详细做以说明。
[0041] 随机森林是一种由多个决策树组成的集成分类器,因此在进行随机森林算法时首 先是对决策树的构建。使用有放回的bootsrtapping抽样方法,采用随机的方法选择样本子 集,形成每棵树的训练集;假设一个训练子集中共有M个属性,从这M个属性中随机抽取m个 属性构成分裂属性集,从这m个属性中挑取一个特征作为决策树的每个节点的特征,以最好 的分裂方式对该节点进行分裂,而且对决策树的生长不进行修枝,最终形成需要的决策树: H(x,&),其中X是输入向量,&是独立同分布的随机向量。这些生成的决策树称为分类回归 树,作为随机森林的元分类器,从而随机森林也可以看成是一种树型分类器{h(x,&),k = 1......η}的集合,其中h(x,ft〇表不森林的一棵子树。
[0042] 在上述实施例中,生成决策树的算法是CART算法,作为其他实施方式,还可以是 ID3算法或者C4.5算法。上述实施例中,所采用算法具有不同的属性筛选标准:Gini指数、信 息增益比和信息增益等。再节点处选择的特征,其不纯度达到最小,充分达到高差别性和低 偏差性。
[0043] 在分类过程中,通常要求分类样本的数量分布越均匀越好,但实验数据中常常出 现样本不平衡问题,解决方法主要分为两种:数据集角度(重构数据集)和分类算法角度(改 进分类算法)。其中重构数据集方法包括:下采样方法和过采样方法。过采样方法用重复采 样少数样本的方式增加小样本数量,并没有增加新的数据源,缺乏训练样本的代表性从而 造成过学习的问题。下采样方法对多数样本集仅选取少数样本数量的方式,减少多数样本 数据的方法平衡样本集,造成多数样本数据的训练不充分问题。
[0044] 上述过程是比较常规的技术手段,除上述实施方式外,还可以通过其他手段来实 现。下面详细介绍本发明的改进之处,随机森林的决策加权策略。首先向由k个基分类器构 建的随机森林树型分类器中输入d个样本训练元组,并为每个训练元组分配相应的权重值, 权重值为Ι/d。然后在第i个训练样本集中输出分类器M 1,按照各元组的权重值随机抽样获 得训练样本集D1,然后再训练样本集D1中输出分类器M 1,根据下述公式(1)计算分类器1的 错误率:
[0045] ⑴
[0046] 其中err(Xj)表不在兀组Xj中友生分类铕误的值,Xj分类错误时err(xj)置为1,如 果^没有分类错误则err(Xj)置为0,Wl表示权重值,初始值Ι/d。如果分类器M 1的错误率大于 0.5,则放弃该分类器,重新选择训练集D1,然后输出新的分类器。如果分类器的错误率小于 等于0.5,则修改权重值:如果元组的分类预测结果与实际结果不符,那么加大它的权值;如 果元组的分类预测结果与实际结果相符,那么减小它的权值。具体的权值的分配,可以通过 下述公式来实现:
[0047]
(2)
[0048]其中,W1是为分类器设置的权重值。
[0049]完成对第i个训练集的权重分配后,继续对下一个训练集进行权重分配,直到完成 k个训练集的权重分配。
[0050] 也就是说,在训练过程后,每个元组最终获得分类结果,根据元组分类结果的准确 性,修正训练元组的权值。改进的分类器将增加错误预测的元组权重,增大分类错误元组的 训练机率,使错误分类的元组获得更多的训练机会,使错误分类的数据在分类器上获得更 好的分类效果,最终使随机森林分类器的分类预测能力得以提升。
[0051] 在分类过程中,对数据进行K次随机分组,并对每组进行N次分类,并查看最终分类 结果与实际结果是否一致,如果一致则表示分类器预测错误,如果一致则表示分类正确,在 训练过程中不断修正分类器参数,获得最优的分类器,然后应用训练好的分类器对未知蛋 白的数据进行分类。
[0052]上述实施例给出了基于改进随机森林算法的分类方法的具体过程,为了加深对本 发明核心思想的理解,下面结合基于改进随机森林算法的分类方法在生物信息学中蛋白质 分类的应用,做出详细说明,以验证改进随机森林算法的分类方法的效果。
[0053]本发明中实验数据从Protein Data Bank(TOB)数据库收集到的DNA结合蛋白共有 3390个,其中标注为DSBs的共1039个,包括DSBs与dsDNA复合物蛋白有890个,DSBs单体蛋白 有149个;标注为SSBs的共158个,其中SSBs与ssDNA蛋白复合物有70个,SSBs单体蛋白有88 个;其中未标注的DNA结合蛋白共2193个。在实验中为了消除序列相似的冗余同源蛋白,利 用在线工具 PISCES (http: //dunbrack. f ccc · edu/Guol i/PI SCES · php)对数据进行消除冗余 的预处理,主要的筛选条件为序列相似度〈30%的非同源DNA结合蛋白。为获得精度较高的 数据,选择的数据要求分辨率>3 A的X-ray和NMR结构数据,若分辨率<3 A则原子坐标位 置误差较大,同时要求蛋白序列长度MO个氨基酸残基,最后获得一组非冗余的且具有代表 性的分类数据集。按照蛋白-DNA的复合物、单体蛋白和结合DNA链的类型,数据集被分为四 类:SSBs蛋白-DNA复合物37个,SSBs单体蛋白38个,获得DSBs蛋白-DNA复合物154个,DSBs单 体蛋白50个,此外还构建了未知功能的DNA结合蛋白非冗余数据集共727个。
[0054]实验数据采用蛋白-DNA接口数据,筛选AAindex数据库中的6种氨基酸理化属性作 为接口特征,其中负样本类标签为SSBs,正样本标签为DSBs。为了探究这六个特征属性对建 立SSBs与DSBs的分类性能,首先对单一特征属性进行分类检测,其中二级结构属性表示蛋 白质-DNA接口中a-Helix,0-Strand和Coil的分布概率。单一特征的预测结果如下表1所示:
[0055] 在单一特征分类预测过程中,经过不断的修正权重值来获得最优的分类模型,其 中氨基酸理化属性中疏水性的分类性能最好,其敏感度SN和特异度SP达到了75%。并且二 级结构的分类效果最优,准确度(ACC)78%,敏感性(SN)78%和特异性(SP)30 %。从表1中可 以发现,特异性的数值偏低均〈30%,意味着SSBs的分类准确率较低,其主要原因在于数据 的不均衡,其中DSBs的数据量大于SSBs的数据量,造成训练分类器对多数的类具有更准确 的分类能力。
[0056] 表1单分类特征下的预测结果
[0058]为了建立区分效果更佳的DSBs与SSBs区分模型,本发明中将上述的六种分类特征 组合起来,共同作为区分模型的特征属性。这是因为复合分类特征的某一个分类特征可能 会在DSBs和SSBs的某一方面起到一定的作用,从而可以更加准确地预测单体蛋白结合 dsDNA或ssDNA。为了比较传统的随机森林算法与改进的随机森林算法的分类效果,我们通 过两种算法分别训练原始数据集,并且不断改变分裂节点的属性个数以及树分类器的个 数,建立多个分类模型。最后采用10交叉方法检验所建立的分类模型,得到最终结果。从所 建立的多个分类模型中,选择有代表的参数输入和预测结果进行展示,如表2所示:
[0059]表2基于传统与改进的加权随机算法的组合特征预测结果
LUUb'i j 通]敉纽/日、狩祉和早一狩祉的t贝测铦呆,USBs与SSBs分类模型中组合特征的分 类效果显著好于单一特征的分类性能。其中特异性显著提升10%以上,特异性SP反映了样 本中负样本的分类效果,也就是SSBs的分类结果,由于SSBs的样本数量小于DSBs,往往造成 SSBs样本的训练不充分,造成分类性能的下降。改进后的随机森林算法,对容易分类错误或 不充分的SSBs样本,给予了更多的机会参与训练,因此改进后的随机森林分类算法显著提 升了 SSBs的分类性能。
[0062] 为分析改进后的加权随机森林算法对SSBs的分类性能提高原因,我们抽取一组中 间结果数据来进行分析:(4 · 71812,0 · 3225,-0 · 3844,1 · 036,5 · 423058,0 · 4,0 · 25,0 · 35, SSB)为SSBs的原始特征值。在改进的随机森林算法中预测结果得到了修正,如表3所示,列 出了在训练过程中,预测正确的样本的权重变化,举例样本的权重变化情况和相应的树权 重的变化情况。
[0063] 表3实验样本的中间数据
机森林算法中,对样本元组的抽样次数可以重复多次,通常平均被抽中的次数小于3次。改 进后的算法对采样的样本随机树的分类结果是错误时,按照改进算法对该样本增加抽样的 权重,使其增加被抽样的次数。随后这组样本被抽取了 9次,而预测正确的样本在首次预测 时预测结果正确,随后该样本仅被重复抽样2次,因此改进算法对错误样本显著增加了抽样 次数。举例样本在第二次训练过程中预测正确,随后则其权重一直在调低,直到第7棵树其 权值均在降低,但在第8棵树时分类错误,其权值则调高。由于随机森林为组合分类器的预 测结果是根据投票结果进行打分,因此举例的样本依然得到了正确的分类结果。与原来的 随机森林算法相比较,原来的样本权值均看作相等,特别在DSBs和SSBs样本不均衡的数据 集中,随机森林对DSBs的训练次数远高于SSBs,从而造成训练的分类器更倾向于DSBs数据, 从而造成小样本集的训练不充分而造成实验结果中特异性的结果偏低。通过设定权重改善 了小样本的抽样次数,增加了训练机会。同时对错误样本的训练机会也进一步增加,有利于 对边缘的错误样本的分类结果修正,因此,改进后的随机森林算法提高了错误样本和小样 本的训练机会,从而提高了分类精度。
[0066]以上给出了本发明具体的实施方式,但本发明不局限于所描述的实施方式。在本 发明给出的思路下,采用对本领域技术人员而言容易想到的方式对上述实施例中的技术手 段进行变换、替换、修改,并且起到的作用与本发明中的相应技术手段基本相同、实现的发 明目的也基本相同,这样形成的技术方案是对上述实施例进行微调形成的,这种技术方案 仍落入本发明的保护范围内。
【主权项】
1. 一种基于随机森林算法的优化分类方法,其特征在于,步骤如下: 步骤1):将给定的样本数据划分为k个相互独立的子训练集合,根据每个训练子集选择 不同的决策树,各决策树选择不同的决策属性构成基分类器,进而各基分类器形成随机森 林; 步骤2):在每个基分类器中,每一个元组分配设定的权重,然后将待分类数据送入到步 骤1)构建的随机森林中进行分类,根据分类结果与预测结果比较调节权重:如果元组的分 类预测结果与实际结果不符,贝阳日大该元组的权值;如果元组的分类预测结果与实际结果 相符,则减小该元组的权值; 步骤3):根据调整后的各元组的权重,重新选择分类的数据进行分类,直到分类结果与 预测结果相一致,获得最优的分类器,最终实现对待分类数据的分类。2. 根据权利要求1所述一种基于随机森林算法的优化分类方法,其特征在于,所述步骤 2)中进行权重调整时,首先在一个训练样本集i中输出分类器Ml,再用训练集Di计算分类器 Ml的检验集误差系数。3. 根据权利要求2所述一种基于随机森林算法的优化分类方法,其特征在于,所述分类 器Ml的错误率通过下述公式(1)得到:(1) 其中err (xj)表示在元组xj中发生分类错误的值,xj分类错误时err (xj)置为1,如果xj没 有分类错误则err (xj)置为0,wi表示权重值,初始值1/d;如果分类器Ml的错误率大于0.5,则 放弃该分类器,重新选择训练集化,然后输出新的分类器;所述权重值wi通过下述公式(2)得 到:(2) 其中,Wi是为分类器设置的权重值。4. 根据权利要求1所述一种基于随机森林算法的优化分类方法,其特征在于,所述决策 树生成过程如下:从原始训练样本中选择有放回的抽样方法,采用随机的方式选择K个样本 子集,重复选择K次,每个样本子集生成决策树;具体过程如下: 步骤a):设有N个训练样本,Μ个特征,输入m个用于确定决策树上一个节点决策结构的 特征,并根据所述m个特征计算该特征的最佳分裂式;其中m远小于M; 步骤b):从N个训练样本中W有放回抽样的方式,取样N次,形成一个训练集,并用未抽 到的样本作为预测,评估其误差; 步骤C ):对每棵树都任其成长,不进行剪枝,最终形成决策树。5. 根据权利要求1-4中任一项所述一种基于随机森林算法的优化分类方法,其特征在 于,所述分类方法用于生物学中单链DNA结合蛋白和双链DNA结合蛋白的分类,所述分类依 据是单链DNA和双链DNA本身的差异特征。6. -种基于随机森林算法的优化分类装置,其特征在于,具有如下模块: 模块1):用于将给定的样本数据划分为k个相互独立的子训练集合,根据每个训练子集 选择不同的决策树,各决策树选择不同的决策属性构成基分类器,进而各基分类器形成随 机森林; 模块2):用于在每个基分类器中,每一个元组分配设定的权重,然后将待分类数据送入 到步骤1)构建的随机森林中进行分类,根据分类结果与预测结果比较调节权重:如果元组 的分类预测结果与实际结果不符,贝阳日大该元组的权值;如果元组的分类预测结果与实际 结果相符,则减小该元组的权值; 模块3):用于根据调整后的各元组的权重,重新对待分类的数据进行分类,直到分类结 果与预测结果相一致。7. 根据权利要求6所述一种基于随机森林算法的优化分类装置,其特征在于,所述模块 2)中进行权重调整时,首先在一个训练样本集i中输出分类器Ml,再用训练集Di计算分类器 Ml的检验集误差系数。8. 根据权利要求7所述一种基于随机森林算法的优化分类装置,其特征在于,所述分类 器Ml的错误率通过下述公式(3)得到:(3) 其中err (xj)表示在元组xj中发生分类错误的值,xj分类错误时err (xj)置为1,如果xj没 有分类错误则err (xj)置为0,wi表示权重值,初始值1/d;如果分类器Ml的错误率大于0.5,则 放弃该分类器,重新选择训练集化,然后输出新的分类器;所述权重值wi通过下述公式(4)得 到:(4) 其中,Wi是为分类器设置的权重值。9. 根据权利要求6所述的一种基于随机森林算法的优化分类装置,其特征在于,所述决 策树生成过程如下:从原始训练样本中选择有放回的抽样方法,采用随机的方式选择K个样 本子集,重复选择K次,每个样本子集生成决策树;具体过程如下: 子模块a):设有N个训练样本,Μ个特征,输入m个用于确定决策树上一个节点决策结构 的特征,并根据所述m个特征计算该特征的最佳分裂式;其中m远小于M; 子模块b):从N个训练样本中W有放回抽样的方式,取样N次,形成一个训练集,并用未 抽到的样本作为预测,评估其误差; 子模块C):对每棵树都任其成长,不进行剪枝,最终形成决策树。10. 根据权利要求6-9中任一项所述一种基于随机森林算法的优化分类装置,其特征在 于,所述分类方法用于生物学中单链DNA结合蛋白和双链DNA结合蛋白的分类,所述分类依 据是单链DNA和双链DNA本身的差异特征。
【文档编号】G06K9/62GK105844300SQ201610173483
【公开日】2016年8月10日
【申请日】2016年3月24日
【发明人】王伟, 孙林, 李名, 常宝方
【申请人】河南师范大学