基于最大相关最小冗余的快速封装式基因选择方法

文档序号:1773629 发布日期:2019-12-03 浏览:26次 >En<

阅读说明:本技术 基于最大相关最小冗余的快速封装式基因选择方法 (Fast packing formula Gene Selection Method based on maximal correlation minimal redundancy ) 是由 杨静 沈安波 方宝富 王浩 于 2019-08-29 设计创作,主要内容包括:本发明公开了一种基于最大相关最小冗余的快速封装式基因选择方法,其步骤包括:1、利用相关性方法在基因向量组中寻找与类别标签具有最大相关度的基因,并将其加入候选基因子集;2、利用最大相关最小冗余方法在基因向量组中寻找具有最大相关冗余度的基因,并将其加入候选基因子集;3、利用十折交叉验证方法判断更新候选基因子集前后的两个候选基因子集的分类精度是否降低;4、若降低,则输出更新前的候选基因子集,否则重复步骤2。本发明能获得较高质量的基因子集,同时显著降低一般的封装方法的时间复杂度,从而使得在基因子集的获取上具有良好的时间性能,并使得获得的基因子集拥有较好的分类性能。(The invention discloses a kind of fast packing formula Gene Selection Method based on maximal correlation minimal redundancy, its step is included: 1, is found the gene for having maximum relation degree with class label in gene vectors group using correlation method, and is added into candidate gene subset;2, the gene with maximal correlation redundancy is found in gene vectors group using maximal correlation minimal redundancy method, and is added into candidate gene subset;3, judge whether the nicety of grading of two candidate gene subsets before and after update candidate gene subset reduces using ten folding cross validation methods;If 4, reducing, the candidate gene subset before updating is exported, otherwise repeatedly step 2.The present invention can obtain the gene subset of better quality, while significantly reduce the time complexity of general packaging method, so that having good time performance in the acquisition of gene subset, and the gene subset obtained be made to possess preferable classification performance.)

基于最大相关最小冗余的快速封装式基因选择方法

技术领域

本发明属于数据挖掘领域,具体地说是一种基于最大相关最小冗余的快速封装式基因选择方法。

背景技术

基因选择作为一种数据降维技术,广泛的应用于基因数据的分析与基因疾病的预测工作中。高维的基因数据可能含有冗余与不相关基因,因而若将全部基因应用于分类器的训练和预测中,往往会导致分类器具有较差的表现,主要表现在两方面:分类性能和时间性能。有效地基因选择方法不仅能够降低原始基因空间的维数,在提高分类器的分类性能和时间性能的同时还能提升其泛化性能。另外,基因选择方法还能够帮助研究人员找到与分类任务高度相关的一组基因,增强分类模型的可解释性。例如,基于微阵列数据的基因筛选中,通过特征选择方法找到与特定要求高度相关的基因,有助于提高相应要求预测的准确度,并且基因选择方法选择出的候选靶向基因,能够有效地降低寻找生物靶点的成本。

基于封装式的基因选择方法将分类模型应用于特征选择过程中,将分类器的分类精度作为所产生的基因子集的评价标准,因此基于封装的基因选择方法通常拥有良好的分类器适应性,且通常能够获得较高质量的基因子集。但是一般的封装式方法在获得高质量基因子集之前会执行大量的分类器评估操作,因此较高的时间复杂度会严重影响该方法的应用范围。

该类方法的主要缺点包括,

(1)在基因选择过程中,需要用分类器的分类精度作为评估每个基因子集优劣的指标,因此需要执行大量的分类器评估操作,即每产生一个新的基因子集都需要执行分类器的训练和测试过程,因而严重影响着特征选择过程的时间性能;

(2)不能很好地平衡所选特征子集数量与特征子集的分类精度之间的关系,如:分类性能表现相似的两个特征子集,会优先选择分类精度较高的那个,而不考虑两个特征子集的特征数量,因此会导致分类性能略低但特征数量较少的特征子集被抛弃。

发明内容

本发明为克服现有技术存在的不足之处,基于微阵列基因表达数据,提出一种基于最大相关最小冗余的快速封装式基因选择方法,以期能获得较高质量的基因子集,同时显著降低一般的封装方法的时间复杂度,从而使得在基因子集的获取过程上具有良好的时间性能,并使得所获得的基因子集拥有较好的分类性能。

本发明为解决技术问题采用如下技术方案:

本发明一种基于最大相关最小冗余的快速封装式基因选择方法,是应用于由n个微阵列基因数据组成的数据集Data中,记为Data={inst1,inst2,…,insti,…,instn};insti表示第i个微阵列基因数据;且 表示第i个微阵列基因数据insti中第j个基因;Ci表示第i个微阵列基因数据insti的类别变量,如癌症异常/正常;由n个微阵列基因数据的第j个基因组成数据集Data的第j个基因向量,记作由m个基因向量构成数据集Data的基因向量组,记为F={f1,f2,...,fj,....,fm};n个微阵列基因数据的类别变量组成类别向量,记作C={C1,C2,...,Ci,...,Cn};从而获得由m个基因向量与一个类别向量所构成的基因向量数据集,记作D={f1,f2,...,fj,...,fm,C};1≤i≤n;1≤j≤m;其特点是,所述快速封装式基因选择方法是按照如下步骤进行:

步骤1、定义候选基因子集S,并初始化

步骤2、根据基因向量组F与类别向量C,利用最大相关性方法依次计算并记录基因向量组F中的每个基因向量与类别向量C的相关度,记作相关度集合{I(f1;C),I(f2;C),…,I(fj;C),…,I(fm;C)};其中,I(fj;C)表示第j个基因向量与类别向量C的相关度;

步骤3、定义循环值为k,并初始化k=1;

步骤4、从所述相关度集合中寻找与类别向量C具有最大相关度的基因向量,并将相应的基因向量记作sk

步骤5、将基因向量sk加入到候选基因子集S中,从而获得第k次更新的候选基因子集Sk;并从基因向量组F中删除相应的基因向量sk,从而得到第k次删除后的基因向量组Fk

步骤6、利用最大相关最小冗余方法计算第k次删除后的基因向量组Fk中的每个基因向量与第k次更新的候选基因子集Sk中的每个基因向量关于类别向量C之间的相关冗余值,记作相关冗余值集合;

步骤7、从所述相关冗余值集合中寻找与第k次更新的候选基因子集Sk中的每个基因向量关于类别向量C具有最大的相关冗余值的向量,并将相应的基因向量记作sk+1

步骤8、将基因向量sk+1加入到第k次更新的候选基因子集Sk中,从而获得第k+1次更新的候选基因子集Sk+1;并从第k次删除后的基因向量组Fk中删除相应的基因向量sk+1,从而得到第k+1次删除后的基因向量组Fk+1

步骤9、利用交叉验证方法判断第k次更新的候选基因子集Sk对类别向量C的分类精度相比于第k+1次更新的候选基因子集Sk+1是否降低;若降低,则表示完成基因选择,获得并输出第k次更新的候选基因子集Sk;否则,将k+1赋值给k后,并返回步骤6执行。

本发明所述的快速封装式基因选择方法的特点也在于,所述步骤2中的最大相关性方法是按照如下步骤进行:

步骤2.1、初始化j=1;

步骤2.2、利用式(1)计算并保存基因向量组F中第j个基因向量fj与类别向量C之间的相关性I(fj;C):

I(fj;C)=H(C)-H(C|fj) (1)

式(1),H(C)表示类别向量C的信息熵;H(C|fj)表示在第j个基因向量fj条件下类别向量C的条件信息熵;

步骤2.3、将j+1赋值给j,判断j≤m是否成立,若成立,则返回步骤2.2执行;否则执行步骤3。

所述步骤6中的最大相关最小冗余方法是按照如下步骤进行:

步骤6.1、定义第k次更新的候选基因子集Sk的基因数量为|Sk|,第k次删除后的基因向量组Fk的基因数量为|Fk|;

步骤6.2、初始化p=1;

步骤6.3、根据式(2)计算并保存第k次删除后的基因向量组Fk中的第p个基因向量fp与第k次更新的候选基因子集Sk关于类别向量C的相关冗余值JS(fp):

步骤6.4、将p+1赋值给p,判断p≤|Fk|是否成立,若成立,则返回步骤6.3执行;否则执行步骤7。

所述步骤9中的交叉验证方法是按照如下步骤进行:

步骤9.1、将微阵列基因数据集Data分别映射在第k次更新的候选基因子集Sk与类别向量C上和第k+1次更新的候选基因子集Sk+1与类别向量C上,从而获得第k次约减的数据集Datak与第k+1次约减的数据集Datak+1

步骤9.2、分别将第k次约减的数据集Datak与第k+1次约减的数据集Datak+1中的微阵列基因数据随机均分为δ份,依次轮流选取其中的一份作为测试集,剩余的δ-1份作为训练集用于训练分类器,从而分别获得δ个分类精度,由此可以得到第k个平均分类精度,记作Avgk,和第k+1个平均分类精度,记作Avgk+1

步骤9.3、判断Avgk>Avgk+1是否成立,若成立,则表示精度降低,否则表示精度不降低。

与已有技术相比,本发明的有益效果体现在:

1、本发明快速封装式基因选择方法,是基于最大相关最小冗余方法的,能够快速的计算基因之间的相关性和冗余性。一方面:该方法不显式的定义相关基因与冗余基因,而是将相关性和冗余性的度量包含在相关冗余值中,隐式的表示相关关系和冗余关系。移除的具有高冗余度的基因所包含的关于目标变量的分类信息已经包含在所选基因中;另一方面,通过启发式的基因子集搜索,可以明显的减小搜索空间的大小,进而减小了分类器的评估基因子集的次数,显著了改善封装式基因选择方法的速度。

2、本发明提出的方法实质上是一种混合了过滤式的封装型的基因选择方法,通过一种启发式的基因子集搜索策略,将过滤式方法的快速性与封装式方法的准确性结合起来,快速的获得具有高质量的基因子集。

3、本发明将每轮新产生的最优基因向量加入到已选基因集合中进行评估,而不是将所有基因都计算后,依次进行评估,这样显著地提高了过滤步骤的时间效率,且较好的衡量了分类精度与基因子集大小之间的关系。

4、本发明使用最大相关最小冗余方法对基因向量进行评价,因此能够刻画变量间的线性和非线性关系,因而该方法适用于各种基因数据的分析工作中,有利于帮助研究人员发现与研究目标相关的基因,从而更好地理解研究的对象。

具体实施方式

本实施例中,一种基于最大相关最小冗余的快速封装式基因选择方法,是应用于由n个微阵列基因数据组成的数据集Data中,记为Data={inst1,inst2,…,insti,…,instn};insti表示第i个微阵列基因数据;且 表示第i个微阵列基因数据insti中第j个基因;Ci表示第i个微阵列基因数据insti的类别变量,如异常/正常;由n个微阵列基因数据的第j个基因组成数据集Data的第j个基因向量,记作由m个基因向量构成数据集Data的基因向量组,记为F={f1,f2,...,fj,….,fm};n个微阵列基因数据的类别变量组成类别向量,记作C={C1,C2,...,Ci,...,Cn};从而获得由m个基因向量与一个类别向量所构成的基因向量数据集,记作D={f1,f2,...,fj,...,fm,C};1≤i≤n;1≤j≤m;其特征是,快速封装式基因选择方法是按照如下步骤进行:

步骤1、定义候选基因子集S,并初始化

步骤2、根据基因向量组F与类别向量C,利用最大相关性方法依次计算并记录基因向量组F中的每个基因向量与类别向量C的相关度,记作相关度集合{I(f1;C),I(f2;C),…,I(fj;C),…,I(fm;C)};其中,I(fj;C)表示第j个基因向量与类别向量C的相关度;

具体地,利用信息论中的信息熵理论,依次计算基因向量组F中的每个基因向量与类别变量C的相关度值,并将其保存至相关度集合中。

步骤2.1、初始化j=1;

步骤2.2、利用式(1)计算并保存基因向量组F中第j个基因向量fj与类别向量C之间的相关性I(fj;C):

I(fj;C)=H(C)-H(C|fj) (1)

式(1),H(C)表示类别向量C的信息熵,即向量C的不确定程度;H(C|fj)表示在第j个基因向量fj条件下类别向量C的条件信息熵;使用信息熵的优点在于,能够反映变量之间的线性和非线性相关性,信息熵的具体计算可见参考文献《FeatureSelectionBasedonMutual Information:CriteriaofMax-Dependency,Max-Relevance,andMin-Redundancy》中描述。相关度值I(fj;C)也称为互信息值,用于量化表征第j个基因向量fj与类别向量C之间的相关度大小,值越大,表明fj所包含的对类别向量C的分类信息就越多。

步骤2.3、将j+1赋值给j,判断j≤m是否成立,若成立,则返回步骤2.2执行;否则执行步骤3。

步骤3、定义循环值为k,并初始化k=1;

步骤4、从相关度集合中寻找与类别向量C具有最大相关度的基因向量,并将相应的基因向量记作sk

步骤5、将基因向量sk加入到候选基因子集S中,从而获得第k次更新的候选基因子集Sk;并从基因向量组F中删除相应的基因向量sk,从而得到第k次删除后的基因向量组Fk

步骤6、利用最大相关最小冗余方法计算第k次删除后的基因向量组Fk中的每个基因向量与第k次更新的候选基因子集Sk中的每个基因向量关于类别向量C之间的相关冗余值,记作相关冗余值集合;

步骤6.1、定义第k次更新的候选基因子集Sk的基因数量为|Sk|,第k次删除后的基因向量组Fk的基因数量为|Fk|;

步骤6.2、初始化p=1;

步骤6.3、根据式(2)计算并保存第k次删除后的基因向量组Fk中的第p个基因向量fp与第k次更新的候选基因子集Sk关于类别向量C的相关冗余值JS(fp):

式(2),I(fp;C)表示基因向量组Fk中的第p个基因向量fp与类别向量C的相关性值;表示基因向量组Fk中的第p个基因向量fp与候选基因子集Sk之间的冗余性值;因此相关性值与冗余性的差JS(fp)表示基因向量组Fk中的第p个基因向量fp的相关性与冗余性的综合度量,值越大,表明该基因向量fp所包含的对类别向量C的分类信息越多且同时所包含的冗余信息越少。

步骤6.4、将p+1赋值给p,判断p≤|Fk|是否成立,若成立,则返回步骤7.3执行;否则执行步骤7。

步骤7、从相关冗余值集合中寻找与第k次更新的候选基因子集Sk中的每个基因向量关于类别向量C具有最大的相关冗余值的向量,并将相应的基因向量记作sk+1

步骤8、将基因向量sk+1加入到第k次更新的候选基因子集Sk中,从而获得第k+1次更新的候选基因子集Sk+1;并从第k次删除后的基因向量组Fk中删除相应的基因向量sk+1,从而得到第k+1次删除后的基因向量组Fk+1

步骤9、利用交叉验证方法判断第k次更新的候选基因子集Sk对类别向量C的分类精度相比于第k+1次更新的候选基因子集Sk+1是否降低;若降低,则表示完成基因选择,获得并输出第k次更新的候选基因子集Sk;否则,将k+1赋值给k后,并返回步骤6执行;

步骤9.1、将微阵列基因数据集Data分别映射在第k次更新的候选基因子集Sk与类别向量C上和第k+1次更新的候选基因子集Sk+1与类别向量C上,从而获得第k次约减的数据集Datak与第k+1次约减的数据集Datak+1

步骤9.2、分别将第k次约减的数据集Datak与第k+1次约减的数据集Datak+1中的微阵列基因数据随机均分为δ份(δ≥2,在实际应用中δ通常取5或10),依次轮流选取其中的一份作为测试集,剩余的δ-1份作为训练集用于训练分类器,从而分别获得δ个分类精度,由此可以得到第k个平均分类精度,记作Avgk,和第k+1个平均分类精度,记作Avgk+1;使用交叉验证的方式能够使得获得的分类精度较为客观,即较好的反映所验证的特征子集的分类性能。

步骤9.3、判断Avgk>Avgk+1是否成立,若成立,则表示精度降低,否则表示精度不降低。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种提取免疫治疗新抗原的方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!