数据挖掘方法和装置的制作方法

文档序号:6584622阅读:180来源:国知局

专利名称::数据挖掘方法和装置的制作方法
技术领域
:本发明涉及通信
技术领域
,特别涉及一种数据挖掘方法和装置。
背景技术
:数据挖掘技术是近年来对人类生活影响最大的几项信息技术(InformationTechnology;简称IT)技术之一。数据挖掘技术的目的是从大量的数据中快速、有效地挖掘出对预测趋势和决策行为有用的信息,因此数据挖掘技术需要高效的搜索算法。遗传算法由于其运算简单和有效的解决问题的能力而被广泛应用到数据挖掘领域。理论上,遗传算法可以从概率的意义上以随机的方式寻求到问题的最优数据。遗传算法的主要算子包括选择算子、交叉算子和变异算子。遗传算法使用交叉算子可以从全局的角度出发找到一些较好的个体(染色体),它们有助于接近问题的最优解。但仅使用交叉算子无法对搜索空间的细节进行局部搜索,这时使用变异算子来调整个体编码串中的部分基因,可以从局部的角度出发使个体更加逼近最优解。其中变异算子用于增加遗传算法的局部搜索能力,变异操作是对种群模式的扰动,有利于增加种群的多样性。但是,如果变异概率太小很难产生新模式,变异概率太大则会使遗传算法成为随机搜索算法。基本遗传算法使用基本位变异算子,即对个体编码串中以变异概率P随机指定某一位或某几位基因进行变异,由于一般变异概率都很小,在现有的遗传算法运算过程中以固定的变异概率变异所有基因位,在遗传算法运算前期的全局搜索阶段,不易产生新的个体,使算法易陷于早熟;在遗传算法运算后期的局部搜索阶段,变异概率小,发挥作用慢,局部搜索能力差。综上所述,现有遗传算法出现的主要问题是早熟、收敛速度慢,也存在局部寻优能力较差的问题。
发明内容本发明提供一种数据挖掘方法和装置,目的是解决现有的数据挖掘采用的遗传算法存在的早熟、收敛速度慢差等缺点,以减缓早熟,提高遗传算法的收敛速度,快速准确地得到最优数据。本发明提供一种数据挖掘方法,包括对由初始群体编码得到的决策信息表进行属性约简,获得所述决策信息表的属性约简集合;根据所述属性约简集合确定的遗传算法,对所述初始群体进行选择、交叉和变异运算,获取最优数据。本发明又提供一种数据挖掘装置,包括属性约简模块,用于对由初始群体编码得到的决策信息表进行属性约简,获得所述决策信息表的属性约简集合;遗传算法模块,用于根据所述属性约简集合确定的遗传算法,对所述初始群体进行选择、交叉和变异运算,获取最优数据。本发明提供的数据挖掘方法和装置,对初始群体编码得到的决策信息表进行属性约简后,根据得到的属性约简集合可以确定遗传算法,采用该遗传算法对初始群体进行选择、交叉和变异运算,能够加快遗传算法的收敛速度,克服遗传算法的早熟,快速准确地得到最优数据。图1为本发明数据挖掘方法第一实施例的流程图;图2为本发明数据挖掘方法第二实施例的流程图;图3为本发明数据挖掘方法第—三实施例的流程图;图4为本发明数据挖掘方法第—三实施例中最优解查找部分的流程5为本发明数据挖掘方法第—三实施例中变异运算的流程图;图6为本发明数据挖掘装置第一实施例的结构示意图;图7为本发明数据挖掘装置第二实施例的结构示意图。具体实施例方式下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。图l为本发明数据挖掘方法第一实施例的流程图,如图l所示,该数据挖掘方法包括以下步骤步骤101、对由初始群体编码得到的决策信息表进行属性约简,获得所述决策信息表的属性约简集合。对初始群体编码得到的决策信息表后,采用粗糙集的属性约简算法,可以对决策信息表进行属性约简,获得决策信息表的属性约简集合,其中属性约简集合可以是决策信息表的最小属性约简集合。步骤102、根据所述属性约简集合确定的遗传算法,对所述初始群体进行选择、交叉和变异运算,获取最优数据。将决策信息表的属性约简集合包括的条件属性作为关键基因位,决策信息表的除了属性约简集合以外的其它条件属性作为非关键基因位,可以确定遗传算法,设定遗传算法中各个基因位的变异概率,例如将关键基因位的变异概率设定为P1,非关键基因位的变异概率设定为P2。然后,根据确定的遗传算法,对初始群体进行选择、交叉和变异运算后,可以将得到数据进行解码后输出最优数据。本实施例对初始群体编码得到的决策信息表进行属性约简后,根据得到的属性约简集合可以确定遗传算法,采用该遗传算法对初始群体进行选择、交叉和变异运算,能够加快遗传算法的收敛速度,克服遗传算法的早熟,快速准确地得到最优数据。图2为本发明数据挖掘方法第二实施例的流程图,如图2所示,在数据挖掘方法第一实施例的基础上,在步骤101之前,该数据挖掘方法还可以包括步骤100、对每个初始群体中的染色体按照设定位数进行二进制编码,得到所述决策信息表,每个初始群体中的染色体在所述决策信息表中对应为一个样本,所有初始群体中的染色体经二进制编码得到的相同基因位的数据在所述决策信息表中对应为一个条件属性子集,所述决策信息表中所有的条件属性子集构成条件属性集合,每个样本在所述决策信息表中对应一个决策属性,所有样本的决策属性在所述决策信息表中对应为一个决策属性集合。对每个初始群体中的染色体进行二进制编码,可以得到决策信息系统S={U,Q,V,fh直观表示为决策信息表的形式。其中,U为样本的有限集合,在决策信息表中可以表示为{&,X2,X3,X4,X5......},每一个样本对应一个初始群体中的染色体。Q为属性的有限集合,Q=CUD,C是条件属性集合,在决策信息表中可以按照二进制编码对应表示为{Q,C2,C3,C4,C5,......},条件属性集合C对应着所有初始群体中的染色体经二进制编码得到的相同基因位的数据。D是决策属性集合,在决策信息表中可以表示为WhC和D都是Q的子集。V为属性的值域,对应着每个基因位的取值范围,例如在二进制中V二{0,1}。f可以表示为UXQ—V的映射,为U中各样本的属性指定惟一值,使每个样本的属性GU,qGQ),满足f(Xi,q)GV,例如样本&在条件属性Q上的取值为0,则可以得到f,C》=0;样本^在决策属性上的取值为l,则可以得到f(&,d》=1。属性约简(AttributeReduction)是指在一个信息系统中,经过属性约简后的属性约简集合具有同原始属性集合相同的分类质量,最小属性约简集合是指含有属性个数最少的属性约简集合。因此,步骤101具体可以包括步骤201、从所述决策信息表的辨别矩阵中,获取所述决策信息表的核心条件属性子集。首先计算决策信息表的核心条件属性子集CORE也称为核,具体方法如下公式(1):CORE={cGC:1^.={c},1《j《i《n}(1)公式(1)中c为从可辨识矩阵M中选取的核心条件属性,C为条件属性集合;niij为可辨识矩阵M的元素。可以从可辨识矩阵M中选取具有单一条件属性子集的元素作为核心条件属性子集;如果M中没有单一条件属性子集的元素,也可以选取出现频率最多的条件属性子集作为核心条件属性子集;n为自然数,表示初始种群中染色体的个数。步骤202、判断所述决策信息表的决策属性集合对所述核心条件属性子集的依赖程度是否等于所述决策属性集合对条件属性集合的依赖程度,如果是,则将所述核心条件属性作为属性约简集合;否则,执行步骤203。决策信息表决策属性集合D对任意一个条件属性子集P的依赖程度(也称相关程度)满足公式(2):<formula>formulaseeoriginaldocumentpage7</formula>(2)公式(2)中,Y(P,D)为D对P的依赖程度,0《Y(P,D)《1;P^C;card(P0SP(D))为POSp(D)中元素的个数;POSp(D)为P关于D的"正区域",表示根据P能够正确分入的所有样本。步骤203、判断所述决策信息表的决策属性集合对条件属性集合中至少一个非核心条件属性子集与所述核心条件属性子集的并集的依赖程度是否等于所述决策属性集合对条件属性集合的依赖程度,如果是,则将所述至少一个非核心条件属性子集与所述核心条件属性子集的并集作为属性约简集合。得到决策信息表的属性约简集合后,还可以验证该属性约简集合是否是该决策信息表的最小属性约简集合,验证的方法是从属性约简集合RED(U)取出任意一个非核心条件属性子集{a};如果决策属性集合D对从属性约简集合取出任意一个{a}剩余的数据RED(U)-(al的依赖程度都不等于D对条件属性集合C的依赖程度,则该属性约简集合为最小属性约简集合;否则,如果D对RED(U)-(al的依赖程度等于D对C的依赖程度,则将属性约简集合RED(U)替换为RED(U)-(ah再继续循环执行上述的验证步骤,直到属性约简集合为最小属性约简集合为止。可以采用最小属性约简集合作为后续确定遗传算法的依据,能够减少遗传算法的运算再进一步地,步骤102可以包括选择、交叉和变异运算,具体为步骤204、根据每个初始群体中的染色体的适应度计算所述初始群体对应的遗传概率,按照所述遗传概率选择第一数量个染色体。可以采用如下公式(3)计算初始群体中每个初始群体中的染色体被选中遗传到下一代群体的遗传概率,然后按照遗传概率选择第一数量个染色体。《=F(X,)/2f(X,)(3)在公式(3)中,Pi为初始群体中第i个染色体的遗传概率,Fi为初始群体中第i个染色体的适应度,本实施例中,假设染色体适应度计算满足函数F(Xi)=&2,M为初始群体中染色体的个数。可以分M次从M个初始种群中选定M个染色体。步骤205、随机选取交叉点,根据设定的交叉概率从所述第一数量个染色体中选取第二数量个染色体,根据交叉点对所述第二数量个染色体上的基因位进行交叉运算。采用最优保存策略,保留适应度最大的一个染色体,对剩余的第二数量个染色体进行交叉运算。例如交叉点为3时,可以按照交叉概率将决策信息表的第3个基因位及其右端的基因位进行交叉。步骤206、根据设定的关键基因位的第一变异概率和非关键基因位的第二变异概率,对所述染色体的基因位进行变异运算,所述关键基因位为所述决策信息表的属性约简集合包括的基因位,所述非关键基因位为所述决策信息表的非属性约简集合包括的基因位,所述第一变异概率的初始值大于所述第二变异概率的初始值。其中,步骤206具体可以包括步骤2061、根据所述关键基因位的第一变异概率和非关键基因位的第二变异概率,随机选取变异点;步骤2062、判断所述变异点的基因位所属的子代染色体的适应度是否大于父代染色体的适应度,如果是,则所述变异点的基因位变异,使所述变异点的基因位所属的子代染色体替换父代染色体;否则,所述变异点的基因位不变异,使所述变异点的基因位所属的父代染色体保持不变;步骤2063、将所述第一变异概率减去设定的第一差值、所述第二变异概率加上设定的第二差值、循环次数累加后,判断所述循环次数是否达到设定的迭代次数,如果是,则获取当前适应度最高的染色体;否则,可以返回执行步骤204。步骤2061到步骤2063是变异运算的过程,变异运算可以分为全局搜索和局部搜索,在全局搜索时可以设定一个全局搜索次数,例如假设迭代次数为N,可以将全局搜索次数设定为2N/3;当循环次数达到全局搜索次数时,结束全局搜索,开始局部搜索。然后,对当前适应度最高的染色体进行二进制解码后,可以得到并输出最优数据。在本实施例中,交叉概率、迭代次数、第一变异概率的初始值、第二变异概率的初始值、第一差值、第二差值等都可以预先设定,还可以预先设定第一变异概率减小到的阈值和第二变异概率增加到的阈值。本实施例采用粗糙集算法得到决策信息表的属性约简集合后,将属性约简结合包括的关键基因位作为确定遗传算法的依据,将关键基因位的第一变异概率初始值设定为大于非关键基因位的第二变异概率初始值,能够加快遗传算法的收敛速度;在全局搜索阶段可以提高种群的多样性,在局部搜索阶段可以提高局部搜索能力;增加了遗传算法的全局搜索能力和局部搜索能力,从而可以减缓早熟,提高收敛速度,快速准确地得到最优数据。图3为本发明数据挖掘方法第三实施例的流程图,如图3所示,在数据挖掘方法第一、第二实施例的基础上,本实施例中以具体的数值为例对该数据挖掘方法进行说明,具体过程分为数据预处理部分301、属性约简部分302、最优解查找部分303和数据展现部分304。—、数据预处理部分301,对应上述实施例中的步骤100。随机取几个位于之间的值,例如取值为{7,15,2,24,16,1},初始种群个数为M=6,对这6个初始种群的染色体进行二进制编码后,得到的决策信息表可以如下表1。表1决策信息表<table>tableseeoriginaldocumentpage9</column></row><table>其中,表1对应的决策信息系统为S={U,Q,V,f},U={XpX2,X3,X4,X5,X6}为样本集合;Q为属性集合,Q=CUD,C=C2,C3,C4,Cj为条件属性集合,D={d}是决策属性集合;(CJ到{CJ是条件属性子集。表1中样本的生成方法例如样本乂4=24,进行二进制转换后为11000,则样本乂4的各个位的数值按照从低位到高位的顺序进行排列对应为{&,C2,C3,C4,C5}=(O,O,O,1,1},其它样本依次类推,得到如表1所示的决策信息表中各个样本对应的各个位上的数值。并且,根据如下的公式(4),可以得到决策信息表中各个样本对应的决策属性d的取值魂)。纵)=1,/(X,)2/(Z)1,仰一i;服)Lo,/(x;)</(x)............在公式(4)中,fd(Xi)是某个样本对应的第i位的数值,n为决策信息表中的样本个数。另外,样本在决策信息表中的排列顺序也可以为从高位到低位,例如样本^的各个位的数值也可以按照{C5,C4,C3,C2,={1,1,0,0,0}的排列顺序生成决策信息表,如下表2:表2决策信息表<table>tableseeoriginaldocumentpage10</column></row><table>二、属性约简部分302,对应上述实施例中的步骤101。利用粗糙集算法对6个初始种群中的染色体进行属性约简,可以得到关键基因位,这一过程实际上是对数据预处理后得到的决策信息表进行属性约简,得到该决策信息表的属性约简集合的过程。第一步,计算决策信息表的核心条件属性子集CORE:需要计算决策信息表的辨别矩阵M,M中的元素mi,j的计算公式,参照如下公式(5):附'V=AX,,Xye/)的同一等价类AX,,X7.e"的不同等价类,对WeC,/(d,)=/(c,X》l{CeC:/(C,X,)*/(c,X》},e"的不同等价类(5)在公式(5)中,Xi,XjGU,U={XnX2,X3,X4,X5,X6},因此1《i《6,1《j《6,辨别矩阵M为一个6*6的矩阵;f(c,X》为决策信息表中样本&与在条件属性集合C中的各个属性的数值,其中c属于{C5,C4,C3,C2,C卩;小为空集。其中,辨识矩阵M的生成方法的示例如下(I)计算mu由于i=j=l,样本A=X"从表1可知&,&在决策属性集合D上对应的取值均为O;可以得出Xi,Xj是D的同一等价类,所以mu二小;同理M对角线上所有的元素都等于小。(11)计算1%3由于i=2,j=3,从表1可知X2在D上对应的取值为1,X3在决策属性集合D上对应的取值为0;因此,X2,X3是D的不同等价类。并且,在表1中f(C"X2)-f(Q,X3)、f(C2,X2)=f(C2,X3)、f(C3,X2)-f(C3,X3)、f(C4,X2)-f(C4,X3)、f(C5,X2)=f(C5,X3),因此,在辨识矩阵中,元素m2,3={Q,C3,C4}。同理可得元素m3,2={Q,C3,C4}。(111)计算1112,5由于i=2,j=5,从表1可知X2在D上对应的取值为1,X5在D上对应的取值为1,所以乂2,乂5是0的同一等价类,1112,5=(Km2,5=小,同理可得,1%2=(K综上可得可辨别矩阵M为对称矩阵。根据表1得到的可辨识矩阵M的(仅包括上三角元素)为如下公式(6):<formula>formulaseeoriginaldocumentpage11</formula>对所有的属性cGC,cGC0RE(C,D)的充要条件是存在i,j(1《i<j《6),使得mi,j={c},即从可辨识矩阵M中选取具有单一条件属性子集的元素作为核心条件属性子集,因此从公式(6)可得CORE二{C4}。如果M中没有单一条件属性子集的元素,也可以选取出现频率最高的条件属性子集最为核心条件属性子集。此时,核心条件属性子集RED(U)=CORE={C4},C,=C-RED(U)={C"C2,C3,Cj。第二步,计算决策属性集合D对核心条件属性子集RED(U)的依赖程度,以及D对条件属性集合的依赖程度:Y=(RED(U),D)和Y(C,D)。(I)Y(C,D)的计算方法满足如下公式(7):在公式(7)中,POSc(D)=={PGU/C1U/D,且PGU/C}。其中,条件属性等价类U/C表示样本集合U在条件属性集合C上的分类;从表1可知U/C为按C={Q,C2,C3,C4,CJ的取值对U={X"X2,X3,X4,X5,X6}进行分类,由于{7,15,2,24,16,1}都不相等,可以得到U/C二{{&},{X2},{X3},{X4},{X5},{X6}}。决策属性等价类U/D表示样本集合U在决策属性集合D上的分类,按D={d}的取值对U={&,X2,X3,X4,X5,X6}进行分类,由于{XpX^Xe}在D上的取值为0,{X2,X4,XJ在D上的取值为1,因此U/D={{XpX^Xe},{X2,X4,XJ}。因此POSc(D)=={PgU/C1U/D,且PgU/C}={{Xj,{X2},{X3},{X4},{X5},(XeH,从而得到P0Sc(D)中元素的个数card(POSc(D))=6。而样本集合U中元素的个数card(U)=6,所以y(C,D)=1。(II)y=(RED(U),D)的计算方法满足如下公式(8):CfifW(POS"麵〃、(D))H及幼("),")=——^——,;)、w(8)在公式(8)中,POS輔)(D)={PgU/{C4}IU/D,且PgU/{C4}}。其中条件属性等价类U/(CJ表示U在核心条件属性子集RED(U)={CJ上的分类,U/{C4}={{X2,X4},{X!,X3,X5,X6}};决策属性等价类U/D={{X"X3,X6},{X2,X4,X5}}。因此,POS腳加(D)={PgU/{C4}IU/D,且PgU/{C4}}={{X2,X4}}。从而得到:card(P0SKED(u)(D))=2,card(U)=6,所以y=(RED(U),D)=2/6。(II工)由于y=(RED(U),D)-y(C,D),此时令C,=C-RED(U)={q,C2,C3,C5}从C,中选择一个非核心条件属性子集{a}(agC'),使得SGF(a,RED(U),D)=max(SGF(ai,RED(U),D))。其中,SGF的计算方法满足如下公式(9):假设从c'随机选择{a}=(:5,将(:5的取值代入公式(8)中,计算结果满足如下公式(10):SOP(C5,M)(t/),£))=y(C5+-y(M)(t/),")一ca^尸as朋,)+c5(z)))—c^Y/(户as朋D叨(D》(10)由于U在RED(U)+C5={C4,C5}上的分类U/{C4,C5}={{X2},{X4},仏,X3,X6},{X5}};U在决策属性D上的分类U/D={{X"X3,X6},{X2,X4,Xj};因此,尸0S咖a/)+c5(。)=(PeU/{C4,C5}1U/D,且PgU/{C4,C5}}=HX"X3,XJ,{X2},{X4},{XJ}。从而得到card((Z>))=6,并且由于card(POS咖加(D))=2,代入公式(10)可以得出^<^((75^/)(^7),/))=^=委。66根据上述方法计算,同理可得SGF(C3,i^D(t/),_D)=4,6<formula>formulaseeoriginaldocumentpage13</formula>此外,由于SGF(C5,RED(U),D)的值最大,所以将非核心条件属性子集{C5}与核心条件属性子集RED(U)进行并集运算,得到RED(劇CJ=RED(U)+C5={C4,Cj。此时,D对该并集的依赖程度为以得到该决策信息表的属性约简集合为{C4,C5}。第三步,验证属性约简集合是否是该决策信息表的最小属性约简集合。先计算属性约简集合中元素的个数I{C4,CJI=2,从属性约简集合中取出一个非核心条件属性子集{C5},然后计算D对剩余的数据的依赖程度由于y"CJ,D)=y(RED(U),D)=2/6,与y(C,D)不相等,经过属性约简后的属性约简集合{C4,C5}具有同原始属性集合相同的分类质量,而则取出{C5}后则达不到原始属性集合的分类质量,所以最小属性约简集是{c4,c5}。三、最优解查找部分303和数据展现部分304,对应上述实施例中的步骤102。将属性约简集合中的各个属性作为关键基因位,可以确定遗传算法,其中该属性约简集合可以是最小属性约简集合,也可以不是最小属性约简集合。根据最小属性约简集合确定,可以使遗传算法的运算量较小,本实施例中以属性约简集合为最小属性约简集合为例进行说明。采用属性约简集合确定的遗传算法,进行最优解查找的过程包括选择运算、交叉运算和变异运算。遗传算法中的迭代次数和交叉概率等参数可以预先设定,本实施例中假设预先设定的迭代次数N=20,交叉概率Pc=75%。图4为本发明数据挖掘方法第三实施例中最优解查找部分的流程图,如图4所示,该最优解查找部分包括以下步骤步骤401、计算每个初始群体中的染色体的适应度Fi。步骤402、进行比例选择运算。利用比例选择算子,计算每个初始群体中的染色体被选中遗传到下一代群体的概率,即遗传概率。其中,比例选择算子是指染色体被选中并遗传到下一代群体中的概率与该染色体的适应度大小成正比。比例选择实际上是一种有退还随机选择,也叫做赌盘选择(RouletteWheel),具体是先计算群体种所有染色体的适应度的总和;再计算出每个染色体的相对适应度的大小,即各染色体被遗传到下一代群体中的概率;最后再使用模拟赌盘操作(即0到1之间的随机数)来确定各个染色体被选中的次数。遗传概率满足前述的公式(3)f,具体地计算结果示例当{X"X2,X3,X4,X5,X6}={7,15,2,24,16,1}时,每个初始群体中的染色体的适应度分别为F(X》=X/=49,F(X2)=X22=225,F(X3)=4,F(X4)=576,F(X5)=256,F(X6)=l,遗传到下一代的概率分别是pi=49/(49+225+4+576+256+1)=0.044p2=225/(49+225+4+576+256+1)=0.202;k({C4,C5},Z))=y(i幼(")+C5,£)=hy(C,")所以可p3=4/(49+225+4+576+256+1)=0.004p4=576/(49+225+4+576+256+1)=0.518p5=256/(49+225+4+576+256+1)=0.231p6=1/(49+225+4+576+256+1)=0.001对初始种群个数为M的所有染色体,按照遗传概率Pi所决定的遗传概率,分M次从M个初始种群中随机选定M个染色体。假设本次选择运算后,选择的染色体分别为X/=11110(X2),X2'=00001(X5),V=11110(X2),X4,=00011(X4),X5,=00011(X4),X6,=00011(x4)。本实施例中的二进制编码数值取自表1,皆为逆序表达。采用最优保存策略,保留适应度最大的染色体Xe'(Xe'不进行交叉和变异操作,X/和V的适应度与Xe'相同,也可以保留V或x/),对其余的(V,V,V,V,V}进行后续的交叉和变异操作;步骤403、进行单点交叉运算。在本实施例中采用的交叉运算是采用单点交叉算子,随机选择交叉点,并将交叉点右端的基因进行交叉。因为设定的交叉概率Pc二75X,所以随机对(V,V,V,V,V}中的4染色体进行交叉,例如X/和X2'交叉,X/和X/进行交叉。如果随机选择交叉点为第3位,对X/和X/进行交叉的过程如下V=15,二进制编码11;110X/=24,二进制编码00;011将二者虚线后的三位进行交换,就是从交叉点第3位开始交叉。交叉运算后,X3"=11011,X4"=00110。同理,X/和X/交叉后得到X/,二11001,X2"=00110;此外,其他的染色体数值不变,此时&"=&'=00011,X6"=X6,=00011。其中x6'适应度最高,因此没有参加交叉运算,而x/虽然参加了交叉运算,但未被选中。404、根据最小约简集进行变异运算。其中,如图5所示,为本发明数据挖掘方法第三实施例中变异运算的流程图,该变异运算可以包括以下步骤步骤501、预先设定各个基因位的变异概率,假设将关键基因位的第一变异概率设定为P工=0.08,非关键基因位的第二变异概率设定为P2=0.Ol,其中,P工的初始值大于P2的初始值,第一变异概率减小到的阈值设定为Plm=0.005,第二变异概率增加到的阈值设定为P加=0.05。步骤502、判断循环次数是否达到设定的迭代次数,是则结束遗传算法,否则执行步骤503。步骤503、判断是否是全局搜索阶段,是则执行步骤504,否则执行步骤505。遗传算法的变异运算的过程可以分为全局搜索阶段和局部搜索阶段,可以根据迭代次数划分。这是由于遗传算法是启发式搜索算法,需要搜索一定的解空间以找到最优解,而全局搜索阶段就是在大范围内找最优解,但遗传算法最终要收敛,则必须縮小搜索范围,进入局部搜索阶段,即在某个解附近找最优解。假设循环次数在2N/3次之前的变异运算属于全局搜索阶段,则当循环次数小于2N/3时,在全局搜索阶段;大于或等于2N/3时,在局部搜索阶段。步骤504、在全局搜索阶段,对于最小属性约简集合决定的关键基因位以较大的第一变异概率Pi变异,对于其他的非关键基因位以较小的第二变异概率P2变异,在搜索过程中不断调整各个基因位的变异概率,即关键基因位的Pi逐渐降低,其他基因位的P2逐渐增加,执行步骤506。步骤505、在局部搜索阶段,关键基因位的变异率P工一直降低到阈值P^=0.005,非关键基因位的变异率&一直增加到阈值P^=0.05,执行步骤506。步骤506、在变异的过程中采用"精英保留策略",即对计算变异后的子代染色体的适应度,判断子代染色体的适应度是否高于父代染色体的适应度,则执行步骤507,否则执行步骤508。步骤507、用子代染色体取代父代染色体,返回执行步骤502。步骤508、沿用父代的染色体,返回执行步骤502。例如全局搜索阶段开始时,P工=0.08,在最小属性约简集合决定的关键基因位共有6(染色体数量)*2(关键基因位数量)*0.08=0.96(约等于1)个基因位变异;P2=0.Ol,在其他非关键基因位共有6*4*0.01=0.24(四舍五入)不足1位基因位变异,因此非关键基因位基本不变异。根据P工和P2随机选取变异点,例如在X/,中的第4位(C4在最小属性约简集合内)由"0"变异为"1",则V"=11011(27)。由于,X/"适应度为27*27=729,大于X/,二11001的适应度15*15=225,所以采用X/"=11011替代X/=11110。替换后的x/"适应度大于原适应度最高的染色体Xe",所将X/"作为适应度最高的染色体不参与下一次的交叉和变异操作。由于关键基因位对应的是{C4,C5},因此,在全局搜索阶段主要变异的是染色体的第4基因位和第5基因位。所有染色体的所有基因位中每次只变异1个基因位,每次变异结束后,可以将Pi减去一个设定的第一差值(例如(P^-P》/N)和P2加上一个设定的第二差值(例如(P2m-P2)/N),并将循环次数加1(假设循环次数初始为0)。对变异后的新一代染色体,需要重新进行选择和交叉运算后,再进行下一次变异。在全局搜索阶段,循环进行2N/3次选择、交叉、变异运算后,假设得到的染色体为X/"=11011(27)、X2",=00111(28)、X3",=11011(27)、X4",=00111(28)、X5",=00011(24)和X6=00011(24)。其中,V"适应度最高。在局部搜索阶段(假设为循环次数在后N/3次的变异运算属于局部搜索阶段),关键基因位的变异率Pi—直降低到阈值Plm=0.005,非关键基因位的变异率P2—直增加到阈值P^=0.05。假设P工=Plm=0.005,则在最小属性集决定的关键基因位共有6(染色体数量)*2(关键基因位数量)*0.005=0.06,不足1位,关键基因位基本不变异;P2=P2m=0.05,在非关键基因位共有6*4*0.05=1.2,有1个基因位变异。根据当前的P工和P2随机选取变异点,例如将X/"中的第3位由"0"变异为"1",则X/",=11111(31)。此时X/",的适应度为31*13=961大于X/"的适应度27*27=729,所以用&""=11111替代X/"=11011。替换后X/"'的适应度大于原适应度最高的染色体X/",所以X/"'作为适应度最高的染色体不参与下一次的交叉和变异操作。15由于关键基因位对应的是{CnC2,C3},因此,在局部搜索阶段主要变异的是染色体的第1、2、3基因位。所有染色体的所有基因位中在局部搜素阶段,每次变异运算时也只变异l个基因位。步骤405、判断循环次数是否达到设定的迭代次数N,循环次数达到N后,结束遗传算法,得到适应度最高的染色体,否则返回执行步骤401。本例中,11111为该遗传算法得到的适应度最高的染色体。数据展现部分具体为将11111解码后,从二进制转化为十进制,得到X/",=11111=31(逆序计算),最后输出的最优数据为31。下面举例说明该数据挖掘方法在一个具体数据库中的应用。假设,企业为了招聘到满足一定需要的员工,在网上海量存储各应聘人员的简历,并将这些简历中的关键信息存入数据库,在需要招聘时,筛选这些简历可以得到合适的人选。根据本发明数据挖掘方法,可以按照企业招聘的标准,快速从数据库中查找到所需的信息,具体说明如下从如表3所示的存储的雇佣历史中,可以获取相关的招聘标准,根据各个人员(XI到X6,相当于本发明实施例中的染色体)的具体信息,可以生成如表4所示的决策信息表。表3招聘历史信息表学历(m)实习经验(w)英语水平(e)计算机等级(c)结论(c)XI博士国家级项目六级3级雇用X2硕士企业级项目六级2级不雇用X3本科企业级项目四级3级不雇用X4本科国家级项目四级2级不雇用X5本科无四级无不雇用X6硕士企业级项目六级3级雇用表4决策信息表国家企业计算计算博士硕士本科级项级项英语英语机机二结论(Cl)(C2)(C3)百百六级四级三级级(d)(C4)(C5)(C6)(C7)(C8)(C9)XI1111011111X2011011101016<table>tableseeoriginaldocumentpage17</column></row><table>将表4中的数据代入本实施例中的粗糙集算法,可得该决策信息表的核心条件属性子集CORE二(C8h属性约简集为{C1,C2,C8}。根据表3中历史招聘信息可得,企业招聘时比较关注的是学历和计算机等级(对应属性约简集中的关键基因位)。然后根据属性约简集确定的遗传算法,求解该企业的招聘标准,具体过程如下先确定各个员工在表4中对应的适应度函数,由于适应度函数需要综合考虑表4中每个条件属性子集对决策属性集合的依赖程度,则转化为求解适应度函数的最大值的过程。根据不同的应用实例,选取的适应度函数可以不同。例如可以假设本例中各个染色体的适应度函数满足如下F(X):F(X)=C1*y({Cl},D)+C2*y({c2},D)+C3*y({c3},D)+C4*y({c4},D)+C5*y({cj,D)+C6*y({c6},D)+C7*y({c7},D)+C8*y({c8},D)+C9*y({c9},D)变异后的染色体的决策属性d的取值按上述的公式(4)计算。然后,根据此适应度函数进行选择,交叉和变异运算,假设迭代次数为10次,使用比例选择算子、单点交叉算子,且变异概率Pi=0.08、P2=0.01、Plm=0.005、P2m=0.05,用matlab仿真可得最优数据是011011110,即历史招聘信息显示历史的招聘标准是学历硕士、项目经验是企业级项目、英语水平达六级、计算机等级到三级,符合此标准的可考虑录用。本实施例采用粗糙集算法得到决策信息表的属性约简集合后,将属性约简结合包括的关键基因位作为确定遗传算法的依据,将关键基因位的第一变异概率初始值设定为大于非关键基因位的第二变异概率初始值,能够加快遗传算法的收敛速度;在全局搜索阶段可以提高种群的多样性,在局部搜索阶段可以提高局部搜索能力;增加了遗传算法的全局搜索能力和局部搜索能力,从而可以减缓早熟,提高收敛速度,快速准确地得到最优数据。图6为本发明数据挖掘装置第一实施例的结构示意图,如图6所示,该数据挖掘装置包括属性约简模块61和遗传算法模块62。其中,属性约简模块61,用于对由初始群体编码得到的决策信息表进行属性约简,获得所述决策信息表的属性约简集合;遗传算法模块62,用于根据所述属性约简集合确定的遗传算法,对所述初始群体进行选择、交叉和变异运算,获取最优数据。具体地,属性约简模块61采用粗糙计算法对由初始群体编码得到的决策信息表进行属性约简后,可以得到决策信息表的属性约简集合,该属性约简集合可以是决策信息表的最小属性约简集合,也可以不是决策信息表的最小属性约简集合。遗传算法模块62根据属性约简集合中包括的关键基因位,可以确定遗传算法,例如将关键基因位的变异概率的初始值设定为大于非关键基因位的变异概率的初始值,然后遗传算法模块62对该初始群体进行选择、交叉和变异运算后,可以得到并编码输出最优数据。本实施例属性约简模块对初始群体编码得到的决策信息表进行属性约简后,遗传算法模块根据得到的属性约简集合可以确定遗传算法,采用该遗传算法对初始群体进行选择、交叉和变异运算,能够加快遗传算法的收敛速度,克服遗传算法的早熟,快速准确地得到最优数据。图7为本发明数据挖掘装置第二实施例的结构示意图,如图7所示,在本发明数据挖掘装置第一实施例的基础上,该数据挖掘装置还可以包括编码模块63,用于对每个初始群体中的染色体按照设定位数进行二进制编码,得到所述决策信息表,每个初始群体中的染色体在所述决策信息表中对应为一个样本,所有初始群体中的染色体经二进制编码得到的相同基因位的数据在所述决策信息表中对应为一个条件属性子集,所述决策信息表中所有的条件属性子集构成条件属性集合,每个样本在所述决策信息表中对应一个决策属性,所有样本的决策属性在所述决策信息表中对应为一个决策属性集合。编码模块63对每个初始群体中的染色体进行二进制编码,可以得到决策信息系统S=(U,Q,V,fh直观表示为决策信息表的形式。具体可以参照本发明数据挖掘方法第二、第三实施例中的相关描述及表1、表2。进一步地,属性约简模块61可以包括核心子模块611和判断子模块612。其中,核心子模块611,用于从所述决策信息表的辨别矩阵中,获取所述决策信息表的核心条件属性子集;判断子模块612,用于判断所述决策信息表的决策属性集合对所述核心条件属性子集的依赖程度是否等于所述决策属性集合对条件属性集合的依赖程度,如果是,则将所述核心条件属性作为属性约简集合;否则,判断所述决策信息表的决策属性集合对条件属性集合中至少一个非核心条件属性子集与所述核心条件属性子集的并集的依赖程度是否等于所述决策属性集合对条件属性集合的依赖程度,如果是,则所述将至少一个非核心条件属性子集与所述核心条件属性子集的并集作为属性约简集合。具体地,核心子模块611采用粗糙计算法从决策信息表的辨别矩阵中获取核心条件属性子集后,判断子模块612根据依赖程度进行属性约简集合的判断,最终得到决策信息表的属性约简集合,具体过程可以参照本发明第二实施例中的步骤201到步骤203,以及第三实施例中的属性约简部分的相关描述。此外,遗传算法模块62可以包括选择子模块621、交叉子模块622和变异子模块623。其中,选择子模块621,用于根据每个初始群体中的染色体的适应度计算所述初始群体对应的遗传概率,按照所述遗传概率选择第一数量个染色体;交叉子模块622,用于随机选取交叉点,根据设定的交叉概率从所述第一数量个染色体中选取第二数量个染色体,根据交叉点对所述第二数量个染色体上的基因位进行交叉运算;变异子模块623,用于根据设定的关键基因位的第一变异概率和非关键基因位的第二变异概率,对所述染色体的基因位进行变异运算,所述关键基因位为所述决策信息表的属性约简集合包括的基因位,所述非关键基因位为所述决策信息表的非属性约简集合包括的基因位,所述第一变异概率的初始值大于所述第二变异概率的初始值。再进一步地,变异子模块623可以包括变异点选取单元、适应度判断单元和获取单元。其中,变异点选取单元,用于根据所述关键基因位的第一变异概率和非关键基因位的第二变异概率,随机选取变异点;适应度判断单元,用于判断所述变异点的基因位所属的子代染色体的适应度是否大于父代染色体的适应度,如果是,则所述变异点的基因位变异,使所述变异点的基因位所属的子代染色体替换父代染色体;否则,所述变异点的基因位不变异,使所述变异点的基因位所属的父代染色体保持不变;获取单元,用于将所述第一变异概率减去设定的第一差值、所述第二变异概率加上设定的第二差值、循环次数累加后,判断所述循环次数是否达到设定的迭代次数,如果是,则获取当前适应度最高的染色体。具体地,选择子模块621采用比例选择算子,计算出初始群体对应的遗传概率,按照遗传概率选择第一数量个染色体;交叉子模块622采用单点交叉算子,随机选取交叉点后,根据设定的交叉概率将第二数量个染色体上的基因位进行交叉运算;然后变异子模块623根据设定的关键基因位的第一变异概率和非关键基因位的第二变异概率,对染色体的基因位进行变异运算。在变异运算的过程中,变异点选取单元根据第一变异概率和第二变异概率,随机选取变异点;适应度判断单元判断选取的变异点的基因位所属的子代染色体的适应度是否大于父代染色体的适应度,是则该变异点的基因位变异,使所述变异点的基因位所属的子代染色体替换父代染色体;否则,该变异点的基因位不变异,使该变异点的基因位所属的父代染色体保持不变。最后,循环次数达到设定的迭代次数后,获取单元获取当前适应度最高的染色体。最后,遗传算法模块62可以将当前适应度最高的染色体进行二进制解码,输出最优数据。本实施例属性约简模块的各个子模块采用粗糙集算法得到决策信息表的属性约简集合后,遗传算法模块将属性约简结合包括的关键基因位作为确定遗传算法的依据,变异子模块根据设定的关键基因位的第一变异概率和非关键基因位的第二变异概率初始值进行变异运算,能够加快遗传算法的收敛速度;在全局搜索阶段可以提高种群的多样性,在局部搜索阶段可以提高局部搜索能力;增加了遗传算法的全局搜索能力和局部搜索能力,从而可以减缓早熟,提高收敛速度,快速准确地得到最优数据。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。19权利要求一种数据挖掘方法,其特征在于,包括对由初始群体编码得到的决策信息表进行属性约简,获得所述决策信息表的属性约简集合;根据所述属性约简集合确定的遗传算法,对所述初始群体进行选择、交叉和变异运算,获取最优数据。2.根据权利要求1所述的数据挖掘方法,其特征在于,在所述对由初始群体编码得到的决策信息表进行属性约简,获得所述决策信息表的属性约简集合之前,还包括对每个初始群体中的染色体按照设定位数进行二进制编码,得到所述决策信息表,每个初始群体中的染色体在所述决策信息表中对应为一个样本,所有初始群体中的染色体经二进制编码得到的相同基因位的数据在所述决策信息表中对应为一个条件属性子集,所述决策信息表中所有的条件属性子集构成条件属性集合,每个样本在所述决策信息表中对应一个决策属性,所有样本的决策属性在所述决策信息表中对应为一个决策属性集合。3.根据权利要求2所述的数据挖掘方法,其特征在于,所述对由初始群体编码得到的决策信息表进行属性约简,获得所述决策信息表的属性约简集合,包括从所述决策信息表的辨别矩阵中,获取所述决策信息表的核心条件属性子集;判断所述决策信息表的决策属性集合对所述核心条件属性子集的依赖程度是否等于所述决策属性集合对条件属性集合的依赖程度,如果是,则将所述核心条件属性作为属性约简集合;否则,判断所述决策信息表的决策属性集合对条件属性集合中至少一个非核心条件属性子集与所述核心条件属性子集的并集的依赖程度是否等于所述决策属性集合对条件属性集合的依赖程度,如果是,则将所述至少一个非核心条件属性子集与所述核心条件属性子集的并集作为属性约简集合。4.根据权利要求1所述的数据挖掘方法,其特征在于,所述根据所述属性约简集合确定的遗传算法,对所述初始群体进行选择、交叉和变异运算,包括根据每个初始群体中的染色体的适应度计算所述初始群体对应的遗传概率,按照所述遗传概率选择第一数量个染色体;随机选取交叉点,根据设定的交叉概率从所述第一数量个染色体中选取第二数量个染色体,根据交叉点对所述第二数量个染色体上的基因位进行交叉运算;根据设定的关键基因位的第一变异概率和非关键基因位的第二变异概率,对所述染色体的基因位进行变异运算,所述关键基因位为所述决策信息表的属性约简集合包括的基因位,所述非关键基因位为所述决策信息表的非属性约简集合包括的基因位,所述第一变异概率的初始值大于所述第二变异概率的初始值。5.根据权利要求4所述的数据挖掘方法,其特征在于,所述根据设定的关键基因位的第一变异概率和非关键基因位的第二变异概率,对所述染色体的基因位进行变异运算,包括根据所述关键基因位的第一变异概率和非关键基因位的第二变异概率,随机选取变异点;判断所述变异点的基因位所属的子代染色体的适应度是否大于父代染色体的适应度,如果是,则所述变异点的基因位变异,使所述变异点的基因位所属的子代染色体替换父代染色体;否则,所述变异点的基因位不变异,使所述变异点的基因位所属的父代染色体保持不变;将所述第一变异概率减去设定的第一差值、所述第二变异概率加上设定的第二差值、循环次数累加后,判断所述循环次数是否达到设定的迭代次数,如果是,则获取当前适应度最高的染色体。6.—种数据挖掘装置,其特征在于,包括属性约简模块,用于对由初始群体编码得到的决策信息表进行属性约简,获得所述决策信息表的属性约简集合;遗传算法模块,用于根据所述属性约简集合确定的遗传算法,对所述初始群体进行选择、交叉和变异运算,获取最优数据。7.根据权利要求6所述的数据挖掘装置,其特征在于,还包括编码模块,用于对每个初始群体中的染色体按照设定位数进行二进制编码,得到所述决策信息表,每个初始群体中的染色体在所述决策信息表中对应为一个样本,所有初始群体中的染色体经二进制编码得到的相同基因位的数据在所述决策信息表中对应为一个条件属性子集,所述决策信息表中所有的条件属性子集构成条件属性集合,每个样本在所述决策信息表中对应一个决策属性,所有样本的决策属性在所述决策信息表中对应为一个决策属性集合。8.根据权利要求7所述的数据挖掘装置,其特征在于,所述属性约简模块包括核心子模块,用于从所述决策信息表的辨别矩阵中,获取所述决策信息表的核心条件属性子集;判断子模块,用于判断所述决策信息表的决策属性集合对所述核心条件属性子集的依赖程度是否等于所述决策属性集合对条件属性集合的依赖程度,如果是,则将所述核心条件属性作为属性约简集合;否则,判断所述决策信息表的决策属性集合对条件属性集合中至少一个非核心条件属性子集与所述核心条件属性子集的并集的依赖程度是否等于所述决策属性集合对条件属性集合的依赖程度,如果是,则将所述至少一个非核心条件属性子集与所述核心条件属性子集的并集作为属性约简集合。9.根据权利要求6所述的数据挖掘装置,其特征在于,所述遗传算法模块包括选择子模块,用于根据每个初始群体中的染色体的适应度计算所述初始群体对应的遗传概率,按照所述遗传概率选择第一数量个染色体;交叉子模块,用于随机选取交叉点,根据设定的交叉概率从所述第一数量个染色体中选取第二数量个染色体,根据交叉点对所述第二数量个染色体上的基因位进行交叉运算;变异子模块,用于根据设定的关键基因位的第一变异概率和非关键基因位的第二变异概率,对所述染色体的基因位进行变异运算,所述关键基因位为所述决策信息表的属性约简集合包括的基因位,所述非关键基因位为所述决策信息表的非属性约简集合包括的基因位,所述第一变异概率的初始值大于所述第二变异概率的初始值。10.根据权利要求9所述的数据挖掘装置,其特征在于,所述变异子模块包括变异点选取单元,用于根据所述关键基因位的第一变异概率和非关键基因位的第二变异概率,随机选取变异点;适应度判断单元,用于判断所述变异点的基因位所属的子代染色体的适应度是否大于父代染色体的适应度,如果是,则所述变异点的基因位变异,使所述变异点的基因位所属的子代染色体替换父代染色体;否则,所述变异点的基因位不变异,使所述变异点的基因位所属的父代染色体保持不变;获取单元,用于将所述第一变异概率减去设定的第一差值、所述第二变异概率加上设定的第二差值、循环次数累加后,判断所述循环次数是否达到设定的迭代次数,如果是,则获取当前适应度最高的染色体。全文摘要本发明涉及一种数据挖掘方法和装置,其中,该数据挖掘方法,包括对由初始群体编码得到的决策信息表进行属性约简,获得所述决策信息表的属性约简集合;根据所述属性约简集合确定的遗传算法,对所述初始群体进行选择、交叉和变异运算,获取最优数据。本发明对初始群体编码得到的决策信息表进行属性约简后,根据得到的属性约简集合可以确定遗传算法,采用该遗传算法对初始群体进行选择、交叉和变异运算,能够加快遗传算法的收敛速度,克服遗传算法的早熟,快速准确地得到最优数据。文档编号G06N3/12GK101706883SQ20091023727公开日2010年5月12日申请日期2009年11月9日优先权日2009年11月9日发明者刘翼光,宋双,高强,黄昭婷申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1