数学建模论文癌症基因与正常基因的区别.doc

上传人:文库蛋蛋多 文档编号:2317633 上传时间:2023-02-11 格式:DOC 页数:16 大小:273.50KB
返回 下载 相关 举报
数学建模论文癌症基因与正常基因的区别.doc_第1页
第1页 / 共16页
数学建模论文癌症基因与正常基因的区别.doc_第2页
第2页 / 共16页
数学建模论文癌症基因与正常基因的区别.doc_第3页
第3页 / 共16页
数学建模论文癌症基因与正常基因的区别.doc_第4页
第4页 / 共16页
数学建模论文癌症基因与正常基因的区别.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《数学建模论文癌症基因与正常基因的区别.doc》由会员分享,可在线阅读,更多相关《数学建模论文癌症基因与正常基因的区别.doc(16页珍藏版)》请在三一办公上搜索。

1、癌症基因与正常基因的区别摘要随着人类社会的发展,各种癌症的发病率不断增加。癌症成为影响人类健康的第一大杀手。由科学研究可知其主要源头为基因,为此我们针对癌症样本与正常样本在基因表达上的区别,以及癌症样本具体分类的问题,在合理科学的假设下对题目中给出的40个已知基因表达信息样本的数据用进行处理建立神经网络数学模型,从而有效的实现对未知样本的预测以及对预测癌症样本进行合理的分类,并最终以可视化的方法展现出来。针对问题一:利用附件前40个已知的基因表达信息样本,对其利用神经网络,主成分分析法,遗传算法对数据进行分析与对比并建立相应的数学模型,从而得到其癌症人基因与正常人基因的特征值,利用其与未知样本

2、比较即可得到未知样本的基因信息。 针对问题二:针对癌症基因中可能出现的子类问题,我们主要采用动态模糊聚类分析的方法对问题求解。首先对20个癌症基因样本利用相关系数法求得其相关性。而后抓住主要矛盾以最低程度降低同组样本相似性为代价求得对其分类的最佳阈值,从而将前20个癌症样本最佳分为4个子类。最后用神经网络对已分类的癌症样本进行训练,通过可视化的方法呈现出我们的分类结果。关键词:模糊聚类分析 神经网络 可视化 主成分分析法 1. 问题重述癌症作为当今人类的第一大杀手,其主要特点是破坏性强,难预防。基因作为遗传控制因子对癌症的发病率有着最直接的联系。为此我们需利用题目附件中给出的60个人114个基

3、因表达水平的样本解决以下两个问题。在附件中前20个是癌症病人的基因表达水平的样本(其中还可能有子类), 其后的是20个正常人的基因表达信息样本, 其余的20个是待检测的样本(未知它们是否正常)。问题一:试设法找出描述癌症与正常样本在基因表达水平上的区别, 建立数学模型,及识别方法,去预测待检测样本是癌症还是正常样本.问题二:设计图示 (可视化) 方法,使得在你的数学模型下, 尽量清楚地表现癌症与正常样本在基因表达水平上的区别, 以及癌症样本中是否有子类.2. 问题分析对于问题一:根据附件中前40个已知基因信息样本使用作图工具箱进行分析,将所有样本的基因信息反映在图表上,由此我们发现每个基因都有

4、着其一定的正常表达范围。由于基因种类太多,生物网络过于复杂,为了得到精确的标准,我们将生物技术和计算机技术有效的结合起来对已知信息利用基于遗传算法的神经网络数理化进行分析处理从而建立相对应的数学模型,首先用-1,1对40个已知样本量化使数据简化。由于每个样本中包括都由114个基因,所包含的信息太多。所以我们需要用到主成分分析法对所有已知数据处理找出其特征值致癌因子,而后可通过神经网络随机挑选出的34个训练样本对所建立神经网络进行训练,用其余6个已知样本对网络测试检验。对于问题二:基于问题一所建立的数学模型,将待测的样本分为正常和癌症基因样本。但对于将癌症基因的进一步分类,则需要运用动态模糊矩阵

5、,同时,还要找出阈值的合理求解方法,从而得到最佳的答案。最后,利用可视化的方法将样本的分组具体描绘出来。3.模型的假设与符号说明3.1 模型的假设假设一:基因样本的信息准确无误,真实可信,不含特殊样本。假设二:每个样本间相互独立,每个基因间相互独立。假设三:样本的基因表达方式一致,由统一计算方法所得并可直接参与计算。假设四:样本中只有正常人与癌症病人的基因区别,忽略其他遗传病症。假设五:癌症病人的主要致癌基因均在这114个中。假设六:基因样本的数据中纵向表达一一对应。假设七:癌症患者由致癌因子直接导致,不考虑其他客观因素的影响。假设八:在研究过程中,114个基因不再发生变化影响研究结果。3.2

6、 符号说明:癌症基因样本:第个样本:样本与相似程度:模糊等价矩阵:特征值:相邻阈值之比:第组样本相似度:正常基因样本:第个样本所包含的第个基因信息:模糊相似矩阵:阈值:样本所分组数:样本组数之比:神经网络目标值4.模型的准备本文针对癌症样本与正常样本在基因表达上的不同,利用作图工具箱(程序见附录一)使基因表达信息反映在图表上。观察以下图像可以发现每个正常基因都是有一定的正常表达范围的,超过这个范围的基因可以确定为癌症基因。但是通过作图模型做出的图表只能对样本进行粗略的判断,不能得到精准的结果,所以我们接下来需要利用合理的数理分析对数据进行再次处理建立有效的数学模型来区分癌症与正常的基因。如图一

7、所示:图15.模型的建立与求解5.1 问题一的解决:第一步:针对问题的特殊性,我们主要选择BP神经网络对其求解。根据题中所给60个人的基因表达,对前40个人已知基因进行量化:将前40个正常人与癌症患者具体量化为:=则目标值为:T=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1第二步:题中所给数据每个人均有114个基因来决定是属于癌症还是正常,变量太多,无疑会增加分析问题的难度与复杂性,并且在许多实际问题中,多个变量之间是具有一定的相关关系的。因

8、此我们选取60个人的主要致癌基因,也即对60行114列数据进行处理,选取主要特征。利用主成分分析法减少输入变量,减少训练时间,提高训练效率,达到提高神经网络泛化能力的目的。得到特征值的贡献率如图2所示(程序见附录): 图2 特征值的贡献率经计算得到:第一,第二,第三,第四,第五,第六,第七,第八主成分的累积贡献率已达到86.82%,所以我们选取八个主成分,。如图3所示:图3结果得到8行60列为主要成分,利用中的函数,再通过编程得到新的主成分矩阵(程序见附录)。由此可得出影响一个人是正常还是癌症主要由此8个主要成分决定。在选择训练样本和检验样本时,我们取癌症人群和正常人群各17个样本(占样本总数

9、56.7%),这两类人群中的剩余的各3个样本作为检验样本(占样本总数10%),剩余20个作为测试样本(占样本总数33.3%)。首先,对训练样本归一化,设置网络隐含层的神经元数为5个,之所以选5个,是因为当神经元数为3,4,5时,其输出精度都相仿,一般的讲,网络神经元的选择原则是:在能够解决问题的前提下,再加上一个到两个神经元以加快误差的下降速度即可。而当神经元数过大时,会产生其它的问题。然后,运用网络中的函数来创建网络,其中隐含层选择作为传递函数,用作为网络训练函数,网络的全局误差为0.00001,训练速率为0.01,学习次数为5000000次,得出以下结果为(程序见附录):训练样本为:=-1

10、.0001 -0.9998 -0.9999 -0.9997 -1.0001 -1.0002 -1.0000 -0.9999 -0.9999 -1.0000 -1.0001 -0.9997 -1.0000 -0.9999 -1.0001 -1.0001 1.0006 0.9978 0.9962 1.0075 0.9972 0.9959 1.0136 1.0000 0.9993 0.9939 1.0001 1.0001 0.9999 0.9972 1.0024 1.0000 0.9979误差性能之和:0.00034均方差: 0.00001网络训练误差如图4:检验样本为:-1.0042 -1.029

11、8 -0.7234 0.9820 0.8615 1.0345误差为:0.42% 2.98% 37.66% -2.8% -13.85% 3.45%预测的结果为:-0.2336 0.4908 -0.3489 0.7683 2.0489 -0.0097 0.4940 0.8415 -0.8534 0.4664 -0.7463 -1.2671 0.1883 -0.7680 -0.4632 -1.0935 1.1057 -0.8225 -2.3802 -1.4352图4故在20个测试样本中有8个是正常人,12个癌症患者为41,43,46,49,51,52,54,55,56,58,59,60。5.2 问题

12、二的解决: 对于问题二,我们选用基于动态模糊矩阵的模糊聚类分析方法,建立模型。为了能够对已知癌症基因样本,进行细化,使得可以对癌症基因样本再分类,得到子类。绘制动态聚类图,如图5所示: 17.13.20.8.19.14.10.18.15.16.4.11.1.5.7.6.9.2.3.120.970.960.950.940.930.920.910.890.800.78图5成组的准则:阈值1,0.97,0.96,0.94,0.93,0.92,0.91,0.89,0.80,0.78,组数20,19,16,14,11,9,7,6,4,2,1。随着阈值的减小,组数也将减小,同组中样本数增加,而样本的相似程

13、度降低,即扩大各组样本数量是以降低样本相似性为代价的。在分组的过程之中,我们发现,最优解为两个癌症子类(程序见附录),但是考虑实际情况,有一组中只有一个样本,所以这样的分组并不具有代表性,所以我们选取次优解,即:0.89时,组数为4。即有4个癌症子类。6.模型结果的分析与检验判别致癌因子是一个十分复杂的非线性问题,针对这一问题的特殊性,我们主要利用BP神经网络兼用主成分分析法的方法对问题求解。由于问题中所给数据基因种类太多,我们采用主成分分析法以抓住问题的实质德目的综合指标作为主成分简化数据,在一定程度上没有将可能影响问题结果的全部因素考虑进去。这使问题的求解结果在存在一定范围的误差。但是在问

14、题一中,由所得的结果我们可以清晰明了的看出利用主成分分析法简化同时在求解问题二时,利用微分方程的思想求解,用对数据处理后得到了黑匣子在海底运动轨迹的三维立体模型,由图可知其运动为变加速的曲线运动大致符合黑匣子在海底的实际情况,同时问题二及问题三的结果均在题目所给范围内。验证了所得求解结果的正确性。7.模型的推广与改进方向7.1 模型的推广在如何正确区别正常基因与致癌基因从而判别致癌因子的问题中,我们根据问题的特殊性采用了神经网络算法对问题进行求解。神经网络算法由众多的神经元可调的连接权值连接而成,具有大规模并行处理、分析式信息存储、良好的自组织自学习能力等特点,同时具有很强的非线性映射能力。所

15、以我们认为在解决如何判别致癌因子的问题中所建立的数学模型可推广至一些其他非线性问题上(如公路的运量预测、艾滋病治疗最佳停药时间的确定等)。7.2 模型的改进在解决问题的过程中我们首先利用的是模糊聚类分析,将数据归一化处理后由预测的结果看出其检验样本误差较大.为此我们认为对于正常基因与癌症基因这两类差距较大样本的判别可使用BP神经网络模型,它对于解决非线性问题有着独特的优势.同时对于基因基数大,种类多的问题.我们在解决过程中加入了主成分分析法对数据简化.从而改进了所建立的模型是结果在一定得误差范围更快速的得出。8.模型的优缺点8.1 模型的优点: 1. 对于可能出现影响的次要因素进行假设,抓住主

16、要影响因素,对问题进行分析。2. 利用软件对数据进行处理,使解题效率提高。3. 使用作图使所求解问题的结果简单明了。4. 致癌因子的判别是一个十分复杂的非线性问题,针对这一问题的特殊性我们主要采用神经网络模型对问题求解。5. 在解题过程中兼用主成分分析法求主要特征值简化问题。使所建立的数学模型可普遍适用。8.2 模型的缺点:在问题一中,在采用主成分分析法时没有将其他可能影响的因素考虑进去,使结果存在一定的误差。 在问题二中,动态模糊聚类分析具有一定的误差,相识度归类并不能达到100%。参考文献1姜启源,谢金星,叶俊,数学建模(第三版)M.高等教育出版社,2003.8 2黄洪钟.模糊设计M.北京

17、:机械工业出版社,1999 3鲁开讲,张宁,杨峰,基于零件分类编码的模糊聚类分析J.文理学院20024朱雪龙.应用信息论基础M.北京:清华大学出版社,20025汤服成,一种聚类分析方法J.数学的实践与认识,19886李增,迟道才.基于遗传算法的改进Elman神经网络模型的降雨量预测J.沈阳农 业大学学报,2010附录:1. 基因图表分析的Matlab程序:a=load(附件2.txt);t=1:114;subplot(3,1,1)for i=1:20 b=a(i,:); plot(t,b,r.-) hold onendgrid xlabel(基因序列)ylabel(基因表达水平)title(癌

18、症病人基因样本)subplot(3,1,2)for i=21:40 b=a(i,:); plot(t,b,g.-) hold onendgrid xlabel(基因序列)ylabel(基因表达水平)title(正常人基因样本)subplot(3,1,3)for i=41:60 b=a(i,:); plot(t,b,b.-) hold onend grid xlabel(基因序列)ylabel(基因表达水平)title(待检测基因样本)2. 求截距阵的Matlab程序:clccleara=load(附件2.txt)x=a(1:40,2:115);xi=mean(x);xi=xi;for i=1:

19、114 xx(:,i)=xi;endxxfor i=1:40 for j=1:40 temp=sum(abs(x(i,:)-xx(i,:).*(x(j,:)-xx(j,:); flag=sqrt(sum(x(i,:)-xx(i,:).2)*sqrt(sum(x(j,:)-xx(j,:).2); p(i,j)=temp/flag; endendP=pn=input(参数n=);for i=1:40 for j=1:40 if p(i,j)=n p(i,j)=1; else p(i,j)=0; end endendfuzequmat(p)3. 用相关系数法求模糊相似矩阵的Matlab程序:clcc

20、leara=load(附件2.txt)x=a(1:20,2:115);xi=mean(x);xi=xi;for i=1:114 xx(:,i)=xi;endxxfor i=1:20 for j=1:20 temp=sum(abs(x(i,:)-xx(i,:).*(x(j,:)-xx(j,:); flag=sqrt(sum(x(i,:)-xx(i,:).2)*sqrt(sum(x(j,:)-xx(j,:).2); p(i,j)=temp/flag; endendp4. 求模糊等价矩阵的Matlab程序:function RP=rpower(dati,P)%模糊关系乘法%RP=rpower(R,P

21、)%R为模糊关系,P为R自乘的次数%error(nargchk(2,2,nargin)%if(P=floor(P),error(P must be an integer.);endN M=size(datin);%if(N=M),error(Matrix length of each demensoin must agree.);endRP=datin;while P1 for i=1:N for j=1:N RP(i,j)=max(min(RP(i,:);datin(:,j); end end P=P-1;endfunction RK=fuzequmat(R)%Fuzzy equivalen

22、t matrix 求模糊等价矩阵%RK K=fuzequmat(R)%RK即求得的等价矩阵,K为自乘的次数,R为相似矩阵%error(nargchk(1,1,nargin);K=0;RK=R;while all(all(RK=rpower(RK,2) RK=rpower(RK,2); K=K+1;endRKK=2K%n=input(参数n=);%在R*上对U分类,直接利用floor函数%R*n=floor(R+(1-n)5. BP神经网络模型的Matlab程序:clcclose allcleara=load(附件2.txt)%BP建模x=a(1:60,2:115); coef score la

23、tent t=princomp(x);z=coef*x;latentA=sum(latent);m=size(latent);temp=0;for i=1:m temp=temp+latent(i); if temp/A=0.85 n=i break; endendZ=z(1:n,:);p=Z(1:n,1:17,21:37);%原始数据归一化T=-ones(1,17),ones(1,17);P minp maxp=premnmx(p);%设置网络隐单元的神经元数(530验证后5个最好)N=5;%建立相应的BP网络net=newff(minmax(P),N,1,tansig,purelin,tr

24、aingdm);inputWeights=net.IW1,1;inputbias=net.b1;%BP网络参数的设置net.trainParam.show=50;net.trainParam.lr=0.01;net.trainParam.epochs=2000000;net.trainParam.goal=1e-5;%训练网络net tr=train(net,P,T);%对BP网络进行仿真A=sim(net,P)E=A-T;%误差性能函数之和M=sse(E);%求均方差N=mse(E);test1=Z(1:n,18:20,38:40);T1=-ones(1,3),ones(1,3);%对新样本

25、进行量化test1=tramnmx(test1,minp,maxp);%仿真a1=sim(net,test1)E1=a1-T1;%误差性能函数之和M1=sse(E1);N1=mse(E1);M,N,M1,N1%预测test=Z(1:n,41:60);%对新样本进行量化test=tramnmx(test,minp,maxp);%仿真a=sim(net,test)6. 改进后的BP神经网络模型的Matlab程序:clcclose allclear%下载数据load Adata.txt%BP建模x=Adata(1:60,2:115);coef score latent t=princomp(x);z

26、=coef*x;latentA=sum(latent);m=size(latent);temp=0;for i=1:m temp=temp+latent(i); if temp/A=0.85 n=i break; endendZ=z(1:n,:);%p=Z(1:n,:);p=Z(1:n,2:17,20,24:40);%原始数据归一化T=-ones(1,17),ones(1,17);P minp maxp=premnmx(p);%设置网络隐单元的神经元数N=10;M=1;%遗传算法nvar ncase=size(P);cl=nvar*N+N*M+N+M;popu=100;varb=ones(cl

27、,1)*-1 1;initPop=initializega(popu,varb,gabpEval);%遗传算法g=200;%调用Matlab工具箱中的遗传函数x,endPop,bPop,trace=ga(gabpEval,varb,initPop,1e-6 10,maxGenTerm,g,normGeomSelect,0.09,arithXover,2,nonUnifMutation,2 g3);iw,b1,1w,b2,val=gadecode(x);%调用TRAINGDM算法训练BP网络net=newff(minmax(P),N,M,tansig,purelin,traingdm);%设置初

28、始权值和偏置参数net.IW1,1=iw;net.b1=b1;net.LW2,1=1w;net.b2=b2;%BP网络参数的设置net.trainParam.show=50;net.trainParam.lr=0.05;net.trainParam.mc=0.9;net.trainParam.epochs=5000000;net.trainParam.goal=1e-5;%训练网络net tr=train(net,P,T);%对BP网络进行仿真A=sim(net,P)E=A-T;%误差性能函数之和M=sse(E);%求均方差N=mse(E);r=corroef(t,st);r2=r(1,2)2

29、;fprintf(决定系数bata:%.4gn,r2);%自变量对因变量贡献值分析p=ones(1,ncase);p;w=net.b1 net.iw1;v=net.lw2;h=w*p;H=2./(1+exp(-2*h)-1;y=net.lw2*H+net.b2;C=zeros(s1,nvar);c=zeros(1,s1);for j=1:nvar for i=1:s1 pm1=cov(h(i,:),p(j+1,:),1); pm1=pm1(1,2); pm2=var(h(i,:),1); C(i,j)=pm1*w(1,j+1)/pm2; endendfor i=1:s1 pm3=cov(H(i

30、,:),y,1); pm3=pm3(1,2); pm4=var(y,1); c(i)=pm3*v(i)/pm4;endpm5=cov(y,t,1);pm5=pm5(1,2);pm6=var(t,1);cp=pm5/pm6;z=c*C*cp;test1=Z(1:n,1,18,19,21:23);T1=-ones(1,3),ones(1,3);%对新样本进行量化test1=tramnmx(text,minp,maxp);%仿真a1=sim(net,text1)E1=a1-T1%误差性能函数之和%预测test=Z(1:n,41:60);%对新样本进行量化test=tramnmx(test,minp,

31、maxp);a=sim(net,test)%a=postmnmx(a,mint,maxt)functionsol,val=gabpEval(sol,options)global c1for i=1:c1 x(i)=sol(i);endiw,b1,1w,b2,val=gadecode(x);function iw,b1,1w,b2,val=gadecode(x)global pglobal tglobal nvarglobal ncaseglobal Mglobal Mglobal clfor i=1:N for j=1:nvar iw(i,j)=x(nvar*(i-1)+j); endend

32、for i=1:M b2(i)=x(nvar*N+N*M+N)+i);endp=ones(1,ncase);p;iw=b1 iw;st=b2+1w*tansig(iw*p);ss=sumsqr(t-st);val=1/ss;p=p(2:nvar+1,:);iw=iw(:,2:nvar+1);7. 最优分组确定的Matlab程序:clcclear alla=0.97 0.96 0.95 0.94 0.93 0.92 0.91 0.89 0.80;b=19 16 14 11 9 7 6 4 2;for i=2:9 n(i-1)=a(i-1)/a(i); m(i-1)=b(i-1)/b(i);endnmu=n./mmin(u)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号