李楠楠
(天津工业大学 天津 300387)
神经网络是近年来发展非常迅速的一门交叉学科,它是将生物神经网络在结构和功能等方面进行理论抽象、简化、模拟而组成的一种信息处理系统。所涉及到的学科包含神经科学、信息科学以及计算机科学等。随着我国科学技术水平的不断发展,各个前沿科学技术都不断地渗入到医学领域之中,使得医学领域得到了快速的发展。而神经网络算法因其自身的优越性在医学中的各个领域都得到了广泛的应用,其中在医学诊断领域的应用最为广泛,包含了信号信息处理、数据信息提取、模式识别等方面,并取得了一定的成果,受到了我国广大研究者的重视,在未来神经网络算法将会在医学诊断领域得到更广泛的应用[1]。但是不可否认的是神经网络算法自身依然存在着许多问题,这些问题也阻碍着该项技术未来的发展,因此神经网络算法在未来还有着很长一段路要走。
由于神经网络算法的应用不同,在实际使用过程中也有很多标准。根据算法性能可以分为连续型与离散型;根据算法学习方式可以分为有导师学习与无导师学习;根据算法突触性可以分为一阶线性关联与高阶非线性关联。目前最为常见的分类是根据神经网络的信息路径与网络结构将其分为三大类:前馈型,BP神经网络是该类型的代表;反馈型,Hopfield神经网络是该类型的代表;自组织特征映射,Kohonen神经网络是该类型的代表。其中又以前馈型神经网络算法的应用范围最广、理论最为成熟。
尽管神经网络算法只是对人脑的低级模仿,但与其他计算机技术不同的是,该算法与人类智能类似。虽然单个神经元的功能不强,但是当神经元的数量足够庞大时,其信息处理能力非常强大。因此神经网络算法具有以下特点:一是具有较强的并行处理能力。因为神经网络算法是由大量单个处理单元构成的,各单元之间的连接错综复杂,是一个非线性型的系统,功能丰富且处理速度较快;二是能对信息进行分布式储存。神经网络算法与人脑网络相似并具有一定的信息储存能力,虽然单个神经单元的储存能力较弱,但多个神经元组成网络后其储存的信息量较大;三是容错率高。因为神经网络算法采用分布式储存方式,当网络中局部神经元出现损坏后,并不会对整体的神经网络造成影响,同时对神经网络处理信息的正确性也不会产生影响[2]。
近年来,随着神经网络相关理论研究不断的深入以及计算机技术的发展,神经网络算法至今已经取得了瞩目的成就,在生物药学领域的应用也更加广泛。在该领域的应用主要是利用神经网络模型进行识别与判别。如对基因组序进行识别、对人类DNA序列进行分析,对药物成分进行分析,对制剂成分进行研究、医学图像分析以及医学信号处理等方面。神经网络算法在这些方面的应用,为生物医药学领域的不断的突破提供了技术支持[3]。
将神经网络算法应用到医学统计领域之中,会发现它的预测性远远优于传统的统计学方法。如利用该算法对肝移植手术后的急性排异反应进行预测,其预测准确率明显高于传统预测方法;如利用神经网络算法对急性心梗的发病率进行预测,其预测结果也较为准确;如将神经网络算法应用到前列腺癌、食道癌等领域的癌症发病率预测上,也取得了令人满意的成果。同时,神经网络算法对数据的拟合情况,也优于传统的回归模型算法,能取得更加精确地数据。但是神经网络算法在短期预测上却存在着明显的短板,其预测结果明显不如传统的预测手段准确。因此,神经网络算法并不是在任何领域都适用,还是需要根据实际的情况选择适合的统计方法才能取得更好地预测结果。
医学诊断是医生根据病人的病情、病症以及实际的检查结果,对病人的身体状况进行综合分析,从而得出科学的诊断结果。在医院中,医生每天都要进行大量的病情诊断工作,而诊断也是预防疾病的重要依据,能快速地为病人提供一个可靠且一致的诊断结果是非常重要的。病情诊断往往需要严密的推理,是医生凭借自己多年来所学的病理知识以及实际的经验所得到的诊断结果,这种诊断结果容易受到医生本人主观因素的影响,在实际诊断过程中往往会因为各种原因造成对病情错误的诊断。特别是在医生本身不熟悉的领域,医生专家往往只能依靠经验来解决问题,有时医学专家也不能精确地给出诊断结果。因此,许多专家学者一致认为在医学诊断领域是很难实现自动化,这就意味着在该领域很难建立一个准确的计算模型。
医学专家在对病人的病情进行诊断时,其自身往往不能准确说出为什么他要这样做,而是根据他们多年来的从业经验给出的诊断结果。医学专家所面对的患者往往非常复杂,同时并不能对他们进行完全了解。如一个人实际的身体状况医学专家是很难进行详细描述的,对于写程序的技术人员来说是一个非常复杂且困难的工作,但是对于诊断本身是依据已有的病例进行科学的分析,本文认为医学诊断在实际应用中是可以将其自动化的。
本质上讲,医学诊断是一个分类问题,根据患者的病情以及医院的检查结果,我们可以用一个向量来对其进行表示,并将其划分为病人或者非病人。进而转化为寻找一个差别函数得出:
公式(1)中的T表示患者。从公式(1)中可以看出,神经网络算法完全可以在医学诊断领域中进行应用。实际应用过程中主要分为两个过程:一是学习过程,这一过程将对所有病人的信息进行收集,包含病人的多种临床症状以及医院的检查结果,通过对这些病人的病症数据进行分析,可以得到病人临床症状与疾病之间存在的内在联系,也就是函数。二是分类过程。这一过程根据病人的情况、病状以及医院检查结果等,对病人是否生病进行判别,进而对病人的病情进行详细分类。
在使用该诊断系统进行学习和诊断时,首先,应确定该系统实际需要训练的样本集,在挑选样本时应尽可能选择具有代表性的病例并保证这些病例的样本数量,同时为了兼顾各种病情还需要对一些特殊病例进行收集。其次,需要对诊断系统的诊断正确率进行测试,采用的方法是可以从医院的病历库中随机选取一部分病例作为系统测试的样本。最后,完成对样本集病例的学习,并对测试样本做出诊断结果,将诊断系统所给出的诊断结果与病历中的临床诊断结果进行对比,得出诊断系统的正确率。通常情况下,诊断系统对训练样本的正确检出率可达到100%,对于测试样本的正确奖励可达到95%,对于非病人的正确检测率在85%以上,而误诊仅为10%。因此,为神经网络医学诊断系统提供更多的学习样本,那么神经网络算法所取得的函数就越具普遍性,其准确率就越高。在实际病情诊断过程中,对于病历数据不完整的患者,传统的诊断手段是比较难以进行处理的,而使用神经网络算法的诊断系统具有较强的容错率,且对最终的诊断结果影响不大。
基于神经网络算法在医学领域的应用一直都是一个热点话题,而我国在该领域的研究还远远不如国外成熟,在医学领域的应用更是局限于实验室之中,即使已经实际应用到医学领域之中,其本身也存在着精度不高、训练时间较长的缺点。此外,神经网络模型非常复杂,不同人在使用该算法时会采用不同的网络结构,从而导致研究结果之间存在着一定矛盾性。由此可见,神经网络算法在医学中的应用还有着很长的一段路要走,还需要不断的探索和研究,同时也正是因为医学领域自身的复杂性为神经网络算法的进一步研究提供了广阔的空间。本文通过对前人研究经验的总结,对神经网络算法在医学中的应用进行分析,希望能使该算法成为医学领域的一种有效地工具。