首页 / 适用于疾病诊断的基于角蜥蜴算法的新型特征选择方法

适用于疾病诊断的基于角蜥蜴算法的新型特征选择方法实质审查 发明

技术领域

[0001] 本发明属于机器学习技术领域,具体地,涉及一种适用于疾病诊断的基于角蜥蜴算法的新型特征选择方法。

相关背景技术

[0002] 在当今的医疗领域,疾病诊断技术正经历着深刻的变革与发展。机器学习作为一种强大的数据分析工具,在疾病诊断方面展现出了巨大的潜力。例如,在乳腺癌和帕金森病的诊断中,通过利用大量患者的生理指标数据构建机器学习模型,可以辅助医生更准确、更高效地进行诊断决策,从而显著提高疾病的早期发现率和治疗成功率。
[0003] 在机器学习的应用过程中,特征选择是一个至关重要的阶段。对于乳腺癌诊断相关的数据集如 Breastcancer(原始乳腺癌数据集)和 BreastEW(诊断乳腺癌数据集),以及帕金森病诊断的 Parkinsons 数据集,它们包含了众多患者的生理指标数据。这些数据的特征维度往往较为复杂,涵盖了从血液检测指标、影像特征到基因表达数据等多个方面。然而,并非所有的特征都对疾病的诊断具有同等重要的作用。过多的冗余或无关特征不仅会增加模型训练的计算复杂度,导致所需的硬件资源大幅提升,包括更高的内存需求、更长的计算时间以及更强的处理器性能要求,还可能会引入噪声,降低模型的预测准确度和泛化能力。
[0004] 传统的特征选择方法在处理这类复杂的医疗数据集时存在诸多局限性。例如,一些基于过滤式的特征选择方法,虽然计算效率相对较高,但往往忽略了特征之间的相关性,难以挑选出最优的特征组合。而包裹式特征选择方法虽然能够考虑到特征与模型的相互作用,但由于需要对模型进行反复训练和评估,计算开销巨大,在面对大规模数据集时显得力不从心。
[0005] 角蜥蜴算法是一种新兴的优化算法,它模拟了角蜥蜴在自然环境中的生存策略和行为模式,具有良好的全局搜索能力和收敛速度。将角蜥蜴算法应用于特征选择阶段,可以有效地克服传统方法的不足。通过角蜥蜴算法的优化搜索机制,能够在庞大的特征空间中快速定位到与疾病诊断最为相关的特征子集,可以显著降低模型的训练时间和硬件资源消耗。同时,经过角蜥蜴算法筛选后的特征能够更好地反映疾病的本质特征和内在规律,从而提高模型的预测准确度。

具体实施方式

[0020] 下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0021] 下述实施例中所使用的实验方法如无特殊说明均为常规方法。所用材料、试剂、方法和仪器,未经特殊说明,均为本领域常规材料、试剂、方法和仪器,本领域技术人员均可通过商业渠道获得。
[0022] 一种适用于疾病诊断的基于角蜥蜴算法的新型特征选择方法:所述方法具体包括以下步骤:
步骤一:设定疾病数据集对应的随机数,所述疾病数据集的随机数的个数与疾病
数据集特征数量相当,从而根据随机数生成基础种群代理;
随机生成基础种群代理,该步骤为HLOA算法自带。具体说就是使用代码实现随机
数的生成,该随机数大小范围在设定的上下界之间,每一组代理中个体的个数或者说代理中随机数的个数与数据集特征数量相当,数据集Breastcancer每组生成9个随机数、数据集BreastEW每组生成30个随机数,数据集Parkinsons每组生成22个随机数;
步骤二:对每个代理进行二进制化,生成新的特征选择向量组;具体做法为生成的基础种群代理和阈值进行比较,比阈值小,则该位置的特征选择向量为0,代表该特征不选取;反之则为1,代表选取,具体公式如下所示:
(6)
为第i个特征在第1轮对应的特征选择向量组的数值,为第i个个体生成的初始
值,为比较阈值。根据公式6可获得第i个个体对应的二进制布尔数值,该布尔数值决定了第i个特征在第1轮计算时是否应该选取。
[0023] 即:如果 ,则在第1轮计算时,选取第i个特征;如果 ,则在第1轮计算时,不选取第i个特征。
[0024] 以数据集Breastcancer举例来说,假设生成的特征选择向量组为[1,1,1,1,0,0,0,0,0],则对该次预测来说,该病患的生理信息中只选取:团块厚度、 细胞大小均匀度、细胞形状均匀度、 边缘粘连,并将这4个信息输入模型进行训练与预测,而生理信息:单个上皮细胞大小、裸核、 温和染色质、正常核仁、有丝分裂则舍弃,也就是不参与此次训练与预测。
[0025] 对于据集BreastEW和数据集Parkinsons同理。
[0026] 步骤三:根据步骤二的结果,用新的特征选择向量组进行模型的训练与预测,用适应度函数来判断该特征选择向量组的性能,以判断种群是否为当前最优解或最差解;适应度函数如下:(7)
公式7中 为适应度函数值, 为使用选择之后的特征进行分类的
错误率,在本发明中为分类错误的数量占总数的百分比,取值范围在[0,1], 为选取的特征个数, 为数据集中的特征总数,是用来调整特征子集长度和分类准确度的参数。
[0027] 步骤四:基础种群进入HLOA算法进行迭代,具体迭代内容为每个种群会根据一定的规则,诸如迭代轮次是偶数或奇数等,分别进入HLOA算法的四个策略中的一个。当选定一个策略后,每个代理中的每个个体都会按照策略中的公式进行计算迭代,其计算结果便为新一轮迭代中种群代理。
[0028] 所述HLOA算法具体为:角蜥蜴优化算法(HLOA),受自然界中角蜥蜴行为启发,模仿角蜥蜴的隐蔽、皮肤变暗或变亮、血液喷射和移动逃避防御行为。因此四种策略分别为:(4.1) 隐蔽策略:
隐蔽是生物通过模仿环境的特征,如颜色、质地等,甚至通过变得半透明,使捕食者或猎物难以察觉或识别,从而融入周围环境的过程。通过对生物隐蔽特性的观察,进行如公式1的数学建模。
[0029](1)
式中: 为第t + 1代解搜索空间中新的搜索代理位置, 为第t代的
最佳搜索代理;r1,r2,r3和,r4是在1和最大搜索代理数之间产生的整数随机数,且r1≠r2≠r3≠r4; , , 和, 为选取的第r1,r2,r3,r4个搜索代理; 表示最
大迭代次数,t为当前迭代次数,σ为随机得到的二进制值,𝜕 设为2,c1,c2是随机数,c1≠c2。
[0030] (4.2) 皮肤变暗或变亮策略:角蜥蜴通过控制自己的皮肤变化,来决定是减少还是增加太阳能量的摄取。热能
与光能遵循守恒定律。反映较轻的颜色排斥更多的热量,暗色吸收更多的热量。其皮肤变化策略由公式2和公式3建模计算得到。
[0031] (2)(3)
其中 、 、 和 是随机数。 和 分别是找到的
最差和最好的搜索代理,r1,r2,r3和r4是在1到最大搜索代理数之间产生的整数随机数,且r1≠r2≠r3≠r4; , , 和, 为选取的第r1,r2,r3,r4个搜索代理,σ是随
机得到的二进制值。
[0032] (4.3) 血液喷射策略角蜥蜴通过从眼睛中射出血液来抵御敌人。射血防御机制可以表示为射弹运动,
对其运动方程进行数学建模,如公式4所示。
[0033] (4)其中 为第t + 1代解搜索空间中新的搜索代理位置, 为第t代的最
佳搜索代理, 为当前搜索代理, 表示最大迭代次数,t为当前迭代次数, g是地
2
球引力,0.009807 km∕s,v0设为1 seg,α设为π /2,ε设为1E – 6。
[0034] (4.4)移动逃避策略在该策略中,有角蜥蜴在周围环境中进行随机快速移动以逃避捕食者。为该规避
策略进行数学建模,如公式5所示。
[0035] (5)其中 为第t + 1代解搜索空间中新的搜索代理位置, 为第t代的最
佳搜索智能体, 为[‑1,1]之间产生的随机数,ε为标准柯西分布产生的随机数,均值和σ分别设为0和1, 为当前搜索代理。
[0036] 步骤五:用迭代之后的种群减去迭代之前的种群,每个对应位置都作差,得到一个新的差值向量组,即欧式距离向量组,并用得到的新的差值向量组和阈值进行比较,得到特征选择向量组,欧式距离具体为:在数学中,欧几里得空间中两点之间的欧几里得距离是指连接
两点的线段长度。对二维空间中的点,可在笛卡尔坐标系中,使用勾股定理来计算两点之间的欧氏距离。
[0037] 例如对于点 , 之间的欧式距离为:(6)
基于欧式距离的转换方法:对于一维空间中,数轴上的两个点 来说,其欧氏距
离可由如下计算:
(7)
对于种群中每个个体,可将其抽象成数轴上的一个点,其数值大小就对应于数轴
上的位置。对每个个体而言,经过一次迭代,其数值会发生,其对应在数轴上的位置也会发生变化,则可以计算每个个体经过迭代之后与迭代之前数值之间的欧氏距离。
[0038] 综上,步骤五得到欧式距离向量组的具体公式如下:设: 为第i个个体迭代第t轮的数值, 为第i个个体迭代第t+1轮的数
值, 为第i个特征在第t+1轮对应的特征选择向量组的数值, 为第i个个体经过迭代之后产生的欧氏距离,为比较阈值。则:
(8)
(9)
根据公式8和公式9,可获得第i个个体对应的二进制布尔数值,该布尔数值决定了第i个特征在第t+1轮计算时是否应该选取。
[0039] 根据探索特性,该转换方式所蕴含的意义为,当探索幅度足够大时,则可以认为该次探索有效,换言之,当欧氏距离 大于阈值 时,可认为此次探索有效,对应的第i个特征在本次迭代中就可以选取,反之则认为此次探索无效,对应的特征在本轮迭代中不选取。
[0040] 即:如果 ,则在第t+1轮计算时,选取第i个特征;如果 ,则在第t+1轮计算时,不选取第i个特征。
[0041] 以数据集Breastcancer举例来说,假设生成的特征选择向量组为[0,0,0,0,1,1,1,1,1],则对该次预测来说,该病患的生理信息中只选取:单个上皮细胞大小、裸核、 温和染色质、正常核仁、有丝分裂;并将这5个信息输入模型进行训练与预测,而生理信息:团块厚度、 细胞大小均匀度、细胞形状均匀度、 边缘粘连,则舍弃也就是不参与此次训练与预测。
[0042] 对于据集BreastEW和数据集Parkinsons同理。
[0043] 步骤六:根据步骤五的结果,用特征选择之后的特征进行模型的训练与预测,用适应度函数来判断该特征选择向量组的性能如何,判断当前种群是否为当前最优解;所述适应度函数包括准确率、召回率、灵敏度、准确率和F1 分数。
[0044] 步骤七:重复步骤五和步骤六,直到完成所有迭代次数,输出筛选出的最优特征选择向量组以及与之对应的模型评估结果。
[0045] 使用KNN、AdaBoostClassifier、RandomForestClassifier三种分类器,在疾病数据集上进行预测,得到对应的预测结果,以确定模型整体在进行疾病诊断时的准确性。
[0046] 实施例:因为本发明为特征选择方法,故而要验证其性能,需要搭配分类器进行验证,目前所做实验为搭配三种不同分类器(KNN(k=5)算法,AdaBoostClassifier(n_estimators=
100)算法,以及随机森林RandomForestClassifier(min_samples_split=5,min_samples_leaf=10)算法)得出的结论。
[0047] 1、平均分类准确度(该数据越高越好):1.1、参数设定:判定阈值选为15,种群规模初始值为50,迭代次数设置为100次,选择分类器KNN(k=5)算法,AdaBoostClassifier(n_estimators=100)算法,以及随机森林RandomForestClassifier(min_samples_split=5,min_samples_leaf=10)算法,统计结果
40次独立运行结果取平均值,其平均分类准确度如表1所示:
表1为评价分类准确度,为该算法运行 次得到的准确度的平均值:
[0048] 其中:为该算法运行的总次数, 为第次运行算法得到的最佳分类准确率。
[0049] 表1:
[0050] 1.2、判定阈值选为15,种群规模初始值为50,迭代次数设置为100次,统计结果40次独立运行结果取平均值。选取其他六个特征选择方法进行比较:二进制蝗虫优化方法( BGOA ),二进制蝗虫优化算法( BGOA‑M ),新颖二进制蝗虫优化方法( NBGOA ),二进制蜻蜓优化( BDO ),二进制灰狼优化方法( bGWOA )和新颖的二进制粒子群优化( NBPSO ),搭配分类器KNN(k=5)算法,其平均分类准确度如表2:表2:
[0051] 2、平均特征选择大小(该数据越小越好):2.1、参数设定:判定阈值选为15,种群规模初始值为50,迭代次数设置为100次,选择分类器KNN(k=5)算法,AdaBoostClassifier(n_estimators=100)算法,以及随机森林RandomForestClassifier(min_samples_split=5,min_samples_leaf=10)算法,统计结果
40次独立运行结果取平均值,其平均特征选择大小如表3所示。
[0052] 表3为平均特征选择大小,为该算法运行 次所得到的最佳适应度函数对应的特征选择数量的平均值:
[0053] 其中:为该算法运行的总次数, 为第次运行时最佳适应度函数对应的特征个数, 为数据集中的特征总数。
[0054] 表3:
[0055] 2.2、判定阈值选为15,种群规模初始值为50,迭代次数设置为100次,统计结果40次独立运行结果取平均值。选取其他六个特征选择方法进行比较:二进制蝗虫优化方法( BGOA ),二进制蝗虫优化算法( BGOA‑M ),新颖二进制蝗虫优化方法( NBGOA ),二进制蜻蜓优化( BDO ),二进制灰狼优化方法( bGWOA )和新颖的二进制粒子群优化( NBPSO ),搭配分类器KNN(k=5)算法,其平均特征选择大小如表4所示:表4:
[0056] 由此可见,在UCI的3个不同的疾病数据集上面,该特征选择方法与KNN算法,AdaBoostClassifier算法,以及随机森林RandomForestClassifier算法搭配,能取得较高的分类预测准确度。
[0057] 一种适用于疾病诊断的基于角蜥蜴算法的新型特征选择系统:所述特征选择系统包括:初始化模块、二进制化模块、适应度计算模块、角蜥蜴策略模块、欧式距离计算模块、适应度计算模块和结果输出模块;
所述初始化模块用于设定疾病数据集对应的随机数,所述疾病数据集的随机数的
个数与疾病数据集特征数量相当,从而根据随机数生成基础种群代理;
所述二进制化模块对每个代理进行二进制化,生成新的特征选择向量组;
所述适应度计算模块根据二进制化模块的结果,用新的特征选择向量组进行模型
的训练与预测,用适应度函数来判断该特征选择向量组的性能,以判断种群是否为当前最优解或最差解;
所述角蜥蜴策略模块在基础种群进入HLOA算法进行迭代后,将每个种群根据固定
的规则分别进入HLOA算法的四个策略中的一个;当选定一个策略后,每个代理中的每个个体都会按照策略中的公式进行计算迭代,其计算结果便为新一轮迭代中种群代理;
所述欧式距离计算模块用迭代之后的种群减去迭代之前的种群,每个对应位置都
作差,得到一个新的差值向量组,即为欧式距离向量组,并用得到的新的差值向量组和阈值进行比较,得到特征选择向量组,
所述适应度计算模块根据欧式距离计算模块的结果,用特征选择之后的特征进行
模型的训练与预测,用适应度函数来判断该特征选择向量组的性能如何,判断当前种群是否为当前最优解;
所述结果输出模块重复欧式距离计算模块和适应度计算模块的执行内容,直到完
成所有迭代次数,输出筛选出的最优特征选择向量组以及与之对应的模型评估结果。
[0058] 一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
[0059] 一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时实现上述方法的步骤。
[0060] 本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器read only memory,ROM、可编程只读存储器programmable ROM,PROM、可擦除可编程只读存储器erasable PROM,EPROM、电可擦除可编程只读存储器electrically EPROM,EEPROM或闪存。易失性存储器可以是随机存取存储器random access memory,RAM,其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM 可用,例如静态随机存取存储器static RAM,SRAM、动态随机存取存储器dynamic RAM,DRAM、同步动态随机存取存储器synchronous DRAM,SDRAM、双倍数据速率同步动态随机存取存储器double data rate SDRAM,DDR SDRAM、增强型同步动态随机存取存储器enhanced SDRAM,ESDRAM、同步连接动态随机存取存储器synchlink DRAM,SLDRAM和直接内存总线随机存取存储器direct rambus RAM,DR RAM。应注意,本发明描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0061] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线例如同轴电缆、光纤、数字用户线digital subscriber line,DSL或无线例如红外、无线、微波等方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质例如,软盘、硬盘、磁带、光介质例如,高密度数字视频光盘digital video disc,DVD、或者半导体介质例如,固态硬盘solid state disc,SSD等。
[0062] 在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软 件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
[0063] 应注意,本申请实施例中的处理器可以是一种集成电路芯片,具有信号处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0064] 以上对本发明所提出的一种适用于疾病诊断的基于角蜥蜴算法的新型特征选择方法,进行了详细介绍,对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页 第1页 第2页 第3页
相关技术
疾病诊断相关技术
算法特征相关技术
王海燕发明人的其他相关专利技术