包含了属性在不同类别分布均值的差异,同时也考虑了样本分布方差不同对分类的贡献。其具体模型为:
22(??(g)???(g))21???(g)???(g)?B(g)??ln?? (5-5) 224(??(g)???(g))2?2??(g)??(g)?式中??和??分别为基因g在两类不同样本中的表达水平的均值,??和??为相应的标准差。基因的Bhattacharyya距离越大,该基因在两类样本中表达水平的分布差异也就越大,对样本分类的能力也就越强。
根据公式(5-5)计算了每个基因的Bhattacharyya距离,并作出了基因的Bhattacharyya距离分布的直方图,如图5-2所示。
10008006004002000基因个数00.10.20.30.40.50.6Bhattacharyya 距离0.70.80.91
图5-2 基因Bhattacharyya 距离分布的直方图
本文选择B(g)?0.1的1709个具有较小Bhattacharyya距离的基因作为类别无关基因予以剔除,余下的200个基因作为进一步分析的基础。其Bhattacharyya距离值可认为是基因信息指数。 5.3 强相关性冗余基因的剔除
从分类的角度看,上文得到200个基因就可以作为分类特征基因。然而,在这200个基因中还可能存在冗余,这些冗余基因的存在与否并不会影响到整个分类特征基因集合的样本分类能力。因此,本文进一步应用两两冗余分析算法[2]计算初选后的任意两个基因表达水平间的相关系数,若其相关系数大于指定阈值,则认为两个基因是强相关的,排除二者中分类信息指数较小的那个基因,使排除冗余后的分类特征基因集合具有较大的分类信息指数。
两两冗余分析算法的伪代码如下:
(1) 对m个基因按分类信息指数由大到小排序,得到有序基因集合
F = {g1 , g2 , ?, gm}
(2) FSet = {g1}
(3) For i = 1 to card (F)
(a) gi = F(i) (b) Corr = False
(c) For j = 1 to card(FSet)
6
gj = FSet (j)
If Corr_Coef (gi, gj) ≥Threshold Then Corr = True
(d) If Corr = False Then FSet = FSet ∪{gi}
(4) Return Fset
其中,card F为F的势,Corr_Coef(gi,gj)用来计算基因gi,gj在训练样本集中表达水平间的Pearson 相关系数,具体计算公式如下:
Corr_Coef(gi,gj)??(xk?1ngik?xgi)(xgik?xgj)n?(xk?1n (5-6)
gik?xgi)2?(xgik?xgj)2k?1式中xgik,xgjk为基因gi、gj在训练集第k个样本中的表达水平值,xgi,xgj分别为gi、gj在训练集所有样本中表达水平的均值。Threshold为指定的相关系
数阈值。
两两冗余分析算法的程序流程如下图所示:
输入候选特征基因子集按分类信息指数排序计算相关系数矩阵相关系数是否大于阈值Y排除分类指数信息较小的基因NN冗余基因是否完全剔除Y输出结果
图5-3 两两冗余分析算法的程序流程
本文选用阈值为0.5,最后得到27个信息基因。 5.4 基于主成分分析的降维处理
上述特征选择方法提取出信息基因维数仍然较高,所以需要进行降维处理,即用较少的几个综合指标来代替原来较多的变量指标,而且使这些较少的综合指标既能尽量多地反映原来较多指标所反映的信息,同时它们之间又是彼此独立的。主成分分析是把原来多个变量化为少数几个综合指标的一种统计分析方法,
7
本文将利用主成分分析法(PCA)[3,4]对信息基因进行降维处理。
对Ms进行主成分分析并从中提取主成分分量。为使样本集Ms在降维过程中所引起的平方误差最小,必须进行两方面的工作:一是用雅可比方法求解正交变换矩阵;二是选取w个主成分分量,w?p。PCA的计算过程主要分三步进行:
Step1 将矩阵Ms中的数据进行标准化处理(均值为0,方差为1),即对样本集中元素xik作变换:
?,m,;k?1,2,?,p (5-7) xik?(xik??k)/?k i?1,21m???xik (5-8)
mi?11m2?k?(xik??k)2 (5-9) ?m?1i?1Step2 为消除量纲对评价结果的影响,得到标准化后的矩阵Mb。计算样本矩阵Mb的相关系数矩阵R。
cov(i,j) (5-10) R(i,j)?cov(i,i)cov(j,j)Step3 对于相关系数矩阵R,采用雅可比方法求特征方程R-?I?0的p个非负特征值?1??2????p?0,?i的特征向量为vi?(vi1,vi2,?,vip),i?1,2,?,p并且满足
?1,i?j (5-11) vivj??vikvjk??k?1?0,i?jStep4 选择w个主成分分量,使得前面w个主成分的方差和占全部总方差
p的比例??(??i)/(??i)并使所选的这w个主成分尽可能多地保留原来p个基
i?1i?1wp因的信息,得到的主成分矩阵记为Μω。
采用上述数据处理措施后选取的特征基因子集中含15个基因:X53799、M29273、U21914、L00352、D14520、X90858、R80427、X75208、D29808、M59807、D13627、M22760、R56070、Y00062、R50158。 5.5 基于神经网络模型的致癌基因分类方法 5.5.1 本文选用的几种神经网络模型 (1)BP神经网络模型(BPNN)
BPNN由输入层、输出层以及一个或多个隐含层组成。本文采用单隐含层的三层神经网络拓扑结构,如图5-4所示。输入层神经元数目和样本数相同,隐含层神经元个数一般通过实验或根据经验值选取,输出层神经元个数为1。
BP算法的学习训练过程由正向传播和反向传播两阶段组成。在正向传播过程中,样本数据从输入层经过隐含层传递函数的处理传向输出层。如果输出层得不到期望的输出,则转入反向传播过程,将误差信号沿原来正向传播的通路返回,利用均方误差和梯度下降法来实现对网络连接权的修正,以调整网络的实际输出与指导学习信号之间的均方误差值。此过程反复进行,直至满足指定误差要求或达到最大训练次数终止。
8
连接权……输出层隐含层输入层
图5-4 BP神经网络的拓扑结构
设网络输入向量为X?(x1,x2,?,xn),实际输出为Y?(y1,y2,?,yn),期望的输出为TY?(ty1,ty2,?,tyn)。TY中数据分为两类,0表示正常,1表示异常。给定隐含层或输出层的神经元,其输入为Ij??wijOi??j,其中wij是由上一层的
i1是神经元i的输出;?j是神?Ij1?e21n经元j的偏置。对于训练集中的第k个样本,其误差函数为E?(tykj?ykj),?2nj?1?E通常利用梯度下降法求误差函数的极小值,即?wij???,其中,?为学习速
?wij神经元i到神经元j的连接权;传递函数Oi?率,其值大于零。
(2)径向基函数神经网络模型(RBFNN)
RBF网络的学习过程分为三个阶段。第一阶段:根据所有输入样本决定高斯基函数的中心值和平滑因子;第二阶段:利用最小二乘原则,求出输出层的权值;第三阶段:根据指导学习信号校正网络参数,以进一步提高网络的精度。
RBF网络的拓扑结构由输入层、径向基层和输出层组成,如图5-5所示。
. . .输入层图5-5 径向基神经网络的拓扑结构
9
. . .输出层. . .径向基层
输入层接收来自训练样本的值,其神经元数目和样本数相同,传递函数是线性的。
径向基层神经元采用高斯函数作传递函数(也称基函数),第i个径向基层神经
(X?Xi)T(X?Xi)],输出范围在0和1之间,其中?是平元的输出为ui?exp[?2?2滑因子,其取值确定了以样本点Xi为中心的高斯函数的宽度,一般?的选取要足够大,以保证径向基神经元的响应在输入空间能够交迭。高斯函数是一种中心径向对称衰减的非负非线性函数,表示形式简单且解析性好,便于进行理论分析。高斯函数对输入信号将在局部产生响应,当输入样本越靠近基函数的中央范围时,径向基层节点输出值越大,因而PNN具有局部逼近能力,学习速度更快。
输出层的传递函数为径向基层神经元输出的线性组合。 (3)概率函数神经网络模型(PNN)
概率神经网络(ProbabilsticNeuralNetwork, PNN)是一种径向基神经网络模型,采用Parzen提出的由高斯函数为核函数形成联合概率密度分布的估计方法和贝叶斯优化规则。它基于统计原理,计算能逼近贝叶斯最优判决式的非线性决策边界,在分类功能上与最优贝叶斯分类器等价。其拓扑结构由输入层、模式层、累加层和输出层(决策层)组成,如图5-6所示。
. . .输入层图5-6 概率神经网络的拓扑结构
输入层接收来自训练样本的值,其传递函数是线性的,直接将输入样本传递给模式层。
模式层神经元将输入向量的各个分量进行加权求和后采用一个非线性算子运算g(zi)?exp((zi?1)/?2),其中,?是平滑因子,表示各类样本之间的影响程度。
累加层接收来自模式层的运算结果,其节点只与相应类别的样本节点相连,计算概率密度函数,从而得到输入样本属于某类的最大可能性。
输出层为模式后验概率估计。神经元数目等于训练样本数据的种类数,每个神经元分别对应于一个数据类别。该层神经元是一种竞争神经元,它接收从累加层输出的各类概率密度函数,寻找概率密度函数最大的神经元,所对应的类即为待识别的样本模式类别。
. . .累加层模式层. . .输出层
10