基于基因表达谱的肿瘤识别方法的研究_第1页
基于基因表达谱的肿瘤识别方法的研究_第2页
基于基因表达谱的肿瘤识别方法的研究_第3页
基于基因表达谱的肿瘤识别方法的研究_第4页
基于基因表达谱的肿瘤识别方法的研究_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、全国第七届研究生数学建模竞赛题 目 基于基因表达谱的肿瘤识别方法的研究摘 要:本文基于基因表达谱讨论了肿瘤识别方法的问题。首先建立分类数学模型对样本分类识别:即在对原始数据进行处理的基础上,利用主成分分析的方法进行降维处理;并将提取的主成分数据输入支持向量机模型训练学习,从而实现对样本的有效分类。其中模型对样本正确分类识别率接近90%,并且对模型进行敏感性和稳定性检验测试。其次,通过Relief 算法对基因进行排序和筛选,在此基础上运用留一交叉检验法确定了一组“基因标签”,并利用随机重复试验检验了“基因标签”的样本分类能力。在上述模型运算分析结果的基础上分析了影响肿瘤识别效果的噪声来源,对数据

2、中存在的噪声样本和重复数据进行降噪,建立了噪声模型,进而得到了一组新的基因“标签”,从而使肿瘤识别精度提高到了92.65%;最后融入临床生物学信息,综合运用支持向量机等数学理论建立了肿瘤诊断识别的数学模型,肿瘤识别率提高到了99.8%。 关键词:基因表达谱 肿瘤 支持向量机 主成分分析 Relief算法 参赛队号 10224003 队员姓名 杨振华 刘爱兰 邢秉昆 中山大学承办一、问题重述癌症起源于正常组织在物理或化学致癌物的诱导下基因组发生的突变,即基因在结构上发生碱基对的组成或排列顺序的改变,因而改变了基因原来的正常分布。所以探讨基因分布的改变与癌症发生之间的关系具有深远的意义。从DNA

3、芯片所测量的成千上万个基因中,找出决定样本类别的一组基因“标签”取出“信息基因”是正确识别肿瘤类型、给出可靠诊断和简化实验分析的关键所在,同时也为抗癌药物的研制提供了捷径。下面我们参考基因表达谱及肿瘤识别问题方面的研究成果,利用附件所给数据并结合相关资料,就提取基因图谱信息方法研究如下问题:1、由于基因表示之间存在着很强的相关性,所以对于某种特定的肿瘤,似乎会有大量的基因都与该肿瘤类型识别相关,但一般认为与一种肿瘤直接相关的突变基因数目很少。对于给定的数据,如何从上述观点出发,选择最好的分类因素?2、相对于基因数目,样本往往很小,如果直接用于分类会造成小样本的学习问题,如何减少用于分类识别的基

4、因特征是分类问题的核心,事实上只有当这种特征较少时,分类的效果才更好些。对于给定的结肠癌数据如何从分类的角度确定相应的基因“标签”?3、基因表达谱中不可避免地含有噪声(见1999 年Golub 在Science 发表的文章),有的噪声强度甚至较大,对含有噪声的基因表达谱提取信息时会产生偏差。通过建立噪声模型,分析给定数据中的噪声能否对确定基因标签产生有利的影响?4、在肿瘤研究领域通常会已知若干个信息基因与某种癌症的关系密切,建立融入了这些有助于诊断肿瘤信息的确定基因“标签”的数学模型。比如临床有下面的生理学信息:大约90%结肠癌在早期有5号染色体长臂APC 基因的失活,而只有40%50%的ra

5、s 相关基因突变。二、问题分析2.1寻找与肿瘤相关的突变基因的分类因素我们认为“分类因素” 可理解为由基因的某种组合得到的潜在因素。针对这一问题,我们设计了一种有效的算法作为样本分类识别的依据。具体内容如下:首先利用修正后的信噪比公式对原始数据中的无关基因进行剔除,同时对保留下来的基因进行主成分分析,既可以实现有效的降维,同时便于计算;然后引入支持向量机分类器,对提取的主成分进行学习训练,得到基于支持向量机的分类模型。在此基础上,我们对算法进行了敏感性检验和稳定性检验。2.2从分类的角度确定基因“标签”相对于基因个数来说62个样本非常小,如果直接用于分类会造成小样本的学习问题。我们用Relie

6、f 算法为每个基因赋予一个权重,然后设定相应的阈值,高于这个阈值的基因被留下;然后用留一交叉检验法来检验我们设定的阈值的合理性,通过检验不断地调整阈值,最终确定哪些基因被留下,而这些基因便是我们分类所依据的基因“标签”。2.3基因表达谱中噪声模型的建立基因表达谱中不可避免地含有噪声,对含有噪声的基因表达谱提取信息会产生偏差。为了解决这个问题,我们分析发现Genbank Acc name 中含有存在重复数据的基因,运用方差分析来对这种基因的normal 样本和cancer 样本分别进行显著性检验,发现该种基因在同类样本间存在显著差异,进而推断其显著性差异并不直接作用于样本的分类,应予以剔除。同时

7、,在对第二问中得到的“基因标签”的检验过程中,发现来源于样本的噪声,故对这些样本进行去噪处理。最后,应用第二问的模型对去噪后的数据重新进行运算,得到新的“基因标签”并对其进行检验。2.4融入临床信息的诊断肿瘤确定基因标签的数学模型的建立在确定某种肿瘤的基因标签时如能融入与临床问题相关的主要生理学信息,也许可以纠正现有研究中基因低水平表达、差异不大的表达被忽略的倾向。我们利用问题三中经过降噪处理后的样本数据,利用最终筛选出的基因标签和所给数据中的APC 基因和ras 相关基因建立数学模型,希望能进一步提高肿瘤识别的正确率。三、模型假设及符号说明3.1模型假设1、假设统计数据真实可靠,没有实验室误

8、差。2、假设样本具有普遍性,此样本对分类效果没有特别影响。3、假设与一种肿瘤相关的突变基因数目很少。3.2符号说明-分类特征基因集合 F GM -算法筛选出的基因数-Relief 算法中的阈值四、模型的建立与解答由样本数据可知,有些基因的标号相同(即属于同一种基因),故取这些基因表达水平的均值,合并为一种基因。问题一:寻找与肿瘤相关的突变基因的分类因素由于基因表示之间存在着很强的相关性,且相对于较少的样本数而言,过多的基因数既无益于样本类型的判定,也会对以后统计方法的使用产生不良影响。因此,在分析样本之前需要对基因进行筛选。本文引入修正后的信噪比公式作为筛选依据来衡量基因表达差异的显著程度;然

9、后利用主成分分析将相关性显著的基因组合成具有某种特征的基因组合来降低维数,进而利用支持向量机进行训练学习来寻找识别肿瘤的最好的分类因素。我们基于各种方法寻找与肿瘤相关的突变基因的分类因素的算法过程如图1所示:图1:算法流程图1、修正后的信噪比公式1 1(j -2(j 1(j 2+2(j 2,式中1(j ,2(j 和1(j ,2(j 分别d (j =+ln 1j +2j 21j 2j是第j 个基因在正常人和癌症患者两类样本中的均值和均方差。其中,公式的第一部分来源于Golub 等人提出的“信噪比”指标,后一部分体现了表达水平分布方差的不同对样本分类的贡献。2、筛选结果利用修正后的信噪比公式将每个

10、基因赋以相应的权重,根据实验设定相应的阈值, 之后从中初步筛选出可能与肿瘤相关的基因。由于目前仍没有关于使用多少基因来构造分类器这一问题的最优答案,故我们根据修正后的信噪比计算公式分别筛选出M 为25个、50个、100个、200个基因来构造分类器。1、主成分分析的基本思想主成分分析(PCA )的目的是为了降维,即设法将原来众多具有一定相关性的指标重新组合成一组新的相互无关的综合指标。这些转化生成的综合指标称作主成分,其中每个主成分都是原始变量的线性组合,体现原有变量的综合效果,且各个主成分之间互不相关,从而在进行定量分析的过程中涉及的变量较少,而得到的信息量较多。2、主成分分析的实现我们利用修

11、正后的信噪比公式筛选出的基因在Matlab 中进行主成分分析。根据修正后的信噪比计算公式分别筛选出的25个、50个、100个、200个基因对附录中62个样本数据进行主成分分析,结果如表1所示:表1:主成分分析的结果M 选取主成分个数25 3 50 4100 5200 51. 支持向量机的基本思想支持向量机(SVM ,Support Vector Machine)是由Vapnik 首先提出的,可用于模式分类和非线性回归。支持向量机的主要思想是建立一个分类超平面作为决策曲面,使得正例和反例之间的隔离边缘被最大化。支持向量机算法旨在改善传统神经网络学习方法的理论弱点,根据有限的样本信息在模型的复杂性

12、和学习能力之间寻求最佳折中,以期获得最好的泛化能力。2、支持向量机的数学模型在分类问题中,支持向量机分类效果主要受核函数的选择以及参数的选择的影响。支持向量机常用的核函数有线性、多项式核函数、径向基核函数、S 形核函数。考虑到径向基核函数可以实现非线性分类同时其只有一个控制参数,而其它核函数均有比径向基核函数更多的核参数。综合考虑,本文选择径向基函数作为核函数,其表达形式如下: 43,42累计贡献率 89.80% 86.16% 87.26% 85.46% 其中,M 为筛选出的基因数K (x i , x j =exp(-x i -x j 222其中是径向基核函数的参数,下文用g 来表示。关于SV

13、M 参数的优化选取,目前常用的方法就是让惩罚参数c 和核参数g 在一定的范围内取值,对于取定的c 和g 把训练集作为原始数据集利用K fold Cross Validation (KCV 方法得到在此组c 和g 下训练集验证分类准确率,最终取使得训练集验证分类准确率最高的那组c 和g 作为最佳的参数,当有多组c 和g 对应于最高验证分类准确率时,这里采用的手段是选取能够达到最高验证分类准确率中参数c 最小的那组c 和g 作为最佳参数。这样做的原因是:过高的c 会导致过学习状态,即训练集分类准确率很高而测试集分类准确率很低(分类器泛化能力降低),所以在能够达到最高验证分类准确率中的所有的成对的c

14、 和g 中认为较小的惩罚参数c 是更佳的选择对象。本文中将上一步选取的相应主成分作为支持向量机模型的输入,以径向基函数作为核函数,样本的类别作为输出,以K fold Cross Validation (KCV 计算最佳参数c 和g ,构建支持向量机训练模型。样本数据 样本类别以下给出参数优化过程中参数c 和g 和准确率的等高线图和3D 图,能更直观的看到c 和g 组合对准确率的影响,如图3所示: 图2:分类因素算法图参数选择结果图(等高线图参数选择结果图(3D视图 l o g 2g-8A c c u r a c y (%68-6-4-2024log2clog2glog2c图3:参数寻优等高线图

15、及3D 图91、算法对参数选择的敏感性分析参数敏感性分析的目的在于检验分析过程中选择不同的M 是否会对算法的判定效果产生较大影响。故采用随机重复的方法:将62个样本数据随机分成42个样本的训练集(15 normal,27 cancer)和20个样本的测试集(7 normal,13 cancer),运用上述算法对测试集进行分类,重复100次并计算平均正确识别个数。平均正确识别个数 18.01 17.85 17.40 17.55 平均正确识别率(%) 90.05 89.25 87.00 87.75在M 分别为25、50、100、200时,采用该算法对样本数据随机测试集的平均正确识别个数在17.40

16、18.01个之间,这表明该算法的识别效果较为稳定,不因M 的变化而发生剧烈波动,即当参数M 为25、50、100、200时,该算法对M 并不敏感。 2、算法稳定性分析算法的稳定性主要体现在对不同的训练集和测试集,最终的预测结果没有产生较大波动。据此,同样采用随机重复的方法,将62个样本数据随机分成42个样本的训练集(15 normal,27 cancer)和20个样本的测试集(7 normal,13 cancer),运用上述算法对测试集进行分类并重复100次。改算法对随机划分的样本数据的分类结果如图4所示: M=25 M=50M=100 M=200图4:分类因素算法对随机划分的样本数据的分类结

17、果从分类识别的结果看,该算法对含有20个样本的测试集的正确识别个数主要集中在1719个样本之间,其预测结果总体上比较稳定,并没有因为训练集的变化而使最终预测结果产生剧烈波动。结论一:从以上分析与检验可以看出,我们采用的以主成分分析构造的分类因素对样本是正常还是癌变具有很好的识别效果,其识别率均达到90%左右;并且此寻找分类因素的算法对参数的选择并不敏感,具有非常好的稳定性。 问题二:从分类的角度确定“基因标签”从分类的角度来说,我们的目的是在众多基因中找出决定样本类别的一组基因作为分类特征基因。由于与一种肿瘤直接相关的突变基因数目很少,故只有少数基因与样本类别相关,且大部分基因将被视作无关基因

18、而剔除。 Relief 算法是一种属性重要性排序的机器学习算法,其基本思想是以属性区分相似样本的能力来作为评估属性重要程度的标准,并据此给出属性的分类权重(具体原理见参考文献810)。Relief 算法通过求取分类特征的属性分类权重,来选取具有最大分类权重的一组属性作为决定样本分类的特征基因。所以基因的分类权重越大,其含有的样本分类信息越多,对样本的分类能力就越强。5,6,7 2、基因的排序根据Relief 算法,本文计算出每个基因的分类权重。如图5给出了基因分类权重的分布情况:基因分类权重 020040060080010001200基因顺序号 1000基因个数5000500100015002

19、00025003000基因分类权重3500400045005000图5:基因分类权重的分布图由上图可知各基因的分类权重,按照从大到小的顺序进行排序,从而得到有序基因组合F ,即F G i =G 1, G 2, G 3, G 1991,F 满足:F G i F G j ,且i j 。8留一交叉检验法是交叉检验方法的扩展,用来进行样本类型的识别,基本思想是在测试集上每次保留一个不同的样本作为测试样本,其余样本作为SVM 的训练样本,不断重复这个过程,直到所有训练样本都被测试了一次为止。将所有被错误分类的样本数作为该方法的分类错误数。 2、“基因标签”的确定我们运用留一交叉检验法(LOOCV )来对

20、基因组合中的基因进行分类能力检验,以期进一步缩小具有分类特征基因(“基因标签”)的范围。(1)由于基因的分类权重越大,其对样本的分类能力也就越强,因此我们设定阈值=2500,按照从大到小的顺序选取基因组合中分类权重最大的53个基因开始研究其分类能力。在这里我们定义53个基因组合F G 53, F G 52, F G 1,其中初始时刻为F G 53=G 1, G 2, G 3, G 53,将F G53中的基因作为分类特征基因,其值作为SVM 模型的输入,记录其对训练样本的分类误差。(2)接下来将F 中分类权重最小的基因G 53剔除,利用F G 52中的基因作为SVM 模型的输入研究其分类能力。如

21、此循环下去,选取分类权重最大的k个基因,得到分类特征基因组合F G k =G 1, G 2, G 3, G k 用于分类,从而得到了有关于基因组合F G k =G 1, G 2, G 3, G k ,。由该曲线不仅可以得到不同基因组合的分类能(k =1, 2, 53与其分类误差的关系曲线(如图6)力,而且也能看出分类能力随基因个数的变化而变化的趋势。根据错误分类个数最小原则,确定出一个最佳分类基因组合(“基因标签”)。错误分类个数 基因个数图6:分类误差曲线图由上图可知,基因个数介于1235之间的分类基因组合的错误分类个数最少,但对于基因个数大于35的组合来说,其走势并不稳定,错误分类个数随着

22、基因个数的增加而升高。我们认为,造成这一结果的原因在于小样本学习问题,即相对于有限的样本数来说,过多基因数目的选取影响了对样本类别(正常人和癌症患者)的判定。鉴于此,我们重新对筛选基因的阈值进行设定,以缩小基因组合的范围,即当=3300时,按照从大到小的顺序选取基因组合中分类权重最大的18个基因进行分类能力的研究,研究方法仍为留一交叉检验法,这里不多赘述。经过分析,得到新的分类误差曲线,如图7所示: 错误分类个数基因个数图7:分类误差曲线图由此图可以清晰的看出:基因个数大于12的基因组合其错误分类数最低,且随着基因数的扩大一直保持稳定的分类识别率,从而确定具有样本分类特征的“基因标签”为基因组

23、合F G 12。8为检验上述确定的“基因标签”确实具有区分正常人与癌症患者的良好样本分类能力,在有限样本的情况下,本文采用随机交互检验的方法对F 中基因的样本分类能力进行检验。具体做法如下:(1)样本抽样:在保证训练集中每种不同类型的组织样本数不变(即训练集(15 normal ,27 cancer)的前提下,在原始样本集的22个正常人和40个癌症患者样本中进行无重复抽样,以形成新的训练集,剩余样本形成新的测试集。(2)样本识别:以F 中的基因作为分类特征,利用新形成的训练集构造SVM 分类器,对测试集中的样本进行类型识别,记录分类结果(SVM 分类模型的参数设置同第一问)。上述两个过程称为一

24、次随机测试实验,本文共做了100次这样的实验,由此得到100次随机测试实验的平均分类正确率达90.1%。考虑到F 中基因是作为正常人和癌症患者的分类特征基因,那么即使采用非限制性抽样,即不考虑训练集和测试集内部样本的构成情况直接接进行完全随机抽样形成新的训练集和测试集,F 中的基因也应具有良好的样本分类能力。为此,我们采用非限制性抽样同样做了100次随机测试实验,得到测试集的平均分类正确率为90.45%。这一结果同上面限制训练集样本构成的随机测试实验的分类结果(90.1%)相当。结论二:综上所述,基因“标签”F G 12=R87126,H08393,M63391,X12671,Z50753,R

25、36977,J02854,J05032,M26383,M22382,X63629,M76378中的基因识别正常和患癌样本的识别率达到了90%左右,检验证明其具有很好的分类能力,“基因标签”的确定具有合理性。基因表达谱中不可避免的含有噪声,充分消除噪声数据的影响有利于“基因标签”更精确的给出。“噪声”一般来源于噪声样本、无用基因和基因数据的方差波动等方面。我们认为应该针对第二问中确定的“基因标签”(F G 12)中的基因数据进行噪声处理。 1、实验数据去噪在第二问得到的“基因标签”F G 12=R87126,H08393,M63391,X12671,Z50753,R36977,J02854,J0

26、5032,M26383,M22382,X63629,M76378中,我们发现基因M76378在原始数据表中存在重复出现的现象,这可能是由于实验误差造成的。其原始数据如表3所示: 分析,结果如表4和表5所示:ANOVA ANOVA 分析结果表明,基因M76378的normal 样本和cancer 样本之间都存在着显著的差异性。因此有理由推断,基因M76378的显著差异来源于同类样本自身,并不直接作用于样本分类。所以应该将基因M76378从“基因标签”中予以删除。 2、噪声样本的识别与剔除由第二问中的分类误差曲线图(图8和图9)可以看出,所有特征分类基因组合的最小错误分类个数为5,还没有一个基因组

27、合的正确分类识别率达到100% 。这表示作为分类特征的“基因标签”仍然有进一步精确的空间。通过进一步分析我们发现,在各基因组合进行样本分类识别的过程中有5个样本经常被错判,且这正好与基因组合的最小错误分类数相同。因此我们猜想,是否是这5个样本的存在导致基因组合的正确识别率始终无法达到100% 。为了验证这一猜想,我们从样本的角度出发,对各个样本在分类识别过程(包括在F G 53和F G 18两种情况下的留一交叉检验)中的错误识别率进行了具体分析,如图 8和图9所示:10.9 错误识别率102030样本40506070图8:F G 18的留一交叉检验中各样本的错误识别率10.9 错误识别率102

28、030样本40506070图9:F G 53的留一交叉检验中各样本的错误识别率从图中可以非常直观的看到:在这两个分类识别的过程中,都有5个样本被严重错判,且都是同样的5个样本。它们分别是:normal18,normal20,cancer52,cancer55,cancer58。这些样本严重干扰了“基因标签”对样本的正确分类,影响了“基因标签”的选取,故应该删去。结论三:综上所述,与第二问中得到的基因标签F G 12相比,去噪后得到的基因“标签”F G 3=R87126,M63391,J02854 其基因组合所含基因数大大减少,且平均正确识别率达到92.64%,高于F G 12的识别精度。由此我

29、们认为无论是来源于哪个方面的噪声对基因“标签”的影响都是不利的,所以对基因表达谱无论是在实验阶段还是在数据处理阶段都必须考虑噪声的影响,从而提高识别肿瘤的正确率,为临床及医学研究提供精确的依据。问题四:融入临床信息的诊断肿瘤确定基因标签的数学模型的建立目前诊断肿瘤主要依靠临床的生理学信息,但有些情况下临床信息会难以确定甚至出现错误,这就为肿瘤的早期诊断和及时治疗带来了很多困难。而近年来迅速发展并日益成熟的基因表达谱可以清晰地表现肿瘤样本与正常样本的差别,据此可以更精确地识别肿瘤。遗憾的是,基于基因表达谱的研究还没有进入临床实践。如果能把基于基因表达谱的肿瘤识别方法与临床生理学信息结合起来建立确

30、定基因标签的数学模型将会为肿瘤的识别与诊断带来更可靠的依据。我们尝试在这一问中建立这样一个数学模型。由APC 基因和ras 相关基因的原始数据得到其各自的样本表达水平趋势图,如图10所示: APC ras(M28214ras(T70197ras(L33075。 2)检修时烧伤铁芯。3)定子与转子铁芯相擦扫膛。 ras(R53941ras(H42477ras(T71207 ras(X54871ras(R22779ras(Z29677图10:样本表达水平趋势图 4 此模型使用的数据为基于第三问去噪后的57个样本数据,而原始数据中有6个ras 相关基因的数据,由于它们的表达水平相似,故取其均值作为r

31、as 相关基因的表达数据。) 过载或起动频繁 。 5)我们构造的训练集中包含38个样本(13 normal,25cancer ),测试集包含19个样本(7normal ,12cancer )。 2、SVM 训练学习。样本数据图12:模型结构图3、模型检验经过500次的重复随机实验,此模型的正确分类识别率达到99.8%,如图12所示:频数18正确识别样本个数19图12:融入临床信息的肿瘤识别模型的正确识别个数结论四:综上所述,考虑了APC 基因和ras 相关基因的肿瘤识别模型精度上有了大幅度提高,有利于我们对样本进行分类。由此可见,在基因表达谱的分析过程中融入临床生理学信息,对于提高肿瘤的诊断效

32、果具有非常重要的贡献。五、模型的评价与改进设想6六、参考文献1 李颖新,阮晓钢. 基于基因表达谱的肿瘤亚型识别与分类特征基因选取研究J .电子学报.2005年4月第4期:6524张小艳,李强. 基于SVM 的分类方法综述J .科技信息. 2008年第28期:344 5吴艳文,胡学钢,陈效军 . 基于Relief 算法的特征学习聚类J . 合肥学院学报(自然科学版).2008年5月. 第18卷第2期:457吴浩苗,尹中航,孙富春 .Relief 算法在笔迹识别中的应用J.第26卷第1期.2006年1月 :1748阮晓钢,李颖新,李建更,龚道雄,王金莲. 基于基因表达谱的肿瘤特异基因表达模式研究.

33、 中国科学C 辑生命科学.2006,36(1):86-96 9王翼飞,史定华. 生物信息学-智能化算法及其应用. 北京:化学工业出版社.2006年7月:237-243 10李颖新,李建更,阮晓钢. 肿瘤基因表达谱分类特征基因选取问题及分析方法研究J.计算机学报.2006年2月第29卷第2期:325-32611Matlab中文论坛.Matlab 神经网络30个案例分析M.北京:北京航空航天大学出版社.2010年4月:112-141附录第一问程序function S,BS,xzS,xzbinameno,xzxzbinameno,bnameno,sortk,sortxzbixu=fenlei_A1(

34、x1,x2 %利用信噪比、修正信噪比、巴式距离对基因进行分类 % %mx1,nx1=size(x1; mx2,nx2=size(x2; miu1=mean(x1' miu2=mean(x2' xigema1=std(x1' xigema2=std(x2'xinzaobi=abs(miu1-miu2./(xigema1+xigema2; index1=find(xinzaobi<0.2;index2=find(xinzaobi>=0.2&xinzaobi<0.4; index3=find(xinzaobi>=0.4&xinz

35、aobi<0.6; index4=find(xinzaobi>=0.6&xinzaobi<0.8; index5=find(xinzaobi>=0.8; s1=length(index1; s2=length(index2; s3=length(index3; s4=length(index4; s5=length(index5; S=s1,s2,s3,s4,s5;xzbinameno=index1,index2,index3,index4,index5;figurebar(0.1 0.3 0.5 0.7 0.9,s1,s2,s3,s4,s5 title(

36、9;信噪比' % 修正信噪比7 xzS=xzs1,xzs2,xzs3,xzs4,xzs5;xzxzbinameno=xzindex1,xzindex2,xzindex3,xzindex4,xzindex5;sortxzbixu,sortk=sort(xzxinzaobi;figurebar(0.1 0.3 0.5 0.7 0.9,xzs1,xzs2,xzs3,xzs4,xzs5title('修正信噪比'% 巴氏距离bashi=(miu1-miu2.2./(4*(xigema1.*xigema1+xigema2.*xigema2+0.5*temp;bindex1=find

37、(bashi<0.1;bindex2=find(bashi>=0.1&bashi<0.2;bindex3=find(bashi>=0.2&bashi<0.3;bindex4=find(bashi>=0.4&bashi<0.5;bindex5=find(bashi>=0.5&bashi<0.6;bindex6=find(bashi>=0.6&bashi<0.7;bindex7=find(bashi>=0.8;bs1=length(bindex1;bs2=length(bindex2;b

38、s3=length(bindex3;bs4=length(bindex4;bs5=length(bindex5;bs6=length(bindex6;bs7=length(bindex7;BS=bs1,bs2,bs3,bs4,bs5,bs6,bs7;bnameno=bindex1,bindex2,bindex3,bindex4,bindex5,bindex6,bindex7;figurebar(0.1 0.2 0.3 0.4 0.5 0.6 0.7,bs1,bs2,bs3,bs4,bs5,bs6,bs7title('巴氏距离'%function pc_m,gxlv,score_

39、m=funpca(gaidata,m% 选取不同的基因,主成分分析的程序gd=gaidata;x1=gd(:,1:22;x2=gd(:,23:end;S,BS,xzS,xzbinameno,xzxzbinameno,bnameno,sortk,sortxzbixu=fenlei_A1(x1,x2;index_m=sortk(1991-m+1:1991;data_m=gd(index_m,:;stdr_m=std(data_m;sr=data_m./stdr_m(ones(m,1,:;pc_m,score_m,latent_m,tsquare_m = princomp(sr'gxlv=c

40、umsum(latent_m./sum(latent_m;functionptest_label,test_accuracy,ptrain_label,train_accuracy,bestacc,bestc,bestg=fun_svm_class(train_x,train_data_labels,test_x,test_data_labels% 利用支持向量机进行分类% for classificatonformat compact;% 原始数据可视化% figure;% boxplot(train_data,'orientation','horizontal

41、9;% grid on;% title('Visualization for original data'% figure;% for i = 1:length(train_data(:,1% plot(train_data(i,1,train_data(i,2,'r*'% hold on;% end% grid on;% title('Visualization for 1st dimension & 2nd dimension of original data'% 归一化预处理train_final,test_final = scal

42、eForSVM(train_x,test_x,0,1;% 归一化后可视化% figure;% for i = 1:length(train_final(:,1% plot(train_final(i,1,train_final(i,2,'r*'% hold on;% end% grid on;% title('Visualization for 1st dimension & 2nd dimension of scale data'% 降维预处理(pca% train_final,test_final = pcaForSVM(train_final,te

43、st_final,97;% DCT% train_final,test_final = DCTforSVM(train_final,test_final;% ica% train_final,test_final = fasticaForSVM(train_final,test_final;% feature selection% using GA,.,etc.% 参数c 和g 寻优选择bestCVaccuracy,bestc,bestg = SVMcgForClass(train_data_labels,train_final;% ga_option.maxgen = 100;% ga_op

44、tion.sizepop = 20;% ga_option.ggap = 0.9;% ga_option.cbound = 0,100;% ga_option.gbound = 0,100;% ga_option.v = 5;% bestacc,bestc,bestg = gaSVMcgForClass(train_data_labels,train_final,ga_option% pso_option.c1 = 1.5;% pso_option.c2 = 1.7;% pso_option.maxgen = 100;% pso_option.sizepop = 20;% pso_option

45、.k = 0.6;% pso_option.wV = 1;% pso_option.wP = 1;% pso_option.v = 3;% pso_option.popcmax = 100;% pso_option.popcmin = 0.1;% pso_option.popgmax = 100;% pso_option.popgmin = 0.1;% bestacc,bestc,bestg = psoSVMcgForClass(train_data_labels,train_final,pso_option;cmd = '-c ',num2str(bestc,' -g

46、 ',num2str(bestg;% bestc =% 1.2714% bestg =% 1.8047% cmd = '-c 147.0334 -g 16'% 分类预测model = svmtrain(train_data_labels, train_final,cmd;ptrain_label, train_accuracy = svmpredict(train_data_labels, train_final, model;% train_accuracyptest_label, test_accuracy = svmpredict(test_data_labels

47、, test_final, model;% test_accuracy% toc;function meanstest,meanstrain,lv,zqgs=zuijia(score,l,method% % 第一问 得到主成分后的分类检验程序% 和第二问中重复检验%method=2 为非限制 method=1是限制性随机试验if method=2stest=0;strain=0;zqgs=zeros(1,100;lv=zeros(1,100;zonglabel=zeros(1,57;for k=1:500randnum=randperm(57;ind=find(randnum>20;x_

48、label=zonglabel;x_label(ind=1;trainno=randnum(1:38;testno=randnum(39:57;x=score(:,1:l;train_x=x(trainno,:;train_label=x_label(1:38;test_x=x(testno,:;test_label=x_label(41:end;ptest_label,test_accuracy,ptrain_label,train_accuracy=fun_svm_class(train_x,train_label',test_x,test_label'zqgs(k=len

49、gth(find(ptest_label-test_label'=0;close allstest=stest+test_accuracy(1;strain=strain+train_accuracy(1;lv(k=test_accuracy(1/100;endmeanstest=stest/500;meanstrain=strain/500;plot(lv,'*'xlabel('重复次数'ylabel('正确识别率'axis(1 105 0.7 1.2% endelseif method=1stest=0;strain=0;zqgs=z

50、eros(1,100;lv=zeros(1,100;for k=1:500%index1=randperm(20;index2=randperm(37;trainno1=index1(1:13;testno1=index1(14:20;trainno2=20+index2(1:25;testno2=20+index2(26:end;% l=14;% for i=61:-1:1x=score(:,1:l;train_x=x(trainno1,:;x(trainno2,:;train_label=zeros(1,13,ones(1,25;test_x=x(testno1,:;x(testno2,:

51、;test_label=zeros(1,7,ones(1,12;ptest_label,test_accuracy,ptrain_label,train_accuracy=fun_svm_class(train_x,train_label',test_x,test_label'zqgs(k=length(find(ptest_label-test_label'=0;close allstest=stest+test_accuracy(1;strain=strain+train_accuracy(1;lv(k=test_accuracy(1/100;endmeanstes

52、t=stest/500;meanstrain=strain/500;plot(lv,'*'xlabel('重复次数'ylabel('正确识别率'axis(1 105 0.7 1.2% endendzq=minmax(zqgs;k=1;for p=zq(1:zq(2b=length(find(zqgs=p;if b=0bar_m(k=b;x_m(k=p;k=k+1;elsep=p+1endendbar(x_m,bar_mxlabel('正确识别样本个数'ylabel('频数'第二问%= % 函数名:standardi

53、zation% 函数介绍:归一化。方法:(x 基因均值)/基因方差。% 计算每类样本的个数。% 输入参数:a 是原始基因表达谱数据。行是基因,列是样本。a 的第一行是样本标记。0表示normal ;1表示tumor 。% 输出参数:b 是归一化之后的a 。% style_1是normal 样本的个数。% style_2是tumor 样本的个数。%= function b, style_1, style_2 = standardization ( a style = a ( 1 , : ;%找到样本标记行。row, column = size ( a ;%对基因表达谱数据标准化。a = a (

54、2 : row , : ;%将样本标记行去掉。for i = 1 : row-1m = mean ( a ( i , : ;%样本均值s = std ( a ( i , : ;%样本方差。b ( i , : = ( a ( i , : - m ./ s;end%标准化结束%计算每类样本的个数。style_1 = 0;%normal的个数。style_2 = 0;%tumor的个数。for i = 1 : columnif style (i = 0style_1 = style_1 + 1;elsestyle_2 = style_2 + 1;endend%计算样本个数结束。%end of function%=% 函数名:weighted% 函数介绍:计算基因的权重向量。% 输入参数:data 是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论