1.一种基于深度学习和进化计算的特征基因选择方法,其特征在于:所述方法包括以下步骤:
1)选择差异表达的基因,建立一级基因池,过程如下:
1.1)计算原始基因池中各个基因的差异表达水平指数,即IIC-FC指数:式(1)中,c表示原始基因池中的基因个数, 和 分别表示基因i和基因j的表达水平均值, 和 分别表示基因i和基因j的表达水平标准差,函数max{·,·}和min{·,·}分别表示取最大值和最小值,ln(·)为对数函数;若IIC-FC指数越大,表明该基因包含的样本分类信息丰度越高,用于样本分类获得高精度的可能性越大;
1.2)根据二八准则,按照步骤1.1)中得到的IIC-FC值从高到低对原始基因池中的所有基因进行排序,然后从中选择前20%的基因作为一级基因池;
2)对一级基因池中的基因进行自动聚类,过程如下:
2.1)基于密度聚类算法计算一级基因池中每个基因的距离值δ和密度值ρ;定义欧拉距离作为基因i和基因j之间的相似度距离,计算公式如下:式(2)中,Nsam表示样本个数,gE(i,k)表示基因i在样本k中的表达值;
首先计算各个基因的密度值ρ,得到密度矩阵 计算公式如下:
其中
式(3)中,ρi表示基因genei的密度值,一级基因池为 相应的指标集为IP={1,2,...,Npool1};其中定义表达值累加和最大处的基因genemax与最小处的genemin之间的相似度距离的2%作为dc值,计算公式如下:dc=0.02*dgene(genemax,genemin) (4)然后计算各个基因的距离值,得到距离矩阵 每个基因genei的距离值定义为δi,首先查找比genei密度大的基因集,得到集合P'={genej},然后查找P'中与genei的距离最近的基因,则得到δi=dgene(i,j');
定义函数fγ是关于变量ρ和δ的二元离散函数,对应于三维空间中的坐标值是(ρ,δ,fγ),则得到双变量离散函数为:式(5)中,fγ取密度值和距离值的乘积的对数值作为函数值;表示大于零的较小正数;
2.2)根据步骤2.1)中得到的双变量离散函数γ=fγ(ρ,δ),利用最小二乘法进行二元斜面的拟合,得到拟合平面为zγ=b1+b2ρ+b3δ,计算各个数据点的残差值为εγi=yγi(ρ,δ)-γi(ρ,δ),绘制残差直方图εγi-h,并根据钟型曲线的正态拟合得到方差值为σγ,利用3σ原则自动确定处在置信区间外的η个奇异点作为聚类中心,记为cγ;
3)构建深度基因表达预测网络DGEPN,计算一级基因池的“基因-基因”敏感性信息GGSI,过程如下:
3.1)区分样本的训练集、验证集和测试集,搭建多层神经网络作为深度基因表达预测网络;首先假定有Nsam个样本,每个样本在原始基因池中有Ngene维基因表达,其中Min个基因作为神经网络的输入层,即将一级基因池中的所有基因作为输入;Mout个基因作为神经网络的输出层,即将原始基因池中对应一级基因池的补集作为输出;满足Min=Npool1,Min+Mout=Ngene,则每个样本可以表示为 然后随机挑选Ntrain个样本组成训练集,Nval个样本组成验证集,Ntest个样本作为测试集,其中Ntrain:Nval:Ntest=4:1:1;
在神经网络的输入层和输出层间具有lhidden层隐藏层,隐藏层的神经元之间进行全连接;第i层隐藏层的神经元个数NumNeui为:NumNeui=Min+i*Z{abs(Min-Mout)/lhidden+1} (6)式(6)中,函数abs(·)表示取绝对值,Z{·}表示取整函数;为了减少训练参数从而加快训练,对神经网络中的隐藏层设置dropout比率;为了克服梯度弥散问题,激活函数采用ReLU函数;
3.2)计算基因间的敏感性信息,基于步骤3.1)中搭建的深度基因表达预测网络,定义第i个输入基因到第j个输出基因的敏感性信息为:式(7)中, 表示第j个输出神经元对第i个输入神经元的导数;敏感性信息指数越大,说明第i个基因对第j个基因的非线性相关性越高;
3.3)根据步骤3.2)中得到的基因间敏感性信息,计算神经网络输入层中每个输入基因归一化后的敏感性指数:
3.4)训练神经网络,定义输出值与期望值的平均平方误差作为损失函数,即:当训练代数达到预设的最大值或者损失值小于预设的阈值,结束训练,并用测试集的平均绝对误差MAE作为神经网络模型的评价指标:误差越小,说明计算GGSI的网络模型性能越好;
4)建立二级基因池,过程如下:
4.1)计算步骤2)中得到的每个基因簇的最大GGSI值 和平均其中K是基因簇的个数;然后依据簇间剔除和簇内剔除策略构建二级基因池;
4.2)首先进行簇间剔除,若第j个簇的GGSI最大值远小于其它簇的GGSI最大值,即则剔除该基因簇中的所有基因;
4.3)然后进行簇内剔除,若第i个簇内的第j个基因的GGSI值小于该簇的GGSI平均值,即 则剔除该基因,其中NumKi表示基因簇i中包含的基因个数;
5)基于二进制布谷鸟搜索算法进行优化搜索最紧凑的基因集合,建立三级基因池,过程如下:
5.1)进行鸟巢的编码初始化,首先将二级基因池中的每个基因根据其GGSI值从高到低进行排序,然后对第i个鸟巢的第j维,即第i个解的第j个基因 进行初始化编码:式(11)中,d表示解的维度,即二级基因池中的基因个数;式(11)表示GGSI排名靠前
20%的基因和排名靠后20%的基因分别编码为1和0,剩余基因进行0或者1的随机编码;
5.2)进行糟糕解的替换,为了保证新产生的解都是由优秀的个体组成,基于概率pa淘汰不适应环境的糟糕解,并将它们替换为新的解决方案,替换公式为:式(12)中,d表示解的维度;式(12)表示对某个糟糕解,将其GGSI排名靠前10%的基因和排名靠后10%的基因分别编码为1和0,剩余基因的编码不变;
5.3)进行鸟巢位置的更新,更新公式为:
式(13)中,Sig(·)表示sigmoid函数,Avg(·)表示二级基因池中所有基因的GGSI的平均值, 其中Levy(λ)~u=s-λ,λ∈(1,3],α>0表示步长尺度缩放因子;
5.4)布谷鸟搜索优化算法的适应度函数定义为:
fitness(neti)=MAE(neti)+ξ*GeneNumber(neti) (14)式(14)中,MAE(neti)表示第i个解在二级基因池中所选择的基因集合在DGEPN中预测剩余基因表达的平均绝对误差,GeneNumber(neti)表示第i个解所选的基因个数,ξ∈{10-2,-3 -4
10 ,10 }是一个尺度规模参数,ξ的取值根据GeneNumber(neti)的值确定;
5.5)进行优化搜索迭代,当达到预设的迭代次数,或者适应度函数值小于预设的阈值,则停止迭代,将此时的最优解进行解码,得到最优三级基因池。
2.如权利要求1所述的基于深度学习和进化计算的特征基因选择方法,其特征在于:所述步骤1.1)中,通过计算差异表达水平指数,体现基因包含的样本分类信息丰度,并且适用于多分类数据集的基因差异表达水平计算。
3.如权利要求1或2所述的基于深度学习和进化计算的特征基因选择方法,其特征在于:在所述步骤2)中,通过计算每个基因的密度值和距离值,确定二元离散函数,并对其进行多重线性回归分析得到二元拟合平面,依据拟合平面和预设的置信区间自动确定聚类中心。
4.如权利要求1或2所述的基于深度学习和进化计算的特征基因选择方法,其特征在于:所述步骤3)中,通过构建深度神经网络学习基因间的敏感性信息,并将其作为步骤4)中一级基因池的冗余基因剔除依据和步骤5)中布谷鸟搜索算法的二进制编码依据。
5.如权利要求1或2所述的基于深度学习和进化计算的特征基因选择方法,其特征在于:所述步骤1)、步骤4)和步骤5)中,通过构建三级基因池查找最紧凑的特征基因,能够尽可能的剔除冗余基因,同时尽可能的保留具有高分类信息丰度的特征基因。