江 涛
(西安交通大学 人工智能与机器人研究所,西安710049)
以往医学诊断方法都是借助医疗设备对病人进行病症检查,通过拍CT 获取病理特征,之后再由医生分析病情,得出诊断结果[1]。 这种传统诊断方式会受到医生水平影响,尤其是一些疑难杂症的诊断,其结果可靠性无法得到保障。 并且,专家数量有限,在一些中小医院,目前还缺少门诊专利部分,这就造成疑难病症的误诊率较高[2]。
针对这种现象,人们将目光转向到一个新的领域,就是使用现在科学技术诊断病症。 因此,提出了基于规则的专家系统,该系统随着规则库内容不断填充,规则库内存无法满足大量规则信息,加之推理循环过程存在大量无效信息,不仅浪费病理检验时间,还有可能出现误诊现象;使用神经网络专家系统虽然可以避免该问题的产生,但在获取相关信息时,其采用权值代替知识库的方式,这种方法会随着信息搜索空间变大而出现知识获取瓶颈问题。出现这种现象的根本原因就是系统采用串行工作模式,医疗诊断系统只能通过简单医疗数据进行病症诊断,实用价值较小[3]。
采用人工智能技术采集患者身份信息及病理特征时,需遵循以下几个步骤[4]:①身份识别;②病理采集;③数据通信。
病例特征采集是患者身份信息识别的基础,根据医疗诊断系统功能需求,可将患者身份信息及病理特征采集模块分为4 个子模块,分别是主控制器、身份识别模块、采集模块和通信模块,如图1所示。
在设计主控模块时,将DSP 数字信号处理器作为主要控制器,由此控制患者身份信息及病例特征采集的时间与模式[5]。 尤其在身份识别和脉搏信号采集过程中,应将该设备与主机进行实时通信[6]。 结合医疗诊断系统要求,选择主控芯片来保证系统良好的稳定性能,同时强大数据处理能力,通过设置多条通信路径,能够提高数据采集效率。 从系统性能角度出发,选择STM32F103C8T6 芯片作为DSP数字信号处理器主要芯片[7]。 该芯片可由32 位组成的ARM 微处理器,最高工作频率能够达到80 MHz,片中具备10 个通道口,最短转换时间为1 μs,能够实现多条路径信息的快速采集[7]。
对于信号预处理过程,应先将采集的病例信号输入医疗诊断系统之中,并在该系统数据库中添加病人正常和发病时的呼吸速率信息,避免外界环境干扰,需在信息采集信号上叠加病例信号,通过使用小波变换方法在低频时获取分辨率较好的信息。
利用小波变换去噪原理如下所示:
设在医疗诊断系统中待测信号为m,外界环境干扰序列为
式中:ri表示标准外界环境干扰元素;s 表示干扰均方差。 与阈值相关的系数主要是由干扰引起的,设置初始干扰因素为0,大于该阈值的小波系数主要是由于固定向量引起的,经过重构后,可以得到去噪后的信号。
通过使用改进小波阈值去噪方式消除多余病例信号,同时完成基线漂移消除[8]。 分解小波变换信号后,及时查看分解层数,当分解层数较多时,可使用低频尺度信号,以此作为漂移基线,在保证尺度系数不变情况下,将尺度系数归置为0,通过重构信号能够得到有效病例信号。
由于病例信号频率较低,容易受到外界干扰,出现一系列冗余信号,这对特征提取来说是相对困难的。 因此,从时域或频域角度分析,获取信号属性,再借助小波变换预处理模式提取相关特征[9]。 使用小波变换技术能够实现正常信号与脉搏信号分离,由此抽取不同频段上的全部信息,再通过不同尺度重构脉搏段,能够获取不同频段上不一样的病例能量值。 将所有频率端信号能量值加在一起,按照一定顺序排列,能够得到用于识别病例信号的相关特征向量[10]。
采用主成分分析技术,能够降低病例信号特征向量维数,具体降维过程如下所示:
(1)为了标准化处理数据,需将从数据库中获取的a 个b 维病理特征向量统一规划成数据矩阵形式,由此消除数量量纲干扰。
(2)求取协方差矩阵κ。
式中:T 表示求取周期。
(3)获取协方差矩阵特征值α1,α2,…,αn以及特征向量λ1,λ2,…,λn,将特征值按顺序依次排列,根据特征值调整特征向量位置,获取单位正交矩阵。
(4)确定特征值累计贡献率,设定抽取指标,获取对应主要向量。
(5)计算标准化后矩阵在主要向量上投射结果,由此得到低维数特征向量矩阵。
根据上述内容,可用降维后的特征向量作为信号特征处理结果向量。
对于诊断模型的构建,需从病例数据和专家经验角度出发,根据医疗诊断系统中的数据库信息,确定病例指标,利用该指标计算符合需要疾病辅助诊断的数据,由此获取符合度,诊断模型如图2所示。
图2 诊断模型Fig.2 Diagnostic model
模糊测度是基于人工智能技术训练的各个指标对疾病诊断贡献,综合衡量是指在相互影响下的贡献程度。 通过与程序中设定标准值比较,用模糊积分方法计算诊断结果,得出具体诊断结果。
步骤一:分析医学数据
为了保证研究结果具有真实性,需提取真实有效信息,通过研究当地医院对患者检测使用的仪器以及资料库信息,可以获取病理数据;在网络技术支持下,大部分医疗数据都是可以公开的,因此,也可直接从网络上搜索相关获取的数据。 为了确保试验结果准确可靠,数据集的格式处理都需根据实验内容进行预处理,使用Matlab 公式诊断病症,并采用.mat 格式作为数据集格式。
步骤二:确定基础指标
资深医师可从应试者大量的检验指标中选择相关的重要指标,根据指标与指标之间的相关性来判断应试者是否患上了某种疾病。 以上指标选择是指在保证可信性的基础上,选择适当的算法实现降维。 该模型利用人工智能技术的遗传算法来确定基础指标,遗传算法优化神经网络获取确定基础指标的步骤如图3所示。
图3 确定基础指标获取流程Fig.3 Determine the basic index acquisition flow chart
借助神经网络算法优化分析基础指标具体获取流程,主要步骤如下所示:
(1)初始种群产生
首先应获取基础数据,然后使用随机函数生成初始串结构,每个串上都包含了一种类型的节点数据,由此组成一个群体。 该群体包含的个体数量为20~100 个,其是基于初始群体迭代法。
(2)适应度函数计算
遗传算法求解最优解的关键是适应度函数,该方法将适应度函数用于度量群体中个体达到最优解的程度,适应能力更强的个体更有可能遗传给下一代。
为克服初始权值和阈值的随机性对计算适应度函数的影响,利用遗传算法对BP 神经网络建立后的权值和阈值进行优化计算。
(3)选择操作
在选择算子过程中,应先选取个体,并将该个体遗传给下一代群体,该过程所产生的比例即为算子,具体选择操作步骤如下所示:
①在一个群体中计算所有个体适应程度的总和,代表预测输出误差与期望输出误差的总和。 错误越小,就越有可能遗传。
式中:X 表示种群个体;i 表示个体数量;m 表示迭代次数。
②在一个群体中,应先分析不同个体之间的适配度,以此作为基础,将其遗传给下一代,该过程出现的概率计算公式如下所示:
③一种模拟的轮盘赌操作是用来生成(0,1)之间的随机数来决定每个人被选择多少次,适应性强的个体具有较高的选择概率。
(4)交叉操作
输入层的索引值先被压缩,再被减小,再被交叉。 这一步是借助单点交叉算子来分配个体的,由不同个体选择基因、交叉。 通过交换交点位置,能够产生新的个体。
(5)变异操作
设置输入层指标数据,该数据是先被压缩后,再被缩小的,通过点击突变,实现由“0”到“1”之间的转变,根据随机产生的突变点的位置改变基因值。
(6)输出降维结果
不断调整适应度函数,当函数满足终止条件时,此时输出群体为最优的群体,由此可达到最优解。
(7)确定模糊测度
将输入自变量作为训练集和测试集数据,通过重建神经网络模型,确定初始诊断结果,通过与正规化结果相比较,可确定模糊终止条件,以该条件为前提,在最佳诊断准确率下,确定各指标模糊测度[11]。
步骤三:确诊病情
通过与标准值比较,发现当模糊积分值大于该值时,即视为有病,否则视为无病。
针对人工智能在医疗诊断系统中的应用研究合理性,以肺癌CT 诊断为例展开实验研究。
选择来自某市第一附属医院的118 例CT 片,其中肺癌60 例,良性58 例,其中入院时间选择2018年至2019年6月,诊断得到医院认证。 肺癌60 例患者中男性人数为10 例,女性为50 例,平均年龄为35~79 岁,提取的相关病例信息及评分量化指标如表1所示。
表1 相关病例信息及评分量化指标Tab.1 Related case information and scoring quantitative indicators
对于分值高分指标,选择0 分、5 分和10 分的CT 片作为参照片,各个指标分数取平均值,从全部样片中随机选取50 例作为训练集,剩下68 例作为预测集。
分别使用神经网络专家系统W1、基于规则的专家系统W2 和人工智能技术W3 诊断肺癌CT,对比内容如下所示。
4.2.1 胸膜凹陷诊断
胸膜凹陷指的是肿瘤与胸膜之间存在的线性阴影,肿瘤体内瘢痕组织不断牵拉会形成胸膜凹陷现象。基于此,对比三种方法诊断误差和ROC 曲线,结果如图4、图5所示。
由图4和图5可知,使用人工智能技术误差在-0.1~0.1 范围内波动,而其余两种技术诊断误差偏大,其中神经网络专家系统诊断误差最大为0.7。 人工智能技术ROC 曲线下面的面积大约为80%,而其余两种技术ROC 曲线下面的面积较小。 由此可知,使用人工智能技术胸膜凹陷诊断结果较为精准[12]。
图4 三种方法胸膜凹陷诊断误差对比分析Fig.4 Comparative analysis of the three methods of pleural depression diagnosis error
图5 三种方法胸膜凹陷ROC 曲线对比分析Fig.5 Comparative analysis of ROC curves of three methods for pleural depression
4.2.2 胸膜浸润诊断
分别采用三种方法分析胸膜浸润诊断误差和ROC 曲线,结果如图6、图7所示。
图6 三种方法胸膜浸润诊断误差对比分析Fig.6 Comparison and analysis of three methods of pleural infiltration diagnosis error
图7 三种方法胸膜浸润ROC 曲线对比分析Fig.7 Comparative analysis of ROC curves of three methods of pleural infiltration
由图6和图7可知,使用神经网络专家系统最高诊断误差为0.78,基于规则的专家系统最高诊断误差为0.68,而人工智能技术最高诊断误差为0.1。对于ROC 曲线分析,使用人工智能技术ROC 曲线下面的面积大约为90%,由此可知,使用人工智能技术胸膜浸润诊断结果较为精准。
由人工智能技术和专家系统组成的混合系统可以克服传统专家系统的不足,一是运用人工智能技术获取诊断知识;尤其对于医学实践中难以获取的知识,需先克服专家系统基础瓶颈问题;在另一方面,应充分发挥专家系统良好说明功能,改善神经网络信息推理过程时间耗费长的问题。在实验阶段,由于数据量较小,无法与数据库中历史资料对比,必然存在一定误诊率,因此,对于该方面的研究还有待深入。