遗传算法在医学判别分析中的应用
作者:汤忠鎏 王浙东
单位:汤忠鎏(苏州医学院卫生统计学教研室,苏州,215007);王浙东(苏州医学院附属儿童医院)
关键词:遗传算法;判别分析;冠心病
苏州医学院学报000746 摘要 将20例冠心病患者与20名正常人的样本数据,运用遗传算法(GA)建立了线性判别函数,并与Fisher判别分析作了比较。结果表明,GA比传统的统计分析方法具有更强的寻优能力,证实了GA应用于医学判别分析的有效性。
中图法分类号 R195.1
1975年美国Michign大学Holland教授首先提出的遗传算法(Genetic Algorithm,GA)是建立在生物进化论与分子遗传学基础上的一种优化算法。它是生命科学与数理科学相互交叉、渗透和相互促进的典范之一。经过20多年的研究,GA已在很多科技领域获得成功应用。我们试图将GA用于医学判别分析,以20例冠心病患者与20名正常人的样本数据为基础,建立了线性判别函数,并与传统的Fisher判别分析作比较,证实了GA的有效性与合理性,比传统统计分析法有更强的寻优能力。
, 百拇医药
1 资料和方法
1.1 常规判别分析方法 根据对象的各项指标测定结果,将对象判定于某一类别中。在医学统计学中称为判别分析。如根据对象的体征与实验室检查指标判定对象为某疾病的病人或正常人。判别分析是计算机作疾病辅助诊断和细菌分类等工作的统计学基础。常用方法是根据样本数据经统计分析建立一线性判别函数Z[1] ①
x1,x2,…xm 为m个观测指标值
b1,b2,…bm 为判别系数
判别分析要解决的主要问题是找出最优判别系数并确定判别函数Z的判别界限——临界值。Fisher判别分析是最有代表性的判别分析法。以两类判别为例,其原理为求得判别值Z使A、B两组Z值均数间距离平方对组内离均差平方和的合计值的比值F最大,即: ②
, 百拇医药
为此必须求F值对各判别系数b1,b2,…bm的偏导数并令其为零,再求解关于b1,b2,bm的线性方程组。这一方法本质上是一种基于微分的寻优方法。这类方法至少有两个明显的缺点:(1)可能陷入局部最优;(2)对各变量的要求较为苛刻,如正态性和相互独立性等。
1.2 GA的基本原理与特点 舍弃传统的基于微分的寻优方法,改用简单遗传算法(SGA)来确定最优判别函数。选用20例冠心病患者和20名正常人的有关资料进行分析。以临床观察对象的5个特征和实验室检查指标作为协变量(X1:年龄,X2:收缩压,X3:胆固醇,X4:三酸甘油脂,X5:血糖),作冠心病判别分析。
GA引用生物进化论思想,建立一个规模为N的可能解种群(Population),将每一个可能解表示为字符串形式以模拟由若干基因组成的染色体,即对求解问题进行基因编码。初始解用随机化方法产生。然后用适当的适应度函数(Fitness Function)对种群的每个个体进行性能评价,从而进行优胜劣汰、适者生存的自然选择并繁衍后代。后代的产生依赖于选择、交叉与变异3个遗传操作算子。GA的计算过程可归纳如下[2~3]:(1)随机产生一定规模的初始种群。(2)计算每一个个体的适应度值和群体平均适应度值,若适应度值或遗传世代数满足给定条件,转向(6),否则进行下一步。(3)按一定策略进行选择。(4)以一定概率作遗传操作:交叉与变异。(5)转(2)。(6)结束。
, http://www.100md.com
GA本质上是一种启发式随机搜索寻优算法,与常规的基于微分的寻优算法相比有如下的一些特点[2~3]:(1)GA为全局搜索法,同时考虑待寻优解空间的许多点。理论上讲GA最终总可搜寻到全局最优点。基于微分的寻优方法则有可能陷入局部最优。(2)与其他随机搜索寻优方法一样,GA只要求函数信息,并不需要作求导运算和其他信息。这有利于对非线性强和有较强随机干扰作用的问题的求解。(3)GA处理的是参数集合的编码而并非参数本身——遗传操作是对字符串进行的。这使GA具有更广泛的应用范围,如可用来对神经网络模型进行优化[4]。
1.3 遗传算法的应用 当用遗传算法确定如①所示的最优判别函数时,适应度函数的选取有两种考虑:(1)算法A:沿用Fisher判别分析准则选②的F值作为适应度函数,F值愈大则认为该个体愈能适应“生存环境”,视为优秀个体。(2)算法B:以判别结果计算所得的灵敏度sn和特异度SP来建立适应度函数。 ③
, 百拇医药
在两种GA算法中,选择机制均为比例选择机制;交叉均采用单点交叉策略;突变采用简单的位点突变方式。算法主要参数选取如下:群体规模N=50,染色体长度LC=32,交叉概率0.6~0.7,突变概率0.05~0.1,这两个概率均是凭经验选取的。
2 结果
对20例冠心病患者与20名正常人的资料分别用Fisher判别分析与A、B两种GA算法建立判别函数。3种判别函数为:
Z1=0.002689X1+0.001882X2+0.000694X3-0.000194X4+0.001687X5 ④
Z2=0.048835X1+0.034776X2+0.014173X3+0.000056X4+0.025753X5 ⑤
, 百拇医药
Z3=0.098654X1+0.031129X2+0.003583X3+0.000513X4+0.050637X5 ⑥
经F检验,3种判别函数判别能力均有统计学意义。在确定了临界值后,将40例样本数据回代到上述3种判别函数进行判别,并计算灵敏度与特异度指标,以鉴别所建判别函数的优劣,结果如附表所示。
附表 3种判别函数的判别结果比较 算法
适应度函数
判别函数
灵敏度(%)
特异度(%)
, http://www.100md.com
Fisher判别
式④
90
90
GA A
式②
式⑤
90
90
GA B
式③
式⑥
90
, http://www.100md.com 95
5个协变量中,变量X4的贡献率最小,然而用Fisher判别法建立的判别函数中的判别系数b4为负值是难以用医学专业知识加以解释的。而两种GA算法所建立的判别函数中b4均为正值,这就比较合理。此外,适应度函数选用的GA的判别结果中特异度SP=95%,比另外两个判别函数的判别特异度(90%)要高,显示出更强的寻优能力。
搜集到10例新样本对所建的判别函数进行检验。由于样本量甚小,不适宜用灵敏度和特异度指标进行分析,而仅用判别结果正确与错误的绝对数的多少来比较判别结果。对5例冠心病患者,3种判别函数对前4个病例均作出正确判断;第5个病例因判别函数值略小于临界值而错判为正常人,也可视为处于临界状态。对5名正常人,3种判别函数均对其中3名作出正确判别;其他2名则错判为病人,这其中也有1人的判别函数值略大于临界值,处于临界状态。因样本量少尚未看出3种判别函数对新样本判别能力的差别。它们判别的结果均为:10例新样本,7例正确判断,1例错判,2例处于临界值附近。
, http://www.100md.com
3 讨论
GA可有效地用于医学判别分析,所得判别系数符合医学专业知识的解释,回代结果也较常规Fisher判别分析为好。
GA中适应度函数的选取具有重要意义。从计算结果分析看,用作为适应度函数,GA的判别效果更佳。
仅从10例新样本的判别结果看,文中所列3种判别函数的判别结果是相同的。当然这还需扩大样本含量作进一步的分析与比较。
参考文献
1,金丕焕,编著.医学统计方法.上海∶上海医科大学出版社,1993∶266
2,陈国良,编著.遗传算法及其应用.北京∶人民邮电出版社,1996∶10
3,陈根社,陈新海.遗传算法的研究与进展.信息与控制,1994,4∶215
4,周利峰.BP神经网络与Logistic回归对比初探.中国卫生统计,1998,1∶1
收稿:1999-06-18, http://www.100md.com
单位:汤忠鎏(苏州医学院卫生统计学教研室,苏州,215007);王浙东(苏州医学院附属儿童医院)
关键词:遗传算法;判别分析;冠心病
苏州医学院学报000746 摘要 将20例冠心病患者与20名正常人的样本数据,运用遗传算法(GA)建立了线性判别函数,并与Fisher判别分析作了比较。结果表明,GA比传统的统计分析方法具有更强的寻优能力,证实了GA应用于医学判别分析的有效性。
中图法分类号 R195.1
1975年美国Michign大学Holland教授首先提出的遗传算法(Genetic Algorithm,GA)是建立在生物进化论与分子遗传学基础上的一种优化算法。它是生命科学与数理科学相互交叉、渗透和相互促进的典范之一。经过20多年的研究,GA已在很多科技领域获得成功应用。我们试图将GA用于医学判别分析,以20例冠心病患者与20名正常人的样本数据为基础,建立了线性判别函数,并与传统的Fisher判别分析作比较,证实了GA的有效性与合理性,比传统统计分析法有更强的寻优能力。
, 百拇医药
1 资料和方法
1.1 常规判别分析方法 根据对象的各项指标测定结果,将对象判定于某一类别中。在医学统计学中称为判别分析。如根据对象的体征与实验室检查指标判定对象为某疾病的病人或正常人。判别分析是计算机作疾病辅助诊断和细菌分类等工作的统计学基础。常用方法是根据样本数据经统计分析建立一线性判别函数Z[1] ①
x1,x2,…xm 为m个观测指标值
b1,b2,…bm 为判别系数
判别分析要解决的主要问题是找出最优判别系数并确定判别函数Z的判别界限——临界值。Fisher判别分析是最有代表性的判别分析法。以两类判别为例,其原理为求得判别值Z使A、B两组Z值均数间距离平方对组内离均差平方和的合计值的比值F最大,即: ②
, 百拇医药
为此必须求F值对各判别系数b1,b2,…bm的偏导数并令其为零,再求解关于b1,b2,bm的线性方程组。这一方法本质上是一种基于微分的寻优方法。这类方法至少有两个明显的缺点:(1)可能陷入局部最优;(2)对各变量的要求较为苛刻,如正态性和相互独立性等。
1.2 GA的基本原理与特点 舍弃传统的基于微分的寻优方法,改用简单遗传算法(SGA)来确定最优判别函数。选用20例冠心病患者和20名正常人的有关资料进行分析。以临床观察对象的5个特征和实验室检查指标作为协变量(X1:年龄,X2:收缩压,X3:胆固醇,X4:三酸甘油脂,X5:血糖),作冠心病判别分析。
GA引用生物进化论思想,建立一个规模为N的可能解种群(Population),将每一个可能解表示为字符串形式以模拟由若干基因组成的染色体,即对求解问题进行基因编码。初始解用随机化方法产生。然后用适当的适应度函数(Fitness Function)对种群的每个个体进行性能评价,从而进行优胜劣汰、适者生存的自然选择并繁衍后代。后代的产生依赖于选择、交叉与变异3个遗传操作算子。GA的计算过程可归纳如下[2~3]:(1)随机产生一定规模的初始种群。(2)计算每一个个体的适应度值和群体平均适应度值,若适应度值或遗传世代数满足给定条件,转向(6),否则进行下一步。(3)按一定策略进行选择。(4)以一定概率作遗传操作:交叉与变异。(5)转(2)。(6)结束。
, http://www.100md.com
GA本质上是一种启发式随机搜索寻优算法,与常规的基于微分的寻优算法相比有如下的一些特点[2~3]:(1)GA为全局搜索法,同时考虑待寻优解空间的许多点。理论上讲GA最终总可搜寻到全局最优点。基于微分的寻优方法则有可能陷入局部最优。(2)与其他随机搜索寻优方法一样,GA只要求函数信息,并不需要作求导运算和其他信息。这有利于对非线性强和有较强随机干扰作用的问题的求解。(3)GA处理的是参数集合的编码而并非参数本身——遗传操作是对字符串进行的。这使GA具有更广泛的应用范围,如可用来对神经网络模型进行优化[4]。
1.3 遗传算法的应用 当用遗传算法确定如①所示的最优判别函数时,适应度函数的选取有两种考虑:(1)算法A:沿用Fisher判别分析准则选②的F值作为适应度函数,F值愈大则认为该个体愈能适应“生存环境”,视为优秀个体。(2)算法B:以判别结果计算所得的灵敏度sn和特异度SP来建立适应度函数。 ③
, 百拇医药
在两种GA算法中,选择机制均为比例选择机制;交叉均采用单点交叉策略;突变采用简单的位点突变方式。算法主要参数选取如下:群体规模N=50,染色体长度LC=32,交叉概率0.6~0.7,突变概率0.05~0.1,这两个概率均是凭经验选取的。
2 结果
对20例冠心病患者与20名正常人的资料分别用Fisher判别分析与A、B两种GA算法建立判别函数。3种判别函数为:
Z1=0.002689X1+0.001882X2+0.000694X3-0.000194X4+0.001687X5 ④
Z2=0.048835X1+0.034776X2+0.014173X3+0.000056X4+0.025753X5 ⑤
, 百拇医药
Z3=0.098654X1+0.031129X2+0.003583X3+0.000513X4+0.050637X5 ⑥
经F检验,3种判别函数判别能力均有统计学意义。在确定了临界值后,将40例样本数据回代到上述3种判别函数进行判别,并计算灵敏度与特异度指标,以鉴别所建判别函数的优劣,结果如附表所示。
附表 3种判别函数的判别结果比较 算法
适应度函数
判别函数
灵敏度(%)
特异度(%)
, http://www.100md.com
Fisher判别
式④
90
90
GA A
式②
式⑤
90
90
GA B
式③
式⑥
90
, http://www.100md.com 95
5个协变量中,变量X4的贡献率最小,然而用Fisher判别法建立的判别函数中的判别系数b4为负值是难以用医学专业知识加以解释的。而两种GA算法所建立的判别函数中b4均为正值,这就比较合理。此外,适应度函数选用的GA的判别结果中特异度SP=95%,比另外两个判别函数的判别特异度(90%)要高,显示出更强的寻优能力。
搜集到10例新样本对所建的判别函数进行检验。由于样本量甚小,不适宜用灵敏度和特异度指标进行分析,而仅用判别结果正确与错误的绝对数的多少来比较判别结果。对5例冠心病患者,3种判别函数对前4个病例均作出正确判断;第5个病例因判别函数值略小于临界值而错判为正常人,也可视为处于临界状态。对5名正常人,3种判别函数均对其中3名作出正确判别;其他2名则错判为病人,这其中也有1人的判别函数值略大于临界值,处于临界状态。因样本量少尚未看出3种判别函数对新样本判别能力的差别。它们判别的结果均为:10例新样本,7例正确判断,1例错判,2例处于临界值附近。
, http://www.100md.com
3 讨论
GA可有效地用于医学判别分析,所得判别系数符合医学专业知识的解释,回代结果也较常规Fisher判别分析为好。
GA中适应度函数的选取具有重要意义。从计算结果分析看,用作为适应度函数,GA的判别效果更佳。
仅从10例新样本的判别结果看,文中所列3种判别函数的判别结果是相同的。当然这还需扩大样本含量作进一步的分析与比较。
参考文献
1,金丕焕,编著.医学统计方法.上海∶上海医科大学出版社,1993∶266
2,陈国良,编著.遗传算法及其应用.北京∶人民邮电出版社,1996∶10
3,陈根社,陈新海.遗传算法的研究与进展.信息与控制,1994,4∶215
4,周利峰.BP神经网络与Logistic回归对比初探.中国卫生统计,1998,1∶1
收稿:1999-06-18, http://www.100md.com