本发明专利技术公开了一种基于双阶遗传计算的基因表达数据的双聚类方法,将矩阵M中的每一列减去第k列得到矩阵M(k),k=1,2,…,n;对M(k)的每一列进行层次聚类,得到双聚类种子的集合;通过遗传计算获得对应的双聚类。本发明专利技术所述的算法,可解决传统基于遗传计算的双聚类算法只能针对双聚类进行选择的缺点,通过同时对行列进行优化,可提高搜索效率,并获得更优的双聚类分析效果。
【技术实现步骤摘要】
一种基于双阶遗传计算的基因表达数据的双聚类方法
本专利技术涉及数据挖掘处理领域,特别涉及一种基于双阶遗传计算的基因表达数据的双聚类方法。
技术介绍
DNA微阵列技术的出现和发展使得人们可以同时检测数以千计的基因并测量其转录mRNA的表达水平。通过在多个实验条件(如不同的实验环境,不同的时间点,不同的组织样本)下反复地实验,可以搜集到上百个实验的基因表达数据。基因表达数据矩阵的行代表一个基因在不同环境条件下或不同时间点的表达,列代表不同条件或样本下(如组织、实验条件、处理因素等)所有基因的表达情况,矩阵中的数据表示特定的基因在特定的样本中的表达水平。从获取基因表达数据的具体过程来分析,可以得出基因表达数据有(1)数据量巨大;(2)高维性;(3)高噪声;(4)高冗余等特点,这对数据分析算法的研究提出了更高要求和挑战。怎样对这些海量的基因表达数据进行分析并发掘其中隐藏的信息,是当今生物信息学的一个研究热点,也是数据挖掘领域中亟待解决的问题。
技术实现思路
本专利技术的目的在于克服现有技术的缺点与不足,提供一种基于双阶遗传计算的基因表达数据的双聚类方法。本专利技术的目的通过以下的技术方案实现:一种基于双阶遗传计算的基因表达数据的双聚类方法,包含以下顺序的步骤:1)设基因表达数据矩阵为M,行数为m,列数为n,即基因表达数据矩阵的大小为m×n,将原始的数据矩阵M的每一行减去第k行,得到处理之后的矩阵M(k),k=1,2,…,n;2)对处理之后的矩阵M(k)中除了第k列之外的每一列,使用距离阈值为cof的层次聚类,得到每一列的双聚类种子,然后将所有得到的双聚类种子全部放入一个名为Bic_Set的集合;3)从Bic_Set的集合中选取一个双聚类种子,对未包含其中的行列进行编码;设遗传算法的迭代次数为ui,其中i=1,2,…,t;将未包含的行列作为搜索空间,每个行和列作为一个个体,随机选择Ni行和Nj列,令N1=Ni+Nj,即随机选择N1个个体,构成了初始化的种群P1(u1);将选中的行和列的位置记为1,没有选中的行和列的位置记为0,则得到初始化的种群P1(u1)的编码;4)将初始化的种群P1(u1)的N1个个体(行或列)分别独立的加进双聚类种子中,得到N2个已扩大的双聚类,其中N1=N2,每个双聚类作为一个个体,由N2个个体构成初始化的种群P2(u1),然后对每个双聚类进行二进制编码,编码的长度为m+n,前m位用于行编码,后n位用于列编码,将双聚类中包含的行和列对应的位置置为1;经过以上步骤就得到初始化的种群P2(u1)中双聚类的编码;至此,得到了初始化的种群P1(u1)和初始化的种群P2(u1);5)接着使用适应度函数Fitness1(p)评价初始化的种群P1(u1)中每个个体的适应度,设变异概率为β;从N1个个体中选择(1-β)×N1个适应度高的个体,将其遗传到下一代种群中,然后将β×N1个适应度低的个体进行变异,得到新的β×N1个体,即重新随机选取β×N1个新的行或者列;然后将变异得到的新的个体也加入下一代种群中,由此得到种群P1(u2)中新的N1个个体,其中适应度函数为Fitness1(p)=Bicluster.Msr-Bicluster.Msr(p),Bicluster.Msr是种群P1中第p个个体对应产生的种群p2中的双聚类的平均平方残基,Bicluster.Msr(p)是去掉第p行或者第p列之后的双聚类的平均平方残基;至此,新一代的种群P1(u2)的遗传进化完成;6)然后使用适应度函数Fitness2(Bicluster)评价种群P2(u1)中的N2个个体的适应度,从中选取适应度高的g个个体遗传到下一代,将种群P2(u1)中其余的适应度低的个体淘汰,其中g<N2;其中适应度函数为式中,Bicluster.Hscore是双聚类的平均平方残基,Bicluster.Volume是双聚类的大小;7)然后将下一代种群P1(u2)的N1个体随机的加入到由步骤6)中由种群P2(u1)得到的适应度高的g个个体中,即将种群P1中的每个个体所对应的行和列分别独立地加入g个双聚类中,得到N2个包含较优且已扩大的双聚类个体的下一代种群P2(u2);8)之后继续对种群P1(ui)使用遗传算法,产生下一代种群P1(ui+1)中的个体,将新一代的种群P1(ui+1)的N1个个体随机的加入到由种群P2(ui)得到的适应度高的g个个体中,又产生了新一代种群P2(ui+1);不断重复步骤5)、6)、7),直到达到预先设定的最大的进化次数,最后从种群P2中挑选出最优的双聚类。步骤2)中,所述的每个双聚类种子都对应着一个处理任务,对每个处理任务进行并行化处理。每一个双聚类种子都对应着后续一系列的运算过程,将每个双聚类种子对应的运算过程作为一个子任务,每个子任务之间是相互独立,互不影响的,因此我们可以对多个子任务进行并行计算,能够极大地减少运算时间,提高运算效率。步骤5)中,所述的使用适应度函数Fitness1(p)来评价种群P1中个体的适应度,其实就是计算种群P1中第p个个体对种群p2中的对应的双聚类的贡献程度,通过Fitness1(p)计算得到值越小,说明加入第p行或者第p列使得当前双聚类的平均平方残基MSR值越小,即该行或者列对双聚类质量的影响越好。步骤7)中,所述的将种群P1的新一代的N1个个体随机的加入由种群P2得到的适应度高的g个个体中,具体通过使用一种轮盘赌规则来实现:计算出g个个体适应度的总和;然后计算出g个个体相对适应度的大小,即每个个体的适应度占适应度总和的比率Ri,i=1,2,…,g;然后将P1中的N1个个体分别乘以相对比率Ri,得到种群P1中的个体随机加入到种群P2中g个个体的个数N1×Ri。本专利技术与现有技术相比,具有如下优点和有益效果:1、本专利技术利用遗传算法中的二进制编码,对行列进行编码,进而可以对每个基因在每种条件下的数据值进行搜索,因此搜索范围广,不容易遗漏重要的生物信息。2、本专利技术可解决传统基于遗传计算的双聚类算法只能针对双聚类进行选择的缺点,通过同时对行列进行优化,可提高搜索效率。3、基于双阶遗传计算我们能够发现更大的双聚类,即在更小的平均平方残基值的情况下包含更多的基因和条件的信息。通过该算法,我们发现的双聚类都是体积比较大,平均平方残基值比较小的矩阵,说明我们发现的双聚类质量高。4、本专利技术所采用的双聚类方法是基因表达数据分析中的一种无监督学习方法,它在行和列上同时聚类,能够找出在某些样本下参与调控的基因聚类和与某些基因相关联的样本,解决了传统聚类方法只能在基因表达数据集的基因或条件方向上进行聚类的问题,克服了其不能发掘数据中局部信息的缺陷。附图说明图1为本专利技术所述的一种基于双阶遗传计算的基因表达数据的双聚类方法的流程图;图2为图1所述算法的使用分层聚类的示意图;图3为图1所述算法的种群P2编码方式的示意图。具体实施方式下面结合实施例及附图对本专利技术作进一步详细的描述,但本专利技术的实施方式不限于此。如图1,一种基于双阶遗传计算的双聚类算法,包括以下顺序的步骤:1)基因表达数据矩阵为M,行数为m,列数为n,即基因表达数据矩阵的大小为m×n,将原始的数据矩阵M的每一行减去第k行,得到处理之后的矩阵M(k),k=1本文档来自技高网...
【技术保护点】
一种基于双阶遗传计算的基因表达数据的双聚类算法,其特征在于,包含以下顺序的步骤:1)设基因表达数据矩阵为M,行数为m,列数为n,即基因表达数据矩阵的大小为m×n,将原始的数据矩阵M的每一行减去第k行,得到处理之后的矩阵M(k),k=1,2,…,n;2)对处理之后的矩阵M(k)中除了第k列之外的每一列,使用距离阈值为cof的层次聚类,得到每一列的双聚类种子,然后将所有得到的双聚类种子全部放入一个名为Bic_Set的集合;3)从Bic_Set的集合中选取一个双聚类种子,对未包含其中的行列进行编码;将未包含的行列作为搜索空间,每个行和列作为一个个体,随机选择Ni行和Nj列,令N1=Ni+Nj,即随机选择N1个个体,构成了初始化种群P1;将选中的行和列的位置记为1,没有选中的行和列的位置记为0,则得到种群P1的编码;4)将初始化的P1种群的N1个个体分别独立的加进双聚类种子中,得到N2个已扩大的双聚类,其中N1=N2,每个双聚类作为一个个体,由N2个个体构成初始种群P2,然后对每个双聚类进行二进制编码,编码的长度为m+n,前m位用于行编码,后n位用于列编码,将双聚类中包含的行和列对应的位置置为1;经过以上步骤就得到种群P2中双聚类的编码;至此,我们就得到了初始化的种群P1和初始化的种群P2;5)接着使用适应度函数Fitness1(p)评价种群P1中每个个体的适应度,设变异概率为m;从N1个个体中选择(1‑m)*N1个适应度高的个体,将其遗传到下一代种群中,然后将m*N1个适应度低的个体进行变异,得到新的m*N1个体,即重新随机选取m*N1个新的行或者列;然后将变异得到的新的个体也加入下一代种群中,由此得到种群P1中新的N1个个体,其中适应度函数为Fitness1(p)=Bicluster.Msr‑Bicluster.Msr(p),Bicluster.Msr是种群P1中第p个个体对应产生的种群p2中的双聚类的平均平方残基,Bicluster.Msr(p)是去掉第p行或者第p列之后的双聚类的平均平方残基;至此,这一代种群P1的遗传进化完成;6)然后使用适应度函数Fitness2(Bicluster)评价种群P2中的N2个个体的适应度,从中选取适应度高的g个个体遗传到下一代,将种群P2中其余的适应度低的个体淘汰,其中g<N2;其中适应度函数为Fitness2(Bicluster)=Bicluster.HscoreBicluster,Volume,]]>式中,Bicluster.Hscore是双聚类的平均平方残基,Bicluster.Volume是双聚类的大小;7)然后将下一代种群P1的N1个体随机的加入到由步骤6)中由种群P2得到的适应度较高的g个个体中,即将种群P1中的每个个体所对应的行和列分别独立地加入g个双聚类中,得到N2个包含较优且已扩大的双聚类个体的下一代种群P2;8)之后继续对种群P1使用遗传算法,产生下一代种群P1中的个体,将种群P1的新一代的N1个个体随机的加入到由种群P2得到的适应度较高的g个个体中,又产生了下一代种群P2;不断重复步骤5)、6)、7),直到达到预先设定的最大的进化次数或种群P2中的个体大部分相同,最后从种群P2中挑选出最优的双聚类。...
【技术特征摘要】
1.一种基于双阶遗传计算的基因表达数据的双聚类方法,其特征在于,包含以下顺序的步骤:1)设基因表达数据矩阵为M,行数为m,列数为n,即基因表达数据矩阵的大小为m×n,将原始的数据矩阵M的每一行减去第k行,得到处理之后的矩阵M(k),k=1,2,…,n;2)对处理之后的矩阵M(k)中除了第k列之外的每一列,使用距离阈值为cof的层次聚类,得到每一列的双聚类种子,然后将所有得到的双聚类种子全部放入一个名为Bic_Set的集合;3)从Bic_Set的集合中选取一个双聚类种子,对未包含其中的行列进行编码;设遗传算法的迭代次数为ui,其中i=1,2,…,t;将未包含的行列作为搜索空间,每个行和列作为一个个体,随机选择Ni行和Nj列,令N1=Ni+Nj,即随机选择N1个个体,构成了初始化的种群P1(u1);将选中的行和列的位置记为1,没有选中的行和列的位置记为0,则得到初始化的种群P1(u1)的编码;4)将初始化的种群P1(u1)的N1个个体分别独立的加进双聚类种子中,得到N2个已扩大的双聚类,其中N1=N2,每个双聚类作为一个个体,由N2个个体构成初始化的种群P2(u1),然后对每个双聚类进行二进制编码,编码的长度为m+n,前m位用于行编码,后n位用于列编码,将双聚类中包含的行和列对应的位置置为1;经过以上步骤就得到初始化的种群P2(u1)中双聚类的编码;至此,得到了初始化的种群P1(u1)和初始化的种群P2(u1);5)接着使用适应度函数Fitness1(p)评价初始化的种群P1(u1)中每个个体的适应度,设变异概率为β;从N1个个体中选择(1-β)×N1个适应度高的个体,将其遗传到下一代种群中,然后将β×N1个适应度低的个体进行变异,得到新的β×N1个体,即重新随机选取β×N1个新的行或者列;然后将变异得到的新的个体也加入下一代种群中,由此得到种群P1(u2)中新的N1个个体,其中适应度函数为Fitness1(p)=Bicluster.Msr-Bicluster.Msr(p),Bicluster.Msr是种群P1中第p个个体对应产生的种群p2中的双聚类的平均平方残基,Bicluster.Msr(p)是去掉第p行或者第p列之后的双聚类的平均平方残基;至此,新一代的种群P1(u2)的遗传进化完成;6)然后使用适应度函数Fitn...
【专利技术属性】
技术研发人员:黄庆华,杨杰,黄仙海,
申请(专利权)人:华南理工大学,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。