首页> 中国专利> 一种基于分解的多目标进化模糊规则分类方法

一种基于分解的多目标进化模糊规则分类方法

摘要

本发明公开了一种基于分解的多目标进化模糊规则分类方法,主要解决现有的分类方法对不平衡数据分类效果差的问题。实现步骤是:获取训练数据集和测试数据集;归一化并将训练数据集分为多数类和少数类;初始化忽略概率、模糊分区数以及隶属度函数;初始化原始种群,采用具有加权因子的模糊规则权重公式确定权重;确定迭代终止条件、迭代次数及步长、理想点;依种群划分方向向量;原始种群执行进化操作并采用切比雪夫更新方式对原始种群更新;直至迭代终止条件;获得测试数据集的分类结果;再投射得到AUCH并输出。本发明运行速度快,分类效果好。能够应用于肿瘤检测、误差检测、信用卡欺诈检测、垃圾短信识别等技术领域。

著录项

  • 公开/公告号CN104809476A

    专利类型发明专利

  • 公开/公告日2015-07-29

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN201510240068.1

  • 申请日2015-05-12

  • 分类号G06K9/62(20060101);G06N3/12(20060101);

  • 代理机构61205 陕西电子工业专利中心;

  • 代理人程晓霞;王品华

  • 地址 710071 陕西省西安市太白南路2号

  • 入库时间 2023-12-18 10:16:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-31

    授权

    授权

  • 2015-08-26

    实质审查的生效 IPC(主分类):G06K9/62 申请日:20150512

    实质审查的生效

  • 2015-07-29

    公开

    公开

说明书

技术领域

本发明属于数据挖掘中的分类技术领域,特别涉及一种在不平衡数据分类领域采用进 化算法对模糊分类器进行优化的方法。具体是一种基于分解的多目标进化模糊规则分类方 法。主要用于生物医学识别、肿瘤检测、信用卡欺诈检测、垃圾短信识别等领域中存在的 不平衡数据的分类。

背景技术

随着科技的不断进步,数据挖掘技术越来越广泛的应用于我们的生产生活中,而作为 数据挖掘领域的一个重要的分支,分类技术也越来越受到人们的重视。分类技术是指利用 已知类别的数据训练分类模型,然后用此分类模型对未知数据进行类别预测的技术。常见 的应用如:语音识别、图像识别、生物医学识别、肿瘤检测、信用卡欺诈检测、垃圾短信 识别等都是应用分类技术的例子,可见分类技术与我们的工作和生活息息相关,它能提高 我们的工作效率和生活质量,给我们的生活带来极大地便利。而现实生活中大部分的分类 问题又都属于不平衡分类问题,不平衡分类问题是指待分类的两类中某一类(多数类)的 数据规模远远大于另一类(少数类)的数据规模,例如上面提到的生物医学识别、肿瘤检 测、信用卡欺诈检测、垃圾短信识别。由于不平衡分类问题特有的不平衡结构,使得常规 的分类技术如决策树C4.5等更偏向于将未知数据预测为多数类而降低识别精度。

近年来基于模糊规则的模糊分类技术被应用于生物医学检测、肿瘤检测、信用卡欺诈 检测、垃圾短信识别等不平衡问题分类领域并取得了较好的效果。但由于不平衡问题中多 数类数据集所包含的数据与少数类数据集所包含的数据在数量上的不平衡性,导致模糊分 类技术的识别精度很难提高;并且由于不平衡问题的特殊性,评价分类结果的指标也由单 标准(分类精度)变成了多标准(特异度FPR、灵敏度TPR),若用单个模糊分类器对不 平衡问题进行类别预测,就会导致对分类结果的评价不全面的问题。而多目标进化算法是 一种基于种群的迭代优化算法,通过对分类器的多次进化迭代可以提高分类器的识别精 度;并且该算法针对多标准情况能够同时优化多个模糊分类器,有效弥补了单个模糊分类 器对分类结果的评价不全面的缺点。但由于多目标进化算法较为复杂,需要多次迭代优化, 使得算法运行时间较长,导致现有分类方法在处理肿瘤检测、误差检测、信用卡欺诈检测、 垃圾短信识别等不平衡问题时不能兼顾较高的识别精度与较快的运行速度。数据分类过程 中由于算法复杂、运行速度慢,直接影响了数据分类的效率和限制了分类算法的广泛应用。

发明内容

本发明的目的是针对生物医学识别、肿瘤检测、信用卡欺诈检测、垃圾短信识别存在 数据不平衡现象的应用中少数类不易被识别的问题,提出了一种识别精度高、运行速度快 的基于分解的多目标进化模糊规则分类方法。

本发明是一种基于分解的多目标进化模糊规则分类方法,其特征在于,数据分类过程 包括有如下步骤:

步骤1.从某一技术领域中采集或获取被测训练数据集X和测试数据集X′,训练数据 集用来训练分类器,测试数据集用来检测训练好的分类器的性能,两个数据集所包含的数 据具有相同的数据格式,其数据格式为xi=[xi,1,...,xi,n,y],xi为任一数据集中的第i条数据, 其中xi,1,...,xi,n为数据xi的n个属性值,y为数据xi所属类别的类标。

步骤2.分别将训练数据集X和测试数据集X′的n个属性值归一化到[0,1]内,并将训练 数据集X按类别的类标分成多数类数据集Dnegative与少数类数据集Dpositive,多数类数据集与 少数类数据集所包含的数据个数分别为Nnegative、Npositive

步骤3.人为设定忽略概率pi,pi∈[0,1],人为设定模糊分区数par,par≠0,取值为 正整数,人为初始化模糊分区的隶属度函数为三角隶属度函数。

步骤4.初始化由pop个模糊分类器构成的原始种群P,每个模糊分类器代表一条染色 体chroh,h∈{1,...,pop},每条染色体包含R条模糊规则ri=[ri,1,...,ri,n,wi,li],i∈{1,...,R},模糊 规则ri的前n项属性值,记录了n个模糊分区标号,每个属性代表一个基因,模糊分区标 号的范围为{0,...,par},wi为模糊规则的权重,li为模糊规则所属类别的类标,其中每一条 模糊规则的权重采用具有加权因子的模糊规则权重公式来确定,其中模糊规则的权重 wi,i∈{1,...,R}。

步骤5.人为设定迭代终止条件termination,初始迭代次数t=1,迭代步长也为1,理 想点idealpoint=[0,1]。

步骤6.采用分解机制,根据原始种群P的大小pop,划分出pop个方向向量,其中染 色体chroh,h∈{1,...,pop}对应的方向向量为

步骤7.对原始种群P执行进化操作,得到子代染色体 chroh,cr_1,chroh,cr_2,chroh,mu_1,chroh,mu_2,h∈{1,...,pop},依次用子代染色体对原始种群中的所 有染色体chroh,h∈{1,...,pop}采用切比雪夫更新方式进行更新,最终得到由pop条染色体 chro′h,h∈{1,...,pop}组成的进化种群P′。

步骤8.若迭代次数t小于迭代终止条件termination,则迭代次数t加1,并将进化种群 P′记为原始种群P,将染色体chro′h,h∈{1,...,pop}记为chroh,h∈{1,...,pop},返回执行步骤 7,若迭代次数t等于迭代终止条件termination,执行步骤9。

步骤9.将进化种群P′中的所有染色体chro′h,h=1,...,pop依次对测试数据集X′进行分 类,得到pop条分类结果resulth=[FPR,TPR],h=1,...,pop,每条染色体chro′h,h∈{1,...,pop} 对应一条分类结果。

步骤10.将得到的pop条分类结果投射到操作者接收曲线(ROC)平面上,获取曲线 凸包下面积的值(AUCH),其值在[0,1]区间内,并输出该值,该输出结果代表了被测某 一技术领域中采集或获取的数据集中所有数据的分类正确率,曲线凸包下面积的值越大, 分类结果越好。

本发明的技术思路是:在MOEA/D算法框架下,采用分解机制把需要同时优化的两目 标即特异度FPR和灵敏度TPR问题分解为一系列单目标问题,以模糊分类器作为种群中 的个体,利用进化算子对种群进行迭代优化,最终得到一组在训练数据集中具有较好识别 精度的模糊分类器,进而再用这组模糊分类器对测试数据集进行类别预测,得到对测试数 据的分类正确率的评价指标,即曲线凸包下面积的值(AUCH)。

本发明的实现还在于:其中步骤4初始化由pop个模糊分类器构成的种群P并采用具 有加权因子的模糊规则权重公式来确定模糊规则权重wi,i∈{1,...,R},包括有如下步骤:

4a.从训练数据集X中随机选出一条数据xrand=[xrand,1,...,xrand,n,yrand],对应于该条数据 xrand存在一条模糊规则rrand=[rrand,1,...,rrand,n,wrand,lrand],其中模糊规则rrand的前n项属性值 分别记录了与数据xrand的n个属性所对应的模糊分区标号,wrand为模糊规则rrand的权重, lrand为模糊规则rrand所属类别的类标,确定该条模糊规则rrand的前n项属性值,该模糊规则 的权重wrand与该模糊规则所属类别的类标lrand由步骤4b确定。

4b.向模糊规则的权重公式中引入加权因子,该加权因子能够均衡多数类与少数类之间 的不平衡性,用该模糊规则权重公式确定模糊规则rrand=[rrand,1,...,rrand,n,wrand,lrand]的权重 wrand,以及模糊规则所属类别的类标lrand,其中模糊规则权重wrand∈[0,1],所属类别的类 标lrand∈{positive,negative}。

4c.得到一条模糊规则后,重复执行步骤4a-4b,直到得到R条模糊规则,由这R条模 糊规则组成一条染色体chroh,h∈{1,...,pop}。

4d.得到由R条模糊规则组成的染色体后,重复执行步骤4c,直到得到pop条染色体 chroh,h=1,...,pop,由这些染色体组成原始种群P。

本发明采用的模糊规则权重公式中引入了加权因子,加权因子能够有效的均衡不平衡 数据集中多数类与少数类之间的不平衡性,使得总体上,少数类与多数类具有相同的重要 性。在不平衡数据集中,由于少数类数据的数目少于多数类数据的数目,因此应当设置少 数类的模糊规则权重加权因子大于多数类的模糊规则权重加权因子,以保证总体上少数类 与多数类具有相同的重要性。

本发明的实现还在于:其中步骤7对原始种群P执行进化操作并采用切比雪夫更新方 法依次更新每条染色体,得到由pop条染色体组成的进化种群P′包括有如下步骤:

7a.对染色体chroh,h∈{1,...,pop}执行单点交叉操作,得到两个交叉子代染色体 chroh,cr_1,chroh,cr_2,h∈{1,...,pop}。

7b.将两个交叉子代染色体chroh,cr_1,chroh,cr_2,h∈{1,...,pop}作为变异父代染色体,分别 执行变异操作,得到两个变异子代染色体chroh,mu_1,chroh,mu_2,h∈{1,...,pop}。

7c.采用切比雪夫更新方式,以理想点idealpoint=[0,1]作为参考点,将进化操作产生的 染色体chroh,cr_1,chroh,cr_2,chroh,mu_1,chroh,mu_2,h∈{1,...,pop}依次对chroh,h∈{1,...,pop}执行 更新操作,得到pop条更新后的染色体,记为chro′h,h∈{1,...,pop}。

7d.若原始种群P中存在未执行过进化操作的染色体chroh,h∈{1,...,pop},则选定此染 色体执行步骤7a,若原始种群P中所有染色体均执行过进化操作,则将种群 chro′h,h=1,...,pop记为进化种群P′,执行步骤8。

本发明中每条染色体chroh,h∈{1,...,pop}均通过进化操作产生了四条与其相对应的染 色体chroh,cr_1,chroh,cr_2,chroh,mu_1,chroh,mu_2,h∈{1,...,pop},然后采用切比雪夫更新方式,将 这四条染色体分别对相应的原染色体执行更新操作。采用这种多对一的更新策略后,每条 染色体均能进行多次更新,从而使得算法的优化速度加快。

本发明的实现还在于:其中步骤4b采用具有加权因子的模糊规则权重公式 确定模糊规则rrand=[rrand,1,...,rrand,n,wrand,lrand]的权重wrand以 及模糊规则所属类别的类标lrand,包括有如下步骤:

4b1.采用具有加权因子的模糊规则权重公式确定模糊 规则rrand的权重wrand

式中Nnegative为多数类数据集所包含的数据个数,Npositive为少数类数据集所包含的数据 个数,Snegative为多数类中所有Nnegative个匹配度之和,Spositive为少数类中所有Npositive个匹配 度之和,Snegative和Spositive的计算公式分别如下:

Snegative=Σkn=1Nnegativeμrrand(xkn)

Spositive=Σkp=1Npositiveμrrand(xkp)

式中为多数类数据集Dnegative中每一个数据 xkn=[xkn,1,...,xkn,n,ykn],kn=1,...,Nnegative与步骤4a中得到的模糊规则rrand的匹配度,为少数类数据集Dpositive中每一个数据xkp=[xkp,1,...,xkp,n,ykp],kp=1,...,Npositive与模糊规则rrand的匹配度,其计算公式分别如下:

μrrand(xkn)=μrrand,1(xkn,1)·...·μrrand,n(xkn,n),kn=1,...,Nnegative

μrrand(xkp)=μrrand,1(xkp,1)·...·μrrand,n(xkp,n),kp=1,...,Npositive

式中分别指数据xkn的n个属性在模糊规则rrand的前n项所记 录的分区标号下的隶属度,分别指数据xkp的n个属性在模糊规则 rrand的前n项所记录的分区标号下的隶属度。

4b2.将具有加权因子的模糊规则权重公式中和 两项中较大者所属类别的类标确定为模糊规则rrand所属类别的类标lrand,并将最终确 定的wrand、lrand分别填入模糊规则rrand的后两项得到完整的模糊规则rrand

本发明采用的模糊规则权重因子是根据多数类数据集中数据的数目Nnegative与少数类 数据集中数据的数目Npositive来确定的,对于多数类数据集,由于其数据的数目较多,为了 保证多数类与少数类具有相同的重要性,其对应的加权因子应较小,为而对于少数类数据,由于其数据的数目较少,为了保证多数类与少数类具有相同的重要性, 其对应的加权因子应较大,为

本发明的实现还在于:其中步骤7c采用切比雪夫更新方式,将进化操作产生的染色体 chroh,cr_1,chroh,cr_2,chroh,mu_1,chroh,mu_2,h∈{1,...,pop}依次对chroh,h∈{1,...,pop}执行更新操 作,包括如下步骤:

7c1.求出染色体chroh在训练数据集X上的类别预测结果,其结果为 resulth=[FPR,TPR]。

7c2.依次将染色体chroh,1,chroh,2,chroh,3,chroh,4对训练数据集X的进行预测,结果为 resulth,evo_b=[FPR,TPR],evo_b=1,...,4。

7c3.分别将染色体chroh,evo_b,b=1,...,4通过切比雪夫分解方法对chroh进行更新,得到更 新后的染色体,记为chro′h

7c4.若存在未执行过步骤7c3的染色体chroh,evo_b,b∈{1,...,4},则选定此染色体并将更新 后的染色体chro′h记为待更新的染色体chroh,执行步骤7c3,若染色体chroh,evo_b,b∈{1,...,4} 均执行执行过步骤7c3,则执行步骤7d。

本发明中采用的多条染色体chroh,evo_b,b=1,...,4分别对一条染色体chroh采用切比雪夫 更新方式进行更新的操作,加速了算法的运行速度,使得算法通过很少的迭代次数就能达 到较高的识别精度,在获得较好的分类结果的同时,加快了算法的运行速度。

本发明与现有技术相比具有以下优点:

1.本发明由于采用了效果较好的基于分解的多目标进化算法框架,将多目标分解为多 个单目标,分别进行迭代优化,并采用特殊的更新方式,使得每一条染色体同时被更新多 次,加速了种群的进化速度。

2.本发明采用模糊规则分类器作为基础分类器,尤其是向模糊规则权重公式中引入了 加权因子,该加权因子有效的均衡了不平衡数据分类问题的不平衡性,提升了算法的识别 精度。

附图说明

图1是本发明的总流程图。

具体实施方式

下面结合附图对本发明做详细说明:

实施例1:近年来随着科学技术的不断发展,人们对生存空间的了解越来越深,遇到 的问题也越来越多,越来越复杂,其中数据分类问题尤其是不平衡数据分类问题越来越凸 显在我们面前。不平衡数据分类被广泛的应用于人们的生产和生活中,例如生物医学识别 中,从酵母菌的细胞中获取某一数据,并确定该数据是否来自于酵母菌细胞的某一个确定 的内部部件,酵母菌细胞共有10个内部部件,该获取的数据所属的那一个部件所具有的 数据较少,而剩余9个内部部件所具有的数据较多,这就造成了数据间的不平衡、肿瘤检 测中确定某个人是否患有乳腺癌,在人群中真正患有乳腺癌的人数较少,而正常的没有乳 腺癌的人数较多,较小的乳腺癌患者的数目与较大的正常人的数目就构成了不平衡数据 集、信用卡欺诈检测中检测所有的信用记录中是否存在欺诈行为,在大量的信用记录中, 具有欺诈的记录的数目很少,少量的欺诈记录与大量正常的信用记录构成了不平衡数据 集、垃圾短信识别中识别垃圾短信,在日常收到的大量短信中,存在少量的垃圾短信,这 些少量的垃圾短信与大量正常的短信也构成了不平衡数据集。可见不平衡数据分类技术与 我们的工作和生活密切相关,该技术不仅给我们的生产生活带来了极大地便利而且推动了 不平衡数据分类领域的发展。

本发明是一种基于分解的多目标进化模糊规则分类方法,参见图1,数据分类过程包 括有如下步骤:

步骤1.从某一技术领域中采集或获取被测训练数据集X和测试数据集X′,训练数据 集用来训练分类器,测试数据集用来检测训练好的分类器的性能,两个数据集所包含数据 的格式均为xi=[xi,1,...,xi,n,y],xi为任一数据集中的第i条数据,其中xi,1,...,xi,n为数据xi的 n个属性值,y为数据xi所属类别的类标,本例中是从酵母菌的细胞结构中获取数据,以 获取数据的百分之八十作为训练数据集X,以获取数据的剩余百分之二十作为测试数据集 X′,酵母菌数据的属性有8种,酵母菌内部部件有10个,因此训练数据集与测试数据集 的具体数据格式为xi=[xi,1,...,xi,8,y],其中xi,1,...,xi,8为数据xi的8个属性值,y为数据xi所 属类别的类标,y∈{CYT,NUC,MIT,ME3,ME2,ME1,EXC,VAC,POX,ERL},CYT为细胞质基 质,NUC为细胞核,MIT为线粒体,ME3为无N端信号的膜蛋白质,ME2为无裂开信号 的的膜蛋白质,ME1为有裂开信号的膜蛋白质,EXC为细胞外基质,VAC为液泡膜,POX 为过氧化物,ERL为内质网腔。

步骤2.分别将训练数据集X和测试数据集X′的n个属性值归一化到[0,1]内,并将训 练数据集X按类别的类标分成多数类数据集Dnegative与少数类数据集Dpositive,多数类数据集 与少数类数据集所包含的数据个数分别为Nnegative、Npositive,本例中分别将训练数据集X和 测试数据集X′的8个属性值归一化到[0,1]内,并将类别为{CYT,ME1,EXC,VAC,ERL}的数 据标记成多数类数据,类别为{ME2}的数据标记成少数类数据,由多数类数据组成多数类 数据集,由少数类数据组成少数类数据集。

步骤3.人为设定忽略概率pi,pi∈[0,1],人为设定模糊分区数par,par≠0,取值 为正整数,人为初始化模糊分区的隶属度函数为三角隶属度函数,本例中pi=0.9,par=5。

步骤4.初始化由pop个模糊分类器构成的原始种群P,每个模糊分类器代表一条染色 体chroh,h∈{1,...,pop},每条染色体包含R条模糊规则ri=[ri,1,...,ri,n,wi,li],i∈{1,...,R},模糊 规则ri的前n个属性值,记录了n个模糊分区标号,每个属性代表一个基因,模糊分区标 号的范围为{0,...,par},wi为模糊规则的权重,li为模糊规则所属类别的类标,其中每一条 模糊规则的权重采用具有加权因子的模糊规则权重公式来确定,模糊规则的权重 wi,i∈{1,...,R},本例中,pop=150,R=15,由于酵母菌细胞结构的数据具有8个属性, 则模糊规则ri具有8个对应属性值即ri=[ri,1,...,ri,8,wi,li],i∈{1,...,15},其中 wi∈[0,1],i∈{1,...,15},li∈{postive,negative}。

步骤5.人为设定迭代终止条件termination,初始迭代次数t=1,迭代步长也为1,理 想点idealpoint=[0,1],本例中,termination=25,即迭代次数为25次,初始迭代次数t=1, 迭代步长也为1,理想点idealpoint=[0,1]。

步骤6.采用分解机制,根据原始种群P的大小pop,划分出pop个方向向量,其中染 色体chroh,h∈{1,...,pop}对应的方向向量为本例中,根据原始种群P的大 小150,划分出150个方向向量,其中染色体chroh,h∈{1,...,150}对应的方向向量为

步骤7.对原始种群P执行进化操作,得到子代染色体 chroh,cr_1,chroh,cr_2,chroh,mu_1,chroh,mu_2,h∈{1,...,pop},依次用子代染色体对原始种群中的所 有染色体chroh,h∈{1,...,pop}采用切比雪夫更新方式进行更新,最终得到由pop条染色体 chro′h,h∈{1,...,pop}组成的进化种群P′,本例中,对原始种群P执行进化操作,得到子代 染色体chroh,cr_1,chroh,cr_2,chroh,mu_1,chroh,mu_2,h∈{1,...,150},依次用子代染色体对原始种群 中的所有染色体chroh,h∈{1,...,150}采用切比雪夫更新方式进行更新,最终得到由150条染 色体chro′h,h∈{1,...,150}组成的进化种群P′。

步骤8.若迭代次数t小于迭代终止条件termination,则迭代次数t加1,并将进化种 群P′记为原始种群P,将染色体chro′h,h∈{1,...,pop}记为chroh,h∈{1,...,pop},返回执行步 骤7,若迭代次数t等于迭代终止条件termination,执行步骤9,本例中,若迭代次数t小 于迭代终止条件25,则迭代次数t加1,并将进化种群P′记为原始种群P,将染色体 chro′h,h∈{1,...,150}记为chroh,h∈{1,...,150},返回执行步骤7,若迭代次数t等于迭代终止 条件25,执行步骤9。

步骤9.将进化种群P′中的所有染色体chro′h,h=1,...,pop依次对测试数据集X′进行分 类,得到pop条分类结果resulth=[FPR,TPR],h=1,...,pop,每条染色体chro′h,h∈{1,...,pop} 对应一条分类结果,本例中,将进化种群P′中的所有染色体chro′h,h=1,...,150依次对酵母 菌的细胞结构测试数据集X′进行分类,得到150条分类结果 resulth=[FPR,TPR],h=1,...,150,每条染色体chro′h,h∈{1,...,150}对应一条分类结果。

步骤10.将得到的pop条分类结果投射到操作者接收曲线(ROC)平面上,获取曲线 凸包下面积的值(AUCH),其值在[0,1]区间内,并输出该值,该输出结果代表了被测某 一技术领域中采集或获取的数据集中所有数据的分类正确率,曲线凸包下面积的值越大, 分类结果越好,本例中,将得到的150条分类结果投射到操作者接收曲线(ROC)平面上, 获取凸包下面积的值(AUCH),其值在[0,1]区间内,并输出该值,该输出结果代表了酵 母菌的细胞结构数据集中数据的分类正确率,曲线凸包下面积的值越大,分类结果越好。

实施例2:基于分解的多目标进化模糊规则分类方法同实施例1,其中步骤4初始化 由pop个模糊分类器构成的种群P并采用具有加权因子的模糊规则权重公式来确定模糊规 则权重wi,i∈{1,...,pop},本例中,初始化由150个模糊分类器构成的种群P并采用具有加 权因子的模糊规则权重公式来确定模糊规则权重wi,i∈{1,...,150}包括有如下步骤:

4a.从训练数据集X中随机选出一条数据xrand=[xrand,1,...,xrand,n,yrand],对应于该条数据 xrand存在一条模糊规则rrand=[rrand,1,...,rrand,n,wrand,lrand],其中模糊规则rrand的前n项属性值 分别记录了与数据xrand的n个属性所对应的模糊分区标号,wrand为模糊规则rrand的权重, lrand为模糊规则rrand所属类别的类标,确定该条模糊规则rrand的前n个属性值,该模糊规则 的权重wrand与该模糊规则所属类别的类标lrand由步骤4b确定,本例中,从酵母菌的细胞结 构的训练数据集X中随机选出一条数据xrand=[xrand,1,...,xrand,8,yrand],对应于该条数据xrand存 在一条模糊规则rrand=[rrand,1,...,rrand,8,wrand,lrand],其中模糊规则rrand的前8项属性值分别记 录了与数据xrand的8个属性所对应的模糊分区标号,wrand为模糊规则rrand的权重,lrand为 模糊规则rrand所属类别的类标,确定该条模糊规则rrand的前8个属性值,该模糊规则的权 重wrand与该模糊规则所属类别的类标lrand由步骤4b确定。

4b.向模糊规则权重公式中引入加权因子,该加权因子能够均衡多数类与少数类之间 的不平衡性,用模糊规则权重公式确定模糊规则rrand=[rrand,1,...,rrand,n,wrand,lrand]的权重wrand以及模糊规则所属类别的类标lrand,其中模糊规则权重wrand∈[0,1],所属类别的类标 lrand∈{positive,negative},本例中,向模糊规则权重公式中引入加权因子,该加权因子能 够均衡酵母菌的细胞结构数据中多数类与少数类之间的不平衡性,用模糊规则权重公式确 定模糊规则rrand=[rrand,1,...,rrand,8,wrand,lrand]的权重wrand以及模糊规则所属类别的类标lrand, 其中模糊规则权重wrand∈[0,1],所属类别的类标lrand∈{positive,negative}。

其中采用具有加权因子的模糊规则权重公式确定模糊 规则rrand=[rrand,1,...,rrand,n,wrand,lrand]的权重wrand以及模糊规则所属类别的类标lrand。本例中, 模糊规则为rrand=[rrand,1,...,rrand,8,wrand,lrand],用具有加权因子的模糊规则权重公式确定模糊 规则权重wrand和模糊规则所属类别的类标lrand的过程,包括有如下步骤:

4b1.采用具有加权因子的模糊规则权重公式确定模 糊规则rrand的权重wrand

式中Nnegative为多数类数据集所包含的数据个数,Npositive为少数类数据集所包含的数据 个数,Snegative为多数类中所有Nnegative个匹配度之和,Spositive为少数类中所有Npositive个匹配 度之和,Snegative和Spositive的计算公式分别如下:

Snegative=Σkn=1Nnegativeμrrand(xkn)

Spositive=Σkp=1Npositiveμrrand(xkp)

式中为得到的模糊规则rrand的多数类匹配度,具体是多数类数据集Dnegative中 每一个数据xkn=[xkn,1,...,xkn,n,ykn],kn=1,...,Nnegative与步骤4a中得到的模糊规则rrand的匹配 度;为得到的模糊规则rrand的少数类匹配度,具体是少数类数据集Dpositive中每一 个数据xkp=[xkp,1,...,xkp,n,ykp],kp=1,...,Npositive与模糊规则rrand的匹配度,模糊规则rrand的多 数类和少数类匹配度计算公式分别如下:

μrrand(xkn)=μrrand,1(xkn,1)·...·μrrand,n(xkn,n),kn=1,...,Nnegative

μrrand(xkp)=μrrand,1(xkp,1)·...·μrrand,n(xkp,n),kp=1,...,Npositive

式中分别指数据xkn的n个属性在模糊规则rrand的前n项所记 录的分区标号下的隶属度,分别指数据xkp的n个属性在模糊规则 rrand的前n项所记录的分区标号下的隶属度,本例中,为模糊规则rrand与酵母菌 细胞结构数据多数类的匹配度,具体是多数类数据集Dnegative中每一个数据 xkn=[xkn,1,...,xkn,8,ykn],kn=1,...,Nnegative与步骤4a中得到的模糊规则rrand的匹配度;为模糊规则rrand与酵母菌细胞结构数据少数类的匹配度,具体是少数类数据集Dpositive中每 一个数据xkp=[xkp,1,...,xkp,8,ykp],kp=1,...,Npositive与模糊规则rrand的匹配度,模糊规则rrand的 多数类和少数类匹配度计算公式分别如下:

μrrand(xkn)=μrrand,1(xkn,1)·...·μrrand,8(xkn,8),kn=1,...,Nnegative

μrrand(xkp)=μrrand,1(xkp,1)·...·μrrand,8(xkp,8),kp=1,...,Npositive

式中分别指数据xkn的8个属性在模糊规则rrand的前8个所记 录的分区标号下的隶属度,分别指数据xkp的8个属性在模糊规则 rrand的前8个所记录的分区标号下的隶属度。

4b2.将具有加权因子的模糊规则权重公式中和 两项中较大者所属类别的类标确定为模糊规则rrand所属类别的类标lrand,并将最终确 定的wrand、lrand分别填入模糊规则rrand的后两项得到完整的模糊规则rrand

4c.得到一条模糊规则后,重复执行步骤4a-4b,直到得到R条模糊规则,由这R条模 糊规则组成一条染色体chroh,h∈{1,...,pop},本例中,得到一条模糊规则后,重复执行步 骤4a-4b,直到得到15条模糊规则,由这15条模糊规则组成一条染色体chroh,h∈{1,...,150}。

4d.得到由R条模糊规则组成的染色体后,重复执行步骤4c,直到得到pop条染色体 chroh,h=1,...,pop,由这些染色体组成原始种群P,本例中,得到由15条模糊规则组成的 染色体后,重复执行步骤4c,直到得到150条染色体chroh,h=1,...,150,由这些染色体组 成原始种群P。

本发明采用模糊规则分类器作为基础分类器,模糊规则分类器具有解释性好,泛化能 力高的优点,在本发明中,尤其是向模糊规则权重公式中引入了加权因子,该加权因子综 合考虑了不平衡数据集中多数类与少数类在数量上的差异,有效的均衡了不平衡数据分类 问题的不平衡性,提升了算法的识别精度。

实施例3:基于分解的多目标进化模糊规则分类方法同实施例1-2,其中步骤7对原始 种群P执行进化操作并采用切比雪夫更新方法依次更新每条染色体,得到由pop条染色体 组成的进化种群P′,本例中,得到由150条染色体组成的进化种群P′,包括有如下步骤:

7a.对染色体chroh,h∈{1,...,pop}执行单点交叉操作,得到两个交叉子代染色体 chroh,cr_1,chroh,cr_2,h∈{1,...,pop},本例中,对染色体chroh,h∈{1,...,150}执行单点交叉操作, 得到两个交叉子代染色体chroh,cr_1,chroh,cr_2,h∈{1,...,150}。

7b.将两个交叉子代染色体chroh,cr_1,chroh,cr_2,h∈{1,...,pop}作为变异父代染色体,分 别执行变异操作,得到两个变异子代染色体chroh,mu_1,chroh,mu_2,h∈{1,...,pop},本例中,将 两个交叉子代染色体chroh,cr_1,chroh,cr_2,h∈{1,...,150}作为变异父代染色体,分别执行变异 操作,得到两个变异子代染色体chroh,mu_1,chroh,mu_2,h∈{1,...,150}。

7c.采用切比雪夫更新方式,以理想点idealpoint=[0,1]作为参考点,将进化操作产生 的染色体chroh,cr_1,chroh,cr_2,chroh,mu_1,chroh,mu_2,h∈{1,...,pop}依次对chroh,h∈{1,...,pop}执 行更新操作,得到pop条更新后的染色体,记为chro′h,h∈{1,...,pop},本例中,采用切比雪 夫更新方式,以理想点idealpoint=[0,1]作为参考点,将进化操作产生的染色体 chroh,cr_1,chroh,cr_2,chroh,mu_1,chroh,mu_2,h∈{1,...,150}依次对chroh,h∈{1,...,150}执行更新操 作,得到150条更新后的染色体,记为chro′h,h∈{1,...,150}。

其中步骤7c采用切比雪夫更新方式,将进化操作产生的染色体 chroh,cr_1,chroh,cr_2,chroh,mu_1,chroh,mu_2,h∈{1,...,pop}依次对chroh,h∈{1,...,pop}执行更新操 作,本例中,将进化操作产生的染色体chroh,cr_1,chroh,cr_2,chroh,mu_1,chroh,mu_2,h∈{1,...,150}依 次对chroh,h∈{1,...,150}执行更新操作,包括如下步骤:

7c1.求出染色体chroh在训练数据集X上的类别预测结果,其结果为 resulth=[FPR,TPR]。

7c2.依次将染色体chroh,1,chroh,2,chroh,3,chroh,4对训练数据集X的进行预测,结果为 resulth,evo_b=[FPR,TPR],evo_b=1,...,4。

7c3.分别将染色体chroh,evo_b,b=1,...,4通过切比雪夫分解方法对chroh进行更新,得到 更新后的染色体,记为chro′h

7c4.若存在未执行过步骤7c3的染色体chroh,evo_b,b∈{1,...,4},则选定此染色体并将更 新后的染色体chro′h记为待更新的染色体chroh,执行步骤7c3,若染色体 chroh,evo_b,b∈{1,...,4}均执行执行过步骤7c3,则执行步骤7d。

7d.若原始种群P中存在未执行过进化操作的染色体chroh,h∈{1,...,pop},则选定此染 色体执行步骤7a,若原始种群P中所有染色体均执行过进化操作,则将种群 chro′h,h=1,...,pop记为进化种群P′,执行步骤8,本例中,若原始种群P中存在未执行过 进化操作的染色体chroh,h∈{1,...,150},则选定此染色体执行步骤7a,若原始种群P中所有 染色体均执行过进化操作,则将种群chro′h,h=1,...,150记为进化种群P′,执行步骤8。

本发明由于采用了效果较好的基于分解的多目标进化算法框架,将多目标问题分解为 多个单目标问题,分别进行迭代优化,并采用了将生成的四个子染色体分别对原染色体进 行更新的更新方式,使得每一条染色体同时被更新多次,加速了种群的进化速度,从而加 速了算法的运行速度。

实施例4:基于分解的多目标进化模糊规则分类方法同实施例1-3,其中步骤4a确定 模糊规则rrand=[rrand,1,...,rrand,n,wrand,lrand]的前n项属性值,本例中,确定模糊规则 rrand=[rrand,1,...,rrand,8,wrand,lrand]的前8项属性值,包括有如下步骤:

4a1.对于xrand的第j个属性xrand,j,j∈[1,...,n],产生随机数rand0∈[0,1],若rand0大 于忽略概率pi则分别求出与xrand,j对应的par个模糊分区的隶属度,执行步骤4a2,若rand0小于等于忽略概率pi执行步骤4a3,本例中,对于xrand的第j个属性xrand,j,j∈[1,...,8],产 生随机数rand0∈[0,1],若rand0大于忽略概率0.9则分别求出与xrand,j对应的5个模糊分区 的隶属度,执行步骤4a2,若rand0小于等于忽略概率0.9,执行步骤4a3。

4a2.采用轮盘赌方法确定xrand,j所属的模糊分区,将该模糊分区的分区标号标记在与 数据xrand相对应的模糊规则rrand的第j个属性rrand,j上,执行步骤4a4。

4a3.确定xrand,j所属的模糊分区的分区标号为0,将0标记在与数据xrand相对应的模 糊规则rrand的第j个属性rrand,j上。

4a4.若与数据xrand相对应的模糊规则rrand中存在没有标记分区标号的属性rrand,j,则 选择此属性xrand,j,执行步骤4a1,若所有属性rrand,j,j=1,...,n均标记了分区标号,执行步 骤4b,本例中,若与数据xrand相对应的模糊规则rrand中存在没有标记分区标号的属性rrand,j, 则选择此属性xrand,j,执行步骤4a1,若所有属性rrand,j,j=1,...,8均标记了分区标号,执行 步骤4b。

实施例5:基于分解的多目标进化模糊规则分类方法同实施例1-4,其中步骤7a对染 色体chroh,h∈{1,...,pop}执行单点交叉操作,本例中,对染色体chroh,h∈{1,...,150}执行单 点交叉操作,包括有如下步骤:

7a1.在整个原始种群P范围内随机选择两条染色体 chroh,p1,chroh,p2,p1,p2∈{1,...,pop}作为chroh的交叉父代染色体,其中,两个交叉父代染色 体包含的规则数分别为Nh,p1,Nh,p2,记较小的规则数为Nh,min,本例中,随机选择两条染色 体chroh,p1,chroh,p2,p1,p2∈{1,...,150}作为chroh的交叉父代染色体,其中,两个交叉父代染 色体包含的规则数分别为Nh,p1,Nh,p2,记较小的规则数为Nh,min

7a2.产生随机数rand1∈[1,...,Nh,min],以rand1作为交叉点,对两个交叉父代染色体 chroh,p1,chroh,p2以规则为单位执行单点交叉操作,得到两个交叉子代染色体 chroh,cr_1,chroh,cr_2

实施例6:基于分解的多目标进化模糊规则分类方法同实施例1-5,其中步骤7b将两 个交叉子代染色体chroh,cr_1,chroh,cr_2,h∈{1,...,pop}作为变异父代染色体,分别执行变异操 作,本例中,将两个交叉子代染色体chroh,cr_1,chroh,cr_2,h∈{1,...,150}作为变异父代染色体, 分别执行变异操作,包括有如下步骤:

7b1.产生随机数rand2∈[0,1],若rand2小于等于0.4,则执行步骤7b2,若rand2大 于0.4并小于等于0.8,则执行步骤7b3,若rand2大于0.8,则执行步骤7b4。

7b2.执行第一种变异方式,即随机向变异父代染色体chroh,cr_h′,h′∈{1,2}中添加 η,η∈{1,...,5}条规则,得到变异子代染色体chroh,mu_h′,h′∈{1,2},执行步骤7b5。

7b3.执行第二种变异方式,即随机删除变异父代染色体chroh,cr_h′,h′∈{1,2}中的 γ,γ∈{1,...,5}条规则,得到变异子代染色体chroh,mu_h′,h′∈{1,2},执行步骤7b5。

7b4.执行第三种变异方式,即随机改变变异父代染色体chroh,cr_h′,h′∈{1,2}至多百分 之十的基因的值,得到变异子代染色体chroh,mu_h′,h′∈{1,2}。

7b5.若存在未执行过变异操作的变异父代染色体chroh,cr_h′,h′∈{1,2},则选择此个体, 执行步骤7b1,若两个变异父代染色体chroh,cr_h′,h′∈{1,2}均执行过变异操作,则执行步骤 7c。

执行完本步骤后,将进化得到的个体分别采用切比雪夫更新方式对原染色体进行更 新,然后重新迭代进化,直到满足迭代次数,将最终产生的进化种群对测试集进行分类预 测,并最终计算出曲线凸包下的面积(AUCH),该面积越大,说明分类效果越好。该方法 采用的多个子染色体分别对原染色体进行更新的方式在提高识别精度的同时也加快了算 法的运行速度。

实施例7:基于分解的多目标进化模糊规则分类方法同实施例1-6,参照图1,本发明 还可以从整体上通过以下描述说明,本发明的实现包括如下步骤:

步骤一:从某一技术领域中采集或获取被测训练数据集X和测试数据集X′,训练数 据集用来训练分类器,测试数据集用来检测训练好的分类器的性能,两个数据集所包含的 数据具有相同的数据格式,其数据格式为xi=[xi,1,...,xi,n,y],xi为任一数据集中的第i条数 据,其中xi,1,...,xi,n为数据xi的n个属性值,y为数据xi所属类别的类标,本例中是从不同 种类的玻璃中获取数据,以获取数据的百分之八十作为训练数据集X,以获取数据的剩余 百分之二十作为测试数据集X′,玻璃数据的属性有9个,玻璃的类别共有7个,因此训练 数据集与测试数据集的具体数据格式为xi=[xi,1,...,xi,9,y],其中xi,1,...,xi,9为数据xi的9个属 性值,y为数据xi所属类别的类标,y∈{1,2,3,4,5,6,7},1为采用浮法玻璃生产法生产的建 筑物玻璃,2为采用非浮法玻璃生产法生产的建筑物玻璃,3为采用浮法玻璃生产法生产 的车辆玻璃,4为采用非浮法玻璃生产法生产的车辆玻璃,5为器皿,6为餐具,7为前照 灯。

步骤二:分别将训练数据集X和测试数据集X′的n个属性值归一化到[0,1]内,并将训 练数据集X按类别的类标分成多数类数据集Dnegative与少数类数据集Dpositive,多数类数据集 与少数类数据集所包含的数据个数分别为Nnegative、Npositive,本例中,分别将训练数据集X 和测试数据集X′的9个属性值归一化到[0,1]内,并将类别为{1,2,7}的数据标记成多数类数 据,类别为{3}的数据标记成少数类数据。

步骤三:人为设定忽略概率pi,pi∈[0,1],人为设定模糊分区数par,par≠0取值为 正整数人为初始化模糊分区的隶属度函数为三角隶属度函数,本例中,pi=0.9,par=5。

步骤四:初始化由pop个模糊分类器构成的原始种群P,每个模糊分类器代表一条染 色体chroh,h∈{1,...,pop},每条染色体包含R条模糊规则ri=[ri,1,...,ri,n,wi,li],i∈{1,...,R},模 糊规则ri的前n项属性值,记录了n个模糊分区标号,每个属性代表一个基因,模糊分区 标号的范围为{0,...,par},wi为模糊规则的权重,li为模糊规则所属类别的类标,其中每一 条模糊规则的权重采用引入了加权因子的模糊规则权重公式来确定,其中模糊规则的权重 wi,i∈{1,...,R},本例中,pop=150,R=15,由于玻璃数据具有9个属性,则模糊规则ri具 有9个对应属性值即ri=[ri,1,...,ri,9,wi,li],i∈{1,...,15},其中wi∈[0,1],i∈{1,...,15}, li∈{postive,negative}。

4.1).从训练数据集X中随机选出一条数据xrand=[xrand,1,...,xrand,n,yrand],对应于该条 数据xrand存在一条模糊规则rrand=[rrand,1,...,rrand,n,wrand,lrand],其中模糊规则rrand的前n项属 性值分别记录了与数据xrand的n个属性所对应的模糊分区标号,wrand为模糊规则rrand的权 重,lrand为模糊规则rrand所属类别的类标,确定该条模糊规则rrand的前n项属性值,该模糊 规则的权重wrand与该模糊规则所属类别的类标lrand由步骤4.2)确定,本例中,从玻璃数据 的训练数据集X中随机选出一条数据xrand=[xrand,1,...,xrand,9,yrand],对应于该条数据xrand存 在一条模糊规则rrand=[rrand,1,...,rrand,9,wrand,lrand],其中模糊规则rrand的前9个属性值分别记 录了与数据xrand的9个属性所对应的模糊分区标号,确定模糊规则的前n项属性值的具体 实施步骤是本技术领域的常规操作。

4.1.1).对于xrand的第j个属性xrand,j,j∈[1,...,n],产生随机数rand0∈[0,1],若rand0大于忽略概率pi则分别求出与xrand,j对应的par个模糊分区的隶属度,执行步骤4.1.2),若 rand0小于等于忽略概率pi执行步骤4.1.3),本例中,对于xrand的第j个属性 xrand,j,j∈[1,...,9],产生随机数rand0∈[0,1],若rand0大于忽略概率0.9则分别求出与xrand,j对应的5个模糊分区的隶属度,执行步骤4.1.2),若rand0小于等于忽略概率0.9执行步骤 4.1.3)。

4.1.2).采用轮盘赌的方法确定xrand,j所属的模糊分区,并将该模糊分区的分区标号 标记在与数据xrand相对应的模糊规则rrand的第j个属性rrand,j上,执行步骤4.1.4)。

4.1.3).确定xrand,j所属的模糊分区的分区标号为0,将0标记在与数据xrand相对应的 模糊规则rrand的第j个属性rrand,j上。

4.1.4).若与数据xrand相对应的模糊规则rrand中存在没有标记分区标号的属性rrand,j, 则选择此属性xrand,j,执行步骤4.1.1),若所有属性rrand,j均标记了分区标号,执行步骤4.2)。

4.2).向模糊规则权重公式中引入加权因子,该加权因子能够均衡多数类与少数类之 间的不平衡性,分别确定多数类的模糊规则权重connegative以及少数类的模糊规则权重 conpositive,进而由connegative和conpositive确定模糊规则rrand=[rrand,1,...,rrand,n,wrand,lrand]的权重 wrand,以及模糊规则rrand所属类别的类标lrand,其中模糊规则权重wrand∈[0,1],所属类别 的类标lrand∈{positive,negative},本例中,模糊规则rrand=[rrand,1,...,rrand,9,wrand,lrand]。

4.2.1).分别计算多数类数据集Dnegative中每一个数据 xkn=[xkn,1,...,xkn,n,ykn],kn=1,...,Nnegative与步骤4.1)中得到的模糊规则rrand的匹配度 其计算公式如下:

μrrand(xkn)=μrrand,1(xkn,1)·...·μrrand,n(xkn,n),kn=1,...,Nnegative

其中分别指数据xkn的n个属性在模糊规则rrand的前n项所记 录的分区标号下的隶属度,本例中,多数类数据集Dnegative中每一个数据 xkn=[xkn,1,...,xkn,9,ykn],kn=1,...,Nnegative与步骤4.1)中得到的模糊规则rrand的匹配度 其计算公式如下:

μrrand(xkn)=μrrand,1(xkn,1)·...·μrrand,9(xkn,9),kn=1,...,Nnegative

其中分别指数据xkn的9个属性在模糊规则rrand的前9项所记 录的分区标号下的隶属度。

4.2.2).分别计算少数类数据集Dpositive中每一个数据 xkp=[xkp,1,...,xkp,n,ykp],kp=1,...,Npositive与模糊规则rrand的匹配度其计算公式如下:

μrrand(xkp)=μrrand,1(xkp,1)·...·μrrand,n(xkp,n),kp=1,...,Npositive

其中分别指数据xkp的n个属性在模糊规则rrand的前n项所记 录的分区标号下的隶属度,本例中,少数类数据集Dpositive中每一个数据 xkp=[xkp,1,...,xkp,9,ykp],kp=1,...,Npositive与模糊规则rrand的匹配度其计算公式如下:

μrrand(xkp)=μrrand,1(xkp,1)·...·μrrand,9(xkp,9),kp=1,...,Npositive

其中分别指数据xkp的9个属性在模糊规则rrand的前9项所记 录的分区标号下的隶属度。

4.2.3).计算多数类中所有Nnegative个匹配度之和Snegative以及少数类中所有Npositive个匹 配度之和Spositive,其计算公式如下:

Snegative=Σkn=1Nnegativeμrrand(xkn)

Spositive=Σkp=1Npositiveμrrand(xkp)

4.2.4).计算多数类数据集的模糊规则权重connegative与少数类数据集的模糊规则权重 conpositive,多数类数据集与少数类数据集的模糊规则权重公式分别如下:

connegative=SnegativeSnegative+Spositive·Nnegative+NpositiveNnegative

conpositive=SpositiveSnegative+Spositive·Nnegative+NpositiveNpositive

4.2.5).计算模糊规则rrand的权重并比较connegative中的与conpositive中的将两项中较大者所属类别的类标确定为模糊规则rrand所属类别的类 标lrand,将最终确定的wrand、lrand分别填入模糊规则rrand的后两项得到完整的模糊规则rrand

4.3).重复执行R次步骤4.1)-4.2),得到由R条规则组成的一条染色体chro,本例中, 重复执行15次步骤4.1)-4.2),得到由15条规则组成的一条染色体chro。

4.4).重复执行pop次步骤4.3),得到由pop条染色体即chroh,h=1,...,pop组成的原 始种群P,本例中,重复执行150次步骤4.3),得到由150条染色体即chroh,h=1,...,150组 成的原始种群P。

步骤五:人为设定迭代终止条件termination,初始迭代次数t=1,迭代步长也为1, 理想点idealpoint=[0,1],本例中,迭代终止条件termination=25,两个目标值为FPR、TPR, 其理想点分别为FPR=0、TPR=1。

步骤六:采用分解机制,根据原始种群P的大小pop,划分出pop个方向向量,其中 染色体chroh,h∈{1,...,pop}对应的方向向量为本例中,根据原始种群P的 大小150,划分出150个方向向量,其中染色体chroh,h∈{1,...,150}对应的方向向量为

步骤七:对原始种群P中的所有染色体chroh,h=1,...,pop执行进化操作,得到pop条 由染色体chro′h,h∈{1,...,pop}组成的进化种群P′,本例中,所有染色体chroh,h=1,...,150执 行进化操作,得到进化种群P′,该进化种群由150条由染色体chro′h,h∈{1,...,pop}组成。

7.1).对染色体chroh,h∈{1,...,pop}执行交叉操作,得到两个交叉子代染色体 chroh,cr_1,chroh,cr_2,本例中,对染色体chroh,h∈{1,...,150}执行交叉操作。

7.1.1).在整个原始种群P范围内随机选择两条染色体 chroh,p1,chroh,p2,p1,p2∈{1,...,pop}作为chroh的交叉父代染色体,其中,两个交叉父代染色 体包含的规则数分别为Nh,p1,Nh,p2,记较小的规则数为Nh,min,本例中,在整个原始种群P 范围内随机选择两条染色体chroh,p1,chroh,p2,p1,p2∈{1,...,150}作为chroh的交叉父代染色 体。

7.1.2).产生随机数rand1∈[1,...,Nh,min],以rand1作为交叉点,对两个交叉父代染色 体chroh,p1,chroh,p2执行单点交叉操作(这里将每一条规则看做一个基因位,最小操作单位 为一条规则),得到两个交叉子代染色体chroh,cr_1,chroh,cr_2,单点交叉操作属于常规操作。

7.2).将两个交叉子代染色体chroh,cr_1,chroh,cr_2作为变异父代染色体,分别执行变异 操作,得到两个变异子代染色体chroh,mu_1,chroh,mu_2

7.2.1).产生随机数rand2∈[0,1],若rand2小于等于0.4,则执行步骤7.2.2),若rand2大于0.4并小于等于0.8,则执行步骤7.2.3),若rand2大于0.8,则执行步骤7.2.4)。

7.2.2).执行第一种变异方式,即随机向变异父代染色体chroh,cr_h′,h′∈{1,2}中添加 γ∈[1,5]条规则,得到变异子代染色体chroh,mu_h′,h′∈{1,2},执行步骤7.2.5)。

7.2.2.1).确定变异父代染色体chroh,cr_h′,h′∈{1,2}的规则数为Nh,cr_h′,h′∈{1,2},产 生随机数γ∈[1,5],若γ+Nh,cr_h′>20,则γ=20-Nh,cr_h′

7.2.2.2).重复执行γ次步骤4.1)-4.2),得到γ条规则,将这些规则添加到变异父 代染色体chroh,cr_h′,h′∈{1,2}中得到变异子代染色体chroh,mu_h′,h′∈{1,2},执行步骤7.2.5)。

7.2.3).执行第二种变异方式,即随机删除变异父代染色体chroh,cr_h′,h′∈{1,2}中的 λ∈[1,min(5,Nh,cr_h′-1)]条规则,得到变异子代染色体chroh,mu_h′,h′∈{1,2},执行步骤7.2.5)。

7.2.3.1).确定变异父代染色体chroh,cr_h′,h′∈{1,2}的规则数为Nh,cr_h′,h′∈{1,2},产 生随机数λ∈[1,min(5,Nh,cr_h′-1)]。

7.2.3.2).随机从变异父代染色体chroh,cr_h′,h′∈{1,2}的规则中选择λ条规则,将其 去掉,得到变异子代染色体chroh,mu_h′,h′∈{1,2},执行步骤7.2.5)。

7.2.4).执行第三种变异方式,即随机改变变异父代染色体chroh,cr_h′,h′∈{1,2}至多百 分之十的基因,得到变异子代染色体chroh,mu_h′,h′∈{1,2}。

7.2.4.1).确定变异父代染色体chroh,cr_h′,h′∈{1,2}中所有基因的数目之和为 fh,cr_h′,h′∈{1,2},产生随机数

7.2.4.2).随机从变异父代染色体chroh,cr_h′,h′∈{1,2}的所有基因中选择δ个基因, 随机改变这δ个基因所对应的模糊分区标号,模糊分区标号的范围为[1,5]。

7.2.4.3).对所有改变过基因的规则执行步骤4.2),得到变异子代染色体 chroh,mu_h′,h′∈{1,2}。

7.2.5).若存在未执行过变异操作的变异父代染色体chroh,cr_h′,h′∈{1,2},则选择此个 体,执行步骤7.2.1),若两个变异父代染色体chroh,cr_h′,h′∈{1,2}均执行过变异操作,则执 行步骤7.3)。

7.3).以理想点idealpoint=[0,1]作为参考点,将由进化操作产生的染色体 chroh,cr_1,chroh,cr_2,chroh,mu_1,chroh,mu_2分别对chroh,h∈{1,...,pop}执行更新操作,得到更新 后的染色体,记为chro′h,h∈{1,...,pop},本例中,将由进化操作产生的染色体 chroh,cr_1,chroh,cr_2,chroh,mu_1,chroh,mu_2分别对chroh,h∈{1,...,150}执行更新操作,得到更新后 的染色体,记为chro′h,h∈{1,...,150}。

7.3.1).依次将染色体chroh,cr_1,chroh,cr_2,chroh,mu_1,chroh,mu_2编号为 chroh,evo_b,b=1,...,4,由chroh,evo_b,b=1,...,4对训练数据集X的所有数据的类别进行预测,结 果为resulth,evo_b=[FPR,TPR],b∈{1,...,4}。

7.3.1.1).确定染色体chroh,evo_b,b∈{1,...,4}的规则集为R_evo_b,包含的规则数为 NR_evo_b,取训练数据集X中未被该染色体预测过的数据xpre

7.3.1.2).分别求规则集R_evo_b中的每一条规则rs,s=1,...,NR_evo_b与数据xpre的匹 配度μrs(xpre)=μrs,1(xpre,1)·...·μrs,n(xpre,n),s=1,...,NR,选择匹配度最大的那条规则所对应的类 别作为xpre的类别的预测结果,本例中,规则集R_evo_b中的每一条规则rs,s=1,...,NR_evo_b与数据xpre的匹配度为μrs(xpre)=μrs,1(xpre,1)·...·μrs,9(xpre,9),s=1,...,NR.

7.3.1.3).若训练数据集X中存在未进行过类别预测的数据xpre,则选定此数据,执 行步骤7.3.1.2),若训练数据集X中所有数据都进行过类别预测,执行步骤7.3.1.4)。

7.3.1.4).将X的所有数据的类别预测结果与所有数据的真实类别进行比对,求出 FPR、TPR,记为resulth,evo_b=[FPR,TPR],b∈{1,...,4},FPR与TPR的计算公式如下:

TPR=TPTP+FN

FPR=FPFP+TN

其中,TP为训练数据集X中真实类别为少数类,预测类别也为少数类的数据个数, FN为训练数据集X中真实类别为少数类,预测类别为多数类的数据个数,FP为训练数据 集X中真实类别为多数类,预测类别为少数类的数据个数,TN为训练数据集X中真实类 别为多数类,预测类别也为多数类的数据个数,FPR、TPR的具体实施步骤为常规操作。

7.3.1.5).若存在没有进行过类别预测的染色体chroh,evo_b,b∈{1,...,4},则对此染色体 执行步骤7.3.1.1),若所有染色体都进行过类别预测执行步骤7.3.2)。

7.3.2).按照步骤7.3.1)的求解方式,求出染色体chroh,h∈{1,...,pop}在训练数据集 X上的类别预测结果,其结果形式为resulth=[FPR,TPR],h∈{1,...,pop},本例中,求出染色 体chroh,h∈{1,...,150}在训练数据集X上的类别预测结果,其结果形式为 resulth=[FPR,TPR],h∈{1,...,150}。

7.3.3).将染色体chroh,evo_b,b∈{1,...,4}通过切比雪夫分解方法对chroh,h∈{1,...,pop} 进行更新,得到更新后的染色体,记为chro′h,h∈{1,...,pop},本例中,将染色体 chroh,evo_b,b∈{1,...,4}通过切比雪夫分解方法对chroh,h∈{1,...,150}进行更新,得到更新后的 染色体,记为chro′h,h∈{1,...,150}。

7.3.3.1).确定待更新的染色体chroh的权重为idealpoint=[0,1],本 例中,待更新的染色体chroh的权重为

7.3.3.2).分别求进化染色体chroh,evo_b和待更新的染色体chroh两个方向中目标值的 最大值,记为evah,evo_b和evah,其计算公式分别为:

rvah,evo_b=max{hpop*|resulth,evo_b(1,1)-idealpoint(1,1)|,pop-hpop*|resulth,evo_b(1,2)-idealpoint(1,2)|}

evah=max{hpop*|resulth(1,1)-idealpoint(1,1)|,pop-hpop*|resulth(1,2)-idealpoint(1,2)|}

本例中,pop的值为150。

7.3.3.3).比较evah,evo_b和evah,将较小者所对应的染色体确定为更新后的染色体, 记为chro′h,h∈{1,...,pop},本例中,pop的值为150。

7.3.4).若存在未执行过步骤7.3.3)的染色体chroh,evo_b,b∈{1,...,4},则选定此染色体 并将更新后的染色体chro′h,h∈{1,...,pop}记为待更新的染色体chroh,h∈{1,...,pop},执行步 骤7.3.3),若所有染色体chroh,evo_b,b∈{1,...,4}均执行过步骤7.3.3),则执行步骤7.4),本例 中,pop的值为150。

7.4).若原始种群P中存在未执行过进化操作的染色体chroh,h∈{1,...,pop},则选定 此染色体,执行步骤7.1),若原始种群P中所有染色体均执行过进化操作,则将种群 chro′h,h=1,...,pop记为进化种群P′,执行步骤八,本例中,pop的值为150。

步骤八:若迭代次数t小于迭代终止条件termination则迭代次数t加1,将进化种群P′ 记为原始种群P,将染色体chro′h,h∈{1,...,pop}记为chroh,h∈{1,...,pop},执行步骤七,若 迭代次数t等于迭代终止条件termination,则执行步骤九,本例中,迭代终止条件 termination=25,pop为150。

步骤九:将进化种群P′中的所有染色体chro′h,h=1,...,pop参照步骤7.3.1)的方式依次 对测试数据集X′进行类别预测,得到pop条预测结果,其中每条染色体chro′h,h∈{1,...,pop} 对应一条结果,本例中,pop为150。

步骤十:将得到的pop条分类结果投射到操作者接收曲线(ROC)平面上,获取曲线 凸包下面积的值(AUCH),其值在[0,1]区间内,并输出该值,该输出结果代表了被测某 一技术领域中采集或获取的数据集中所有数据的分类正确率,曲线凸包下面积的值越大, 分类结果越好,本例中,将得到的150条分类结果投射到操作者接收曲线(ROC)平面上, 获取凸包下面积的值(AUCH),其值在[0,1]区间内,并输出该值,该输出结果代表了玻 璃数据集中数据的分类正确率,曲线凸包下面积的值越大,分类结果越好。

10.1).将所有的pop条结果投射到以FPR和TPR为横纵坐标的ROC平面上,其中平 面上的每个点代表一条结果,本例中,pop为150。

10.2).找出这pop个点组成的曲线凸包,求曲线凸包下面积的值,记为AUCH并输 出,本例中,pop为150。

求出AUCH后即可通过其值判断分类效果的好坏,AUCH的值越大说明分类效果越 好,本发明将基于分解的多目标进化算法与模糊规则分类系统相结合来解决不平衡分类问 题,在获得较高识别精度的同时加快了算法的运行速度。

上述实施例具体给出了酵母菌细胞结构的识别以及玻璃种类的识别两个应用,本发明 还可直接应用于肿瘤检测、信用卡欺诈检测、文本分类、垃圾短信识别、卫星图片中油井 的检测等技术领域中,根据各自的需要,对其中的数据进行分类,并能达到识别精度高, 分类速度快和易操作执行的效果。

实施例8:基于分解的多目标进化模糊规则分类方法同实施例1-7,本发明的效果可以 通过以下实验进一步说明:

1.仿真实验采用的数据集:

仿真实验使用了11个不平衡数据集,具体情况如表1所示。表1中,#Ex代表各数据 集中数据的总数目,#Atts代表各数据集中数据的属性数,%Class(-;+)代表各数据集中少 数类与多数类占的比例大小,IR代表各数据集的不平衡度,即多数类与少数类的数目之比, IR越大则不平衡度越高。

表1不平衡数据集的基本参数

2.仿真实验的参数设置条件:

设定参数为:忽略概率pi=0.9、模糊分区数par=5、隶属度函数为三角隶属度函数、 种群大小pop=150、每条染色体包含的规则R=15、迭代终止条件termination=25、理想 点idealpoint=[0,1]。

3.仿真实验环境:

在CPU为core22.4HZ、内存2G、WINDOWS 7系统上使用MATLAB进行仿真。

4.仿真内容

用本发明从KEEL数据库中选定11个不平衡数据集进行训练测试,采用五倍交叉验证 的方式,表2记录其AUCH,AUCH的取值范围为[0,1],AUCH的值越大,说明分类效果越 好,表中加黑的结果为3个算法中效果最好的结果。表2中数据列第一列是本发明 AFC_MOGD分别在11个不平衡数据集上迭代25次的测试结果,第二列是对比算法 MOGF_CS分别在11个不平衡数据集上迭代300次的测试结果,第三列是对比算法C4.5 分别在11个不平衡数据集上的测试结果,第四列是对比算法E-Algorithm分别在11个不 平衡数据集上的测试结果,其中本发明AFC_MOGD和对比算法MOGF_CS均为基于进化 思想的算法,对比算法C4.5和E-Algorithm均为传统算法。

表2不同分类算法在不平衡数据集上的AUCH

由表2可以看出,与传统算法(第三、四列结果)相比,本发明即第一列结果在几乎 所有11个不平衡数据集中均优于两个对比算法;与基于进化思想的对比算法即表中的第二 列结果相比,在11个不平衡数据集的测试结果上优于此对比算法的同时,本发明的迭代次 数为25代,远远小于对比算法MOGF_CS的300代,所以本发明在提高分类效果的同时, 加快了算法的运行速度。

简而言之,本发明公开的一种基于分解的多目标进化模糊规则分类方法,主要解决现 有的分类方法对不平衡数据分类效果差的问题,诸如分类方法对肿瘤检测、误差检测、信 用卡欺诈检测、垃圾短信识别等领域识别效果差的缺陷。其实现步骤是:获取训练数据集 和测试数据集;归一化两个数据集并将训练数据集分为多数类和少数类数据集;初始化忽 略概率、模糊分区数以及隶属度函数;初始化由模糊分类器构成的原始种群,模糊分类器 中规则的权重采用具有加权因子的模糊规则权重公式确定;初始化迭代终止条件、迭代次 数及步长、理想点;根据种群大小划分方向向量;对原始种群执行进化操作并将进化得到 的个体分别采用切比雪夫更新方式对原始种群进行更新;将原始种群进化预设的次数后得 到进化种群;将得到的进化种群中所有染色体对测试数据集进行分类,获得分类结果;对 得到的分类结果进行计算得到AUCH并输出。本发明具有运行速度快,分类效果好的优点。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号