乳腺癌的诊断.doc

上传人:少林足球 文档编号:4030884 上传时间:2019-10-15 格式:DOC 页数:13 大小:695.51KB
返回 下载 相关 举报
乳腺癌的诊断.doc_第1页
第1页 / 共13页
乳腺癌的诊断.doc_第2页
第2页 / 共13页
乳腺癌的诊断.doc_第3页
第3页 / 共13页
乳腺癌的诊断.doc_第4页
第4页 / 共13页
乳腺癌的诊断.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《乳腺癌的诊断.doc》由会员分享,可在线阅读,更多相关《乳腺癌的诊断.doc(13页珍藏版)》请在三一文库上搜索。

1、乳腺癌的诊断 a.问题描述现有500个乳腺癌病患的10个特征量的平均值、标准差和最大值以及其诊断结果-良性或恶性,并有69位待判断的乳腺癌患者的相关数据及其诊断结果,建立一个数学模型使得其能够由前500个病患的数据来给出后69个病患的诊断结果。b.分析调研1.整体评估将前500个数据存入数组,作如下处理:并将诊断为良性和恶性的数据分开,将这两个数组转制后作黑白图,如下: 恶性良性其中横坐标表示病例,纵坐标代表各项相关数据,颜色越深表示数值越低,可见良性与恶性的数据总体差异较大,但存在一些难以分别的病例。而且标准差的干扰最大。如果才用线性或logistic模型来分类,其分界界面为一个光滑平缓的曲

2、面,这只能满足总体效果,对于一些局部区域的分界性能将不能够随着参考数据的增加而提升。为了进一步提高判断的准确率,需要重点识别由数据确定的分解区域。2. 二维投影分析将500个已知案例投影在任意两维中,并对每一维的数据采用如下归一化:选取其中具有代表性的数据结果。几乎在每两维上的投影均出现良性和恶性案例混叠的情况,这就说明选取参数的个数较少时,其判断的准确率难以提高。并且无论如何选取参数,良性和恶性案例必将出现混叠。同时发现不同的参数之间存在相关性,如(1,3)、(1,4)、(1,21)、(1,23)、(1,24)、(3,4)、(3,21)、(3,23)、(3,24)、(4,21)、(4,23)

3、、(4,24)、(21,23)、(21,24)、(23,24)。c.初步模型及结果假设良性案例与恶性案例在空间中可以由两个表面平缓且不相交的区域、分别覆盖。则剩下的空间可以作为过度区域。问题在于如何识别识别出和,他们应满足如下性质:对于任意一个良性案例和恶性案例,当它们相隔很近时,即和均有足够的盈余来覆盖其中的案例。但只有500个数据的空间对于上述的区域划分是远远不够的。假设状态空间为一个边长为d的立方体,案例的平均最小距离是,即案例密度过低,不能够在30维的空间中明确的表示出分界,而且由于各分量的影响权重不同,不能够很好的进行边界识别。但可以采用如下方法进行近似划分:以每一个案例作为球心来画

4、球,所有球的半径按相同速率同时扩大,当某一个的半径扩大使其与相反的案例所在的球相切时,则它们均停止继续扩大。此法比较简单,但计算量太大,不宜快速实现,并且边界区域的划分只是考虑了最近的一个案影响,而且没有考虑到后期对于各分量权值的调整。当各分量的权值未知时,不能采用距离的概念,但可知,无论各分量权值为多少,最靠近的那些点必然满足如下性质;在某几个分量上是最靠近的。基于上述性质,采用分维来选择最近的案例作为参考,并将各维的参考求和,采用多数判断制,称为算法1。将500个案据中的每一个放入除去它的499个案例中进行判断,结果如下:标准差的正确率较低,而其他两种类型的数据有一些较好的结果。d.模型的

5、改进与检验1. 参考数据比较算法分维选取的目的是希望为以后的加权计算留余地,但这样选取并没有很好地考虑到各个方向的影响,即应在每一维选取的时候,同时选其左右最接近的两个案,按线性差值计算,类似于查表,称为算法2,结果如下:在判断的正确率方面,算法2比算法1更好,而每一维的判断正确率却基本一致。但此种选法忽略了一个问题,由于数据太少,每一维的所选出的两个案例很可能在其它维的值与待判断的相差较大,从而没有充分利用数据,并且可能出现重复选择某些案例。由此,设计算法3:采用算法二的方法选取案例,并作为一个案例集合,在每一维的判断上将这集合中的每一个案例都投影上去,并按其在这一维距带判断的距离的反比作为

6、权值求和,最后按多数来进行判断。无论是判断的正确率还是每一分量判断的正确率,算法3都比算法2更好。2.局部穷举优化为了在选取少数的参数为判断而不失正确率,需要在种组合中挑选,由于目标是选取少量的参数来判断,因而只需穷举其中的一小部分,令选取参数的个数为1到4,共137979种组合。以所有案例的得分到理论最高分的差的方差作为挑选指标。下面对前述三种算法采用局部穷举:上述结果统计如下:算法选取参数个数1234189.4%(23)80%(23,28)92.2%(23,24,28)87%(7,23,24,28)288.6%(23)88.2%(23,28)92.4%(23,24,28)91.4%(7,2

7、3,24,28)392%(28)93.6%(24,28)93.4%(23,24,28)92.6%(8,23,24,28)如果采用其他的指标作为挑选标准,也可以得到类似结果:以判断的正确率作为指标:算法选取参数个数1234189.4%(23)82%(23,24)92.6%(3,23,28)88%(3,7,23,28)288.6%(23)89%(23,24)92.6%(7,24,28)93.2%(3,23,24,27)392.6%(23)94.2%(2,28)95%(22,24,28)95%(22,24,27,28)从穷举的结果可知,每多选一个参数,其最优的参数选择接近于贪婪算法,因而在需要精简计

8、算量的场合,可以采用贪婪算法快速求得较优解。但仍然可以通过适量增加计算量得到一种在计算复杂度和计算效果上更平衡的算法,如下。3.分组与排名优化从最优参数选取中任取几个参数作为一种选取方案,则这个方案不可能很糟糕,基于这个想法,提出分组与排名优化算法:假设选取参数的个数为1到n3,每组最多选择3个参数。第3组第2组第1组每次在前一组的基础上再选1个穷举选最好的方案每次选1个穷举选最好的方案每次在前一组的基础上再选2个穷举选最好的方案每次选2个穷举选最好的方案每次在前一组的基础上再选3个穷举选前20种方案每次选3个穷举选前20种方案计算结果如下:(详细数据见 分组与排名.nb)选取参数个数算法12

9、3189.4%(23)88.6%(23)92.6%(23)282%(23,24)89%(23,24)94.2%(2,28)392.6%(3,23,28)92.6%(7,24,28)95%(22,24,28)488%(3,7,23,28)93.2%(3,23,24,27)95%(22,24,27,28)594.4%(2,23,24,27,28)95.4%(2,23,24,27,28)95.6%(22,24,27,28,30)690%(3,7,22,23,24,28)95.2%(2,7,8,23,24,25)95.6%(2,7,22,24,27,28)795.4%(3,7,17,22,23,24,

10、28)95.2%(3,7,22,23,24,25,27)95.6%(2,7,8,22,24,27,28)891.8%(1,3,8,22,23,24,27,28)96%(2,3,7,23,24,25,28,30)95.2%(2,3,8,22,24,27,28,30)995.6%(2,3,7,14,22,23,24,28,30)95.8%(3,4,7,8,23,24,25,27,30)95%(2,3,5,7,22,24,27,28,30)1092.2%(3,4,7,14,17,22,23,24,28,30)95.8%(2,3,7,8,21,23,24,25,27,30)94.8%(2,3,7,8,

11、22,24,27,28,29,30)1195.4%(1,2,3,7,14,22,23,24,27,28,30)96%(1,2,3,7,14,22,23,24,27,28,30)94.8%(2,3,6,7,8,22,24,27,28,29,30)1293.6%(1,2,3,5,7,8,14,22,23,24,27,28,30)96.4%(3,7,14,15,21,22,23,24,25,27,28,30)94.8%(2,3,7,21,22,23,24,26,27,28,29,30)1395.6%(1,2,3,5,7,8,14,22,23,24,27,28,30)96.2%(1,2,3,7,8,1

12、4,15,22,23,24,25,27,30)94.8%(2,3,7,9,21,22,23,24,26,27,28,29,30)1493.2%(1,2,3,5,7,8,10,14,22,23,24,27,28,30)96.4%(2,3,4,7,8,14,15,22,23,24,25,27,28,30)94.4%(2,3,4,5,7,21,22,23,24,26,27,28,29,30)1596%(1,2,3,7,8,12,14,15,22,23,24,27,28,29,30)96.2%(1,2,3,7,8,11,14,15,22,23,24,25,26,27,30)94.6%(2,3,4,5,

13、7,20,21,22,23,24,26,27,28,29,30)选取参数个数在7个以内时,算法3更优,而其余的更适合用算法2。4.粒群搜索优化(PSO)在设定好的状态空间中随机产生多个点,并赋予随机速度。计算每一个点的指标值及其对应的位置存入,总的最优值及其对应的位置存入,然后生成新的速度:计算下一时刻的位置:通过多次迭代后取出最佳值即可得到局部最优解。以正确率为指标,以各参数的权值作为搜索空间,计算结果如下算法2 (3,7,14,15,21,22,23,24,25,27,28,30) 优化前准确率为96.4%算法2 (2,3,4,7,8,14,15,22,23,24,25,27,28,30)

14、 优化前准确率为96.4%算法3 (22,24,28) 优化前准确率为95%算法3 (22,24,27,28) 优化前准确率为95%算法3 (22,24,27,28,30) 优化前准确率为95.6%整体性能有一定的提升,但提升的幅度不是太大(1%以内),而且消耗的计算时间较多。最高97%的准确率不算太好。5.BP神经网络模型(feed-forward backpropagation network)BP神经网络分为输入层、隐含层、输出层。输入层输出层隐含层隐含层的每一个结点的输入均来自输入层的每一个结点的输出,而输出层的每一个结点的输入均来自隐含层的每一个结点的输出。每一条连线上赋有一个权值,

15、而隐含层和输出层的每个结点有一个内部权值。隐含层的结点采用logsig函数:其中x表示输入向量。神经网络具有结构简单和非线性映射、泛化性、容错能力强的特点,是模式识别的常用方法之一。BP神经网络采用从后向前的误差传导来逐步修正网络中的各参数,从而实现高效的参数优化。采用神经网络模型可以得到一个非常简单的判断模型,但需要较长的训练时间。若将30个参数都作为输入,隐含层含有10个结点,其matlab程序如下:newff(P1,T1,10,1,logsig,purelin,trainbfg,.learngd,mse)训练样本为前400个案例,用剩余的169个案例作测试,正确率为95.27%。采用随机

16、的搜索方法在最多选10个参数的方案中选出1000个,最佳方案为(3,17,19,22,23,25,29)训练样本的正确率为98.22%,测试样本的正确率为97.50%,网络模型对应的函数如下:-0.54 + 1.44/(1 + exp(-0.52 - 1.66*x1 - 0.91*x10 - 0.74*x11 + 0.11*x12 - 0.27*x13 - 1.6*x14 - 1.15*x15 - 0.7*x16 - 1.39*x17 - 1.24*x18 - 1.03*x19 - 1.24*x2 - 1.*x20 - 0.32*x21 - 1.2*x22 - 0.25*x23 - 1.81*

17、x24 - 0.11*x25 - 0.75*x26 - 1.42*x27 - 0.43*x28 - 0.5*x29 - 0.51*x3 - 1.29*x30- 0.45*x4 - 0.46*x5 - 0.88*x6 - 0.26*x7 - 1.46*x8 - 0.83*x9) + 2.19/(1 + exp(-2.7 - 2.*x1 - 0.21*x10 - 1.59*x11 - 1.14*x12 - 2.21*x13 - 1.89*x14 - 0.86*x15 - 0.05*x16 - 1.53*x17 - 0.25*x18 - 0.03*x19 + 0.19*x2 - 0.87*x20 -

18、 0.79*x21 - 0.84*x22 - 1.57*x23 - 1.31*x24 + 0.11*x25 - 1.02*x26 - 0.39*x27 - 1.42*x28 - 0.71*x29 - 0.51*x3 + 0.04*x30 - 1.8*x4 + 0.12*x5 - 0.69*x6 - 1.35*x7 - 0.82*x8 - 0.33*x9) - 2.18/(1 + exp(3.06 - 1.19*x1 + 2.09*x10 + 0.06*x11 + 1.4*x12 + 0.72*x13 + 0.2*x14 + 1.1*x15 + 1.31*x16 + 1.17*x17 - 0.9

19、5*x18 + 0.38*x19 - 0.92*x2 + 1.48*x20 - 2.7*x21 - 2.11*x22 -3.14*x23 - 1.28*x24 - 2.26*x25 - 0.95*x26 - 0.58*x27 - 2.88*x28 - 0.16*x29 - 1.16*x3 - 0.08*x30 - 1.89*x4 - 0.56*x5 - 1.17*x6 - 1.17*x7 - 2.67*x8 - 0.27*x9) - 4.17/(1 + exp(4.27 - 1.26*x1 + 1.23*x10 - 1.03*x11 + 0.18*x12 - 0.9*x13 - 0.02*x1

20、4 + 1.13*x15 + 0.54*x16 + 1.45*x17 - 0.56*x18 + 0.76*x19 - 1.46*x2 + 2.1*x20 - 2.21*x21 - 1.85*x22 - 2.6*x23 - 1.44*x24 - 1.68*x25 + 1.*x26 - 1.41*x27 - 3.07*x28 - 0.72*x29 - 1.51*x3 + 0.5*x30 - 0.8*x4 - 0.61*x5 - 0.25*x6 - 0.54*x7 - 1.05*x8 - 0.2*x9) + 1.41/(1 + exp(-3.07 + 1.59*x1 - 1.55*x10 + 0.6

21、2*x11 - 0.64*x12 - 0.42*x13 - 0.03*x14 - 0.67*x15 - 0.27*x16 - 0.29*x17 + 0.43*x18 + 0.47*x19 + 1.38*x2 + 0.08*x20 + 1.37*x21 + 0.74*x22 + 0.5*x23 + 0.42*x24 + 0.76*x25 + 0.25*x26 + 0.09*x27 + 2.12*x28 + 1.*x29 + 0.97*x3 - 0.03*x30 + 1.23*x4 + 1.37*x5 + 0.48*x6 + 0.2*x7 + 1.37*x8 + 0.05*x9) - 0.44/(

22、1 + exp(-3.04 + 0.9*x1 - 0.28*x10 + 0.46*x11 - 0.17*x12 + 0.56*x13 - 0.72*x14 - 0.54*x15 - 0.76*x16 - 0.84*x17 - 0.11*x18 - 0.89*x19 + 0.86*x2 + 0.58*x20 + 0.16*x21 - 0.18*x22 - 0.18*x23 + 0.03*x24 - 0.11*x25 + 0.97*x26 + 0.47*x27 - 0.6*x28 + 0.12*x29 - 0.66*x3 - 0.05*x30 - 0.91*x4 + 0.48*x5 - 0.52*

23、x6 - 0.44*x7 - 0.06*x8 + 0.12*x9) + 0.57/(1 + exp(2.31 + 0.72*x1 - 0.94*x10 + 0.58*x11 - 0.63*x12 + 0.85*x13 + 0.7*x14 + 0.29*x15 - 0.81*x16 - 0.2*x17 - 0.15*x18 - 0.31*x19 + 0.93*x2 + 0.42*x20 - 0.18*x21 - 0.18*x22 + 0.76*x23 - 0.51*x24 - 0.26*x25 + 0.06*x26 + 0.75*x27 + 0.42*x28 + 0.48*x29 - 0.82*

24、x3 - 0.52*x30 - 0.88*x4 - 0.13*x5 + 0.25*x6 - 0.38*x7 - 0.37*x8 + 0.59*x9) - 0.71/(1 + exp(-0.24 - 0.02*x1 - 0.96*x10 - 0.78*x11 - 0.02*x12 - 1.29*x13 + 0.12*x14 - 1.06*x15 - 1.02*x16 - 0.18*x17 + 0.06*x18 - 0.79*x19 + 0.31*x2 - 1.13*x20 + 1.62*x21 + 0.42*x22 + 0.56*x23 - 0.39*x24 + 0.9*x25 + 0.28*x

25、26 - 0.33*x27 + 2.1*x28 + 0.29*x29 + 0.97*x3 + 0.4*x30 + 0.33*x4 + 0.52*x5 + 0.74*x6 + 0.23*x7 - 0.07*x8 + 0.62*x9) + 2.86/(1 + exp(-0.2 + 0.65*x1 + 0.02*x10 - 0.25*x11 - 0.09*x12 + 0.75*x13 - 0.7*x14 + 0.07*x15 - 0.08*x16 - 1.05*x17 - 0.54*x18 + 0.48*x19 + 1.06*x2 - 0.55*x20 + 0.44*x21 + 1.44*x22 +

26、 1.31*x23 - 0.27*x24 + 1.48*x25 - 0.07*x26 - 0.43*x27 + 1.26*x28 + 0.7*x29 + 0.72*x3 - 0.39*x30 - 0.57*x4 - 0.02*x5 - 0.81*x6 + 1.12*x7 + 1.39*x8 + 0.81*x9) - 1.96/(1 + exp(-1.19 + 1.25*x1 - 0.01*x10 + 1.1*x11 + 1.17*x12 + 0.52*x13 + 0.95*x14 - 0.69*x15 + 1.35*x16 + 1.53*x17 + 1.02*x18 + 0.31*x19 +

27、1.45*x2 + 0.42*x20 + 1.48*x21 - 0.17*x22 + 0.51*x23 + 0.99*x24 + 0.5*x25 + 0.56*x26 + 1.35*x27 + 0.95*x28 + 1.19*x29 + 0.93*x3 + 0.88*x30 + 0.77*x4 + 0.58*x5 + 0.5*x6 + 0.35*x7 + 0.74*x8 + 0.92*x9)采用其他参数设置:newff(P1,T1,10,1,tansig,purelin,trainbfg,.learngdm,mse)整体性能如上图所示,测试样本的正确率为97.04%。newff(P1,T1,1

28、0,5,1,logsig,tansig,purelin,trainbfg,learngdm,mse)测试样本的正确率为98.22%。6.遗传算法优化(GA)遗传算法利用群体之间的信息交换产生新的个体,在保留优秀基因的同时加入新的基因的同时,利用优胜劣汰的方式使群体的指标逐步优化。由于群体有足够的数量,从而增加了搜索到全局最优值的机会。与粒群搜索相比,具有保留优秀模式的能力,与分组与排名算法相比,具有更短的搜索时间。将30个待选的参数标志作为30个基因片段,放入数组gene中,若genei0.5,表示有第i个特征,利用上述BP神经网络计算出相应的模型并算出测试数据的准确率作为指标。参数30的使用

29、标志参数2的使用标志参数1的使用标志使用matlab函数ga计算,设置为newff(P1,T1,10,1,logsig,purelin,trainbfg,.learngd,mse)结果如下:( 1 2 7 12 15 21 22 24 25 28 29 30)测试样本的正确率为97.63%,但选取的参数过多,从而加入参数个数的上限5,结果为:(1 3 27 29)测试样本的正确率为94.67%。若设置为:newff(P1,T1,10,5,1,logsig,tansig,purelin,trainbfg,learngdm,mse)结果为:(14 20 25 28 30) 或(1 2 8 13 3

30、0)测试样本的正确率均为95.86%。e.完整解决方案综上分析,采用BP神经网络模型,通过遗传算法优化是建立简单模型的较佳方法。参考数据比较算法1、2、3类似于神经网络,但由于不需要训练来得到快速的判断算法,从而只能生成较慢的算法,同时耗费更多的存储空间。当数据量增多时,BP神经网络算法容易陷入过训练的情况,从而降低了系统的鲁棒性。由于边界的模糊性,过于精细的划分将导致模型的出错,此时采用参考数据比较算法反而可以较好的识别模糊的边界。实际情况中不可能有明确的分界线,其更类似于如下图所示的概率模型。因而建立的模型需是对应事件发生的概率值,如此才能更好的识别这个基于概率的模型。参考文献:1James Kennedy and Russell Eberhart Particle Swarm Optimization IEEE2K.E.Parsopoulos and M.N.Vrahatis Recent approaches to global optimization problems through Particle Swarm Optimization Natural Computing

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1