掌桥专利:专业的专利平台
掌桥专利
首页

基于改进蝙蝠算法的文本特征选择方法、装置及存储介质

文献发布时间:2023-06-19 10:58:46


基于改进蝙蝠算法的文本特征选择方法、装置及存储介质

技术领域

本发明涉及特征提取领域,尤其涉及一种基于改进蝙蝠算法的文本特征选择方法、装置及存储介质。

背景技术

随着信息社会进入大数据时代,数据的快速增长既是机遇也是挑战。一方面,大数据可以为机器学习提供大规模的样本进行训练,另一方面,大数据的海量性会造成信息冗余。基于机器学习的方法可以将大量的琐碎的文本数据转化为有价值的信息,并且是非侵入性的,廉价且快速的,而且通常具有更高的准确率。由于大量的文本数据中充斥着许多冗余的数据,高维度的特征使得文本数据的信息难以被有效利用,导致算法学习性能下降,也增加了算法的时间和内存需求。因此特征选择是重要的,利用特征选择技术选取有用的特征可以有效的提高算法的性能。目前已经有很多算法用来进行特征的选择,有些基于评价函数对特征重要性进行排序,通过分析特征子集内部的特点来衡量其好坏,常见的评价指标有基于信息增益、基于距离、基于相关性等;还有一些算法用选取的特征子集对样本进行分类,将分类的精度作为衡量特征子集好坏的标准。但是这些算法没有考虑特征之间的相互影响和不同特征组合的表现,只是单一地评价某个特征的好坏。

近年来,由于启发式算法的优秀表现,特征选择算法开始越来越多的倾向于采用启发式算法来选择特征子集。其典型的启发式算法有,遗传算法,粒子群优化,蚁群优化,蝙蝠算法等等。其中蝙蝠算法由于其简单,有效的搜索机制,具有鲁棒性强和并行程度高等优点,越来越多被应用于策略识别和数据挖掘等领域。然而蝙蝠算法也存在一些缺点,比如容易陷入局部最优解,缺乏种群多样性,并且每个蝙蝠单纯受到全局最优个体的影响。

发明内容

本发明提供了一种基于改进蝙蝠算法的文本特征选择方法、装置及存储介质,以解决现有的基于蝙蝠算法的文本数据特征提取方法容易陷入局部最优解,缺乏种群多样性的问题。

第一方面,提供了一种基于改进蝙蝠算法的文本特征选择方法,包括:

S1:获取若干文本特征数据集,并对若干文本特征数据集进行预处理,得到若干初始文本特征向量;

S2:利用改进蝙蝠算法对若干文本特征向量进行迭代训练,得到多个精英文本特征子集;具体包括如下步骤:

S21:初始化蝙蝠种群;

S22:计算每个蝙蝠的适应度值;

S23:根据每个蝙蝠的适应度值选取自适应度值最高的N个蝙蝠作为精英蝙蝠保留,其中N为预设值;

S24:结合莱维飞行策略对非精英蝙蝠进行位置更新;

S25:将适应度值最低的X个蝙蝠进行差分进化,其中X为预设值;

S26:计算所有蝙蝠的适应度值,并据此更新精英蝙蝠;

S27:重复步骤S24~S26直至完成预设迭代次数,得到N个精英蝙蝠,每个精英蝙蝠表示一个精英文本特征子集。

进一步地,所述步骤S21包括:

设置蝙蝠种群个数为M,最大频率fmax,最小频率fmin,最大迭代次数Max_iteration,初始化蝙蝠种群的位置x

进一步地,所述步骤S22包括:

将分类算法的分类精度作为适应度函数来计算每个蝙蝠的适应度值,并找到最好的蝙蝠位置,即最优解x

进一步地,所述步骤S24包括:

根据公式(1)-(3)对非精英蝙蝠的频率、速度和位置进行更新,并限制其位置和速度在[-1,1]范围;

f

v

x

其中,f

产生随机数rand

计算各蝙蝠的适应度值,如果存在x

r

其中,r

更新最优解x

进一步地,所述采用莱维飞行策略对蝙蝠x

莱维飞行的位置更新公式如公式(4)所示:

其中,Levy(θ)是服从莱维分布的跳跃的随机搜索矢量,1<θ<3,α是比例参数,

Levy(θ)≈|θ|

其中,β的范围在0到2之间,θ表示步长,Levy(θ)表示步长θ的概率。

进一步地,所述步骤S25包括:

选取适应度值最低的X个蝙蝠;

首先对蝙蝠的每个维度进行公式(7)所示的交叉运算,产生一个新的蝙蝠位置u

其中,j表示蝙蝠位置的第j个维度,

然后按照公式(8)进行选择,若交叉之后的位置更优,则将当前蝙蝠的位置更新为新的蝙蝠位置,否则,将当前蝙蝠位置更新为一个随机位置;

其中,f表示适应度函数,x

进一步地,其特征在于,所述步骤S2之后还包括如下步骤:

对得到的每个精英文本特征子集根据阈值选择子集,当精英文本特征子集中的特征值大于阈值时,则该特征值被赋值为1,表示当前位置的特征被选中;当特征值小于阈值时,则该特征值被赋值为0,表示当前位置的特征未被选中,最终选出若干文本特征数据集的特征子空间。

第二方面,提供了一种主动脉夹层疾病特征数据集的特征选取方法,采用如上所述的基于改进蝙蝠算法的文本特征选择方法进行主动脉夹层疾病特征数据集的特征选取,其中若干文本特征数据集为主动脉夹层疾病特征数据集。主动脉夹层疾病特征数据集包括患者的常规检查结果、生活习惯、遗传病的家族病史等,其中常规检查结果包括患者的常规血液检查,生化检查和凝血常规检查项目等常规检查结果。

第三方面,提供了一种基于改进蝙蝠算法的文本特征选择装置,包括:

初始文本特征向量获取模块:用于获取若干文本特征数据集,并对若干文本特征数据集进行预处理,得到若干初始文本特征向量;

精英文本特征子集获取模块:用于利用改进蝙蝠算法对若干文本特征向量进行迭代训练,得到多个精英文本特征子集;具体包括如下步骤:

S21:初始化蝙蝠种群;

S22:计算每个蝙蝠的适应度值;

S23:根据每个蝙蝠的适应度值选取自适应度值最高的N个蝙蝠作为精英蝙蝠保留,其中N为预设值;

S24:结合莱维飞行策略对非精英蝙蝠进行位置更新;

S25:将适应度值最低的X个蝙蝠进行差分进化,其中X为预设值;

S26:计算所有蝙蝠的适应度值,并据此更新精英蝙蝠;

S27:重复步骤S24~S26直至完成预设迭代次数,得到N个精英蝙蝠,每个精英蝙蝠表示一个精英文本特征子集。

第四方面,提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序适于被处理器加载并执行如上所述的基于改进蝙蝠算法的文本特征选择方法或主动脉夹层疾病特征数据集的特征选取方法。

有益效果

本发明提出了一种基于改进蝙蝠算法的文本特征选择方法、装置及存储介质,与现有技术相比,其优点在于:首先鉴于蝙蝠算法更新策略的局部性,引入莱维飞行策略改进蝙蝠的位置更新方式,以确保单个蝙蝠不会被局限在最优蝙蝠的附近,来提高蝙蝠算法在高维复杂空间中的开发能力,并扩大了搜索空间,即确保文本数据特征提取不会陷入局部最优解;另外,对于每次迭代的适应度较低的几个蝙蝠实行差分进化,对蝙蝠的位置进行改进,提高了蝙蝠的多样性和总体适应度。同时在每次迭代中,使用精英保留策略,可避免较优的解在迭代时消失,其优势就在于,使精英蝙蝠始终保持全局最佳的几个蝙蝠的位置,在后续的特征集成过程中,保证集成的每个特征子空间都是最好的几个精英蝙蝠的解,从而可以获得更好的集成效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种基于改进蝙蝠算法的文本特征选择方法的流程图;

图2是本发明实施例提供的不同分类算法在有无进行特征选择情况下的分类精度。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。

实施例1

如图1所示,本实施例提供了一种基于改进蝙蝠算法的文本特征选择方法,包括:

S1:获取若干文本特征数据集,并对若干文本特征数据集进行预处理,得到若干初始文本特征向量;

S2:利用改进蝙蝠算法对若干文本特征向量进行迭代训练,得到多个精英文本特征子集;具体包括如下步骤:

S21:初始化蝙蝠种群;

S22:计算每个蝙蝠的适应度值;

S23:根据每个蝙蝠的适应度值选取自适应度值最高的N个蝙蝠作为精英蝙蝠保留,其中N为预设值;

S24:结合莱维飞行策略对非精英蝙蝠进行位置更新;

S25:将适应度值最低的X个蝙蝠进行差分进化,其中X为预设值;

S26:计算所有蝙蝠的适应度值,并据此更新精英蝙蝠;

S27:重复步骤S24~S26直至完成预设迭代次数,得到N个精英蝙蝠,每个精英蝙蝠表示一个精英文本特征子集。

更具体的,步骤S2包括:

初始化蝙蝠种群,设置蝙蝠种群个数为M,最大频率fmax,最小频率fmin,最大迭代次数Max_iteration,初始化蝙蝠种群的位置(即可能解)x

开始迭代过程,开始迭代次数t=1,对于每个蝙蝠i,如果属于精英蝙蝠,则在迭代中不需要更新它们的位置。蝙蝠的移动速度和位置更新会根据频率的变化来变化,频率越高的情况下,距离也越短,根据公式(1)-(3)对非精英蝙蝠的频率、速度和位置进行更新,并限制其位置和速度在[-1,1]范围。

由于原始的蝙蝠算法最初是为连续的优化问题而提出的。如果用于特征选择,那么需要将其进行二进制转化。本发明将蝙蝠种群的位置和速度初始化的范围限制在[-1,1]之间,继续使用连续值更新速度和位置,然后采用阈值来得到二进制位置。其中二进制位置中的值为1的表示当前位置的特征被选中,值为0表示当前位置的特征未被选中。

f

v

x

其中,f

产生随机数rand

莱维飞行的位置更新公式如公式(4)所示:

其中,Levy(θ)是服从莱维分布的跳跃的随机搜索矢量,1<θ<3,α是比例参数,

Levy(θ)≈|θ|

其中,β的范围在0到2之间,θ表示步长,Levy(θ)即表示步长θ的概率。

计算各蝙蝠的适应度值,如果存在x

r

其中,r

更新最优解x

进一步为增加种群的多样性,本发明将差分进化中的交叉和变异引入蝙蝠算法以指导蝙蝠产生更好的后代。差分进化是基本思想是对现有的种群进行变异和交叉的操作产生新的种群,然后使用选择操作选择最终的新的个体。本研究将差分进化中的交叉和变异引入蝙蝠算法以指导蝙蝠产生更好的后代,从而可以增加种群的多样性。即将适应度低的X个蝙蝠以公式(7)和公式(8)进行差分进化,具体包括:

选取适应度值最低的X个蝙蝠;

首先对蝙蝠的每个维度进行公式(7)所示的交叉运算,产生一个新的蝙蝠位置u

其中,j表示蝙蝠位置的第j个维度,

然后按照公式(8)进行选择,若交叉之后的位置更优,则将当前蝙蝠的位置更新为新的蝙蝠位置,否则,将当前蝙蝠位置更新为一个随机位置;

其中,f表示适应度函数,x

计算所有蝙蝠的适应度值,并据此更新精英蝙蝠;

重复上述迭代过程,直到迭代次数t>=Max_iteration,输出所有的精英蝙蝠,每个精英蝙蝠表示一个精英文本特征子集。

本实施例中,还包括对得到的每个精英文本特征子集根据阈值选择子集,当精英文本特征子集中的特征值大于阈值时,则该特征值被赋值为1,表示当前位置的特征被选中;当特征值小于阈值时,则该特征值被赋值为0,表示当前位置的特征未被选中,最终选出若干文本特征数据集的特征子空间。

实际应用时,可在得到特征子空间的基础上进行特征集成,即采用机器学习算法作为基分类器进行分类,然后采用集成策略来集成多个基分类器的结果,得到最后的分类结果。本发明中的集成策略使用简单多数投票的策略组合每个基分类器的类别标签作为最后的训练结果。由于蝙蝠算法在一次实验之后可以产生多个最优解或次优解,并不需要进行多次实验来产生多个特征子集,因此并不会增加算法的复杂度和训练时间。

首先鉴于蝙蝠算法更新策略的局部性,引入莱维飞行策略改进蝙蝠的位置更新方式,以确保单个蝙蝠不会被局限在最优蝙蝠的附近,来提高蝙蝠算法在高维复杂空间中的开发能力,并扩大了搜索空间。另外,对于每次迭代的适应度较低的几个蝙蝠实行改后的差分进化,采用差分进化中的交叉和选择过程对蝙蝠的位置进行改进,提高了蝙蝠的多样性和总体适应度。同时在每次迭代中,使用精英保留策略,可避免较优的解在迭代时消失,其优势就在于,使精英蝙蝠始终保持全局最佳的几个蝙蝠的位置,在后续的特征集成过程中,保证集成的每个特征子空间都是最好的几个精英个体的解,从而可以获得更好的集成效果。

在精英文本特征子集选择的基础上,进行特征集成,即将产生的多个特征子空间作为集成算法的基分类器的数据子集,从而可以提高模型的准确性和泛化性。蝙蝠算法是基于生物种群的算法,每个蝙蝠的位置代表一个可能的解,因此在蝙蝠种群中,每次迭代产生的解可能不止一个最优解或者次优解,通过精英保留策略保留蝙蝠算法结果中适应度高的多个精英蝙蝠,对精英蝙蝠产生的特征子空间采用多个基分类器分类,然后采用简单多数投票的策略组合每个基分类器的类别标签作为最后的训练结果。

实施例2

本实施例提供了一种主动脉夹层疾病特征数据集的特征选取方法,采用如上所述的基于改进蝙蝠算法的文本特征选择方法进行主动脉夹层疾病特征数据集的特征选取,其中若干文本特征数据集为主动脉夹层疾病特征数据集。主动脉夹层疾病特征数据集包括患者的常规检查结果、生活习惯、遗传病的家族病史等,其中常规检查结果包括患者的常规血液检查,生化检查和凝血常规检查项目等常规检查结果。更具体的实现过程参见实施例1,在此不再赘述。

在此,为进一步说明本实施例的实施过程,现采用以下实验来验证本发明的有益效果:

本实验采用主动脉夹层疾病特征数据集,该特征数据集包含77个特征,来自于患者的常规检查结果,其中包括患者的常规血液检查,生化检查和凝血常规检查项目等常规检查结果,以及一些患者的生活习惯,遗传病的家族病史以及其他一些数据。共有234个样例,其中患有主动脉夹层的患者83个,非主动脉夹层患者151个。此处利用主动脉夹层疾病特征数据集,进行以下两个实验来证明本发明提出的特征选择方法的有效性。在实验中,将提出的特征选择方法简称为EIBBA。

实验一,对于主动脉夹层特征数据集,对比未经特征选择的机器学习方法的分类效果和经过EIBBA算法选择之后的分类效果,以验证本发明提出的特征选择方法的有效性。为了避免分类器的不同所带来的偏差,采用三种分类器进行了实验对比,包括支持向量机(SVM)、k-最近邻(kNN)和随机森林(RF)。

实验二,对比本发明提出的特征选择方法与不同的特征选择方法用于主动脉夹层分类的差别,以验证EIBBA算法的有效性。对比算法采用了经典的relief算法、mRMR算法、基于RF的特征选择算法、基于PSO的特征选择算法和基于BA的特征选择算法。

在本实验中,采用的评价指标有准确率(ACC)、灵敏度(SN)、特异度(SP)、和F2_score来评估分类性能。

实验1的结果如表1所示。从表1的结果可以看出,对于三个分类器,没有经过特征选择的分类结果与经过EIBBA特征选择之后的分类结果有明显差距,经过特征选择之后,其分类结果在准确率(ACC)、灵敏度(SN)、特异度(SP)和F2_score的所有评估指标上都有了较大的提升。其中,以SVM为分类器的提升效果最明显,其准确率提高了19.44%,其F2_score提高了59.68%,但尽管SVM提升最明显,但其效果还是不如另外两个分类器。当以RF为分类器时,对比SVM和KNN而言,无论有没有经过特征选择,它都取得了最好的分类结果,尤其在经过EIBBA特征选择之后,它达到了目前最好的结果。也可以从图2看到三个分类器的特征选择前后的分类精度对比,可以明显的看出三个分类器的分类精度上,后者明显高于前者。其中FS是特征选择的缩写。

表1有无EIBBA特征选择在三个分类器上的分类性能

实验2的结果如表2所示,从表2中可以看出,对比其他特征选择算法,EIBBA在准确率、灵敏度、特异度和F2_score上均取得了最高值。其中,后三个算法作为启发式算法用于特征选择的有效性是非常明显的,PSO、BA和EIBBA的结果均要高于Relief、mRMR和RF。启发式算法用作特征选择好处就在于它们并不会对所有特征对于目标的重要性进行排序,而考虑了总体的特征子空间对于最终目标的影响,在特征中可能存在交互作用的特征从而影响分类结果,那么启发式算法就可以考虑这种情况而不是仅仅考虑单个特征的影响,且也不需要考虑所要选择特征的个数。

表2不同特征选择算法在RF分类器上的分类性能

实施例3

本实施例提供了一种基于改进蝙蝠算法的文本特征选择装置,包括:

初始文本特征向量获取模块:用于获取若干文本特征数据集,并对若干文本特征数据集进行预处理,得到若干初始文本特征向量;

精英文本特征子集获取模块:用于利用改进蝙蝠算法对若干文本特征向量进行迭代训练,得到多个精英文本特征子集;具体包括如下步骤:

S21:初始化蝙蝠种群;

S22:计算每个蝙蝠的适应度值;

S23:根据每个蝙蝠的适应度值选取自适应度值最高的N个蝙蝠作为精英蝙蝠保留,其中N为预设值;

S24:结合莱维飞行策略对非精英蝙蝠进行位置更新;

S25:将适应度值最低的X个蝙蝠进行差分进化,其中X为预设值;

S26:计算所有蝙蝠的适应度值,并据此更新精英蝙蝠;

S27:重复步骤S24~S26直至完成预设迭代次数,得到N个精英蝙蝠,每个精英蝙蝠表示一个精英文本特征子集。

实施例4

本实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序适于被处理器加载并执行如上所述的基于改进蝙蝠算法的文本特征选择方法或主动脉夹层疾病特征数据集的特征选取方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

相关技术
  • 基于改进蝙蝠算法的文本特征选择方法、装置及存储介质
  • 一种基于改进蝙蝠算法的大数据特征选择方法
技术分类

06120112758455