CN110020435B - 一种采用并行二进制蝙蝠算法优化文本特征选择的方法 - Google Patents
一种采用并行二进制蝙蝠算法优化文本特征选择的方法 Download PDFInfo
- Publication number
- CN110020435B CN110020435B CN201910265124.5A CN201910265124A CN110020435B CN 110020435 B CN110020435 B CN 110020435B CN 201910265124 A CN201910265124 A CN 201910265124A CN 110020435 B CN110020435 B CN 110020435B
- Authority
- CN
- China
- Prior art keywords
- bat
- text
- population
- feature
- rdd
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Probability & Statistics with Applications (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种采用并行二进制蝙蝠算法优化文本特征选择的方法,该方法利用传统的特征选择方法对原始特征进行预选,在此基础上使用蝙蝠算法以二进制编码形式对预选特征进行优选,并以分类准确率作为个体的适应度。但当文本信息数据量大时,单机执行时间漫长,根据这一缺点,把蝙蝠算法和Spark并行计算框架相结合,提出了Spark处理框架下的文本特征选择算法SBATFS。将蝙蝠算法良好的寻优搜索能力和分布式高效的计算速度相结合,实现对文本特征选择优化模型的高效求解。
Description
技术领域
本发明属于机器学习、数据挖掘、分布式计算等多个技术领域,涉及一种文本特征选择方法,具体涉及一种基于Spark分布式的蝙蝠优化算法的文本特征选择方法。
背景技术
随着Web技术的空前发展,随之产生的数据量高速增加,网络中相当一部分数据是以文本格式存在的,因此,如何高效的对这些海量文本数据进行分类展示,具有相当重要的意义和价值。
分类过程中,数据集往往包含大量的特征,但是并不是所有的特征对于分类都是有用的,所以删除不相关和冗余的属性特征不仅可以生成更简单,更准确的模型,而且减少的数据集使我们能够提高许多数据挖掘方案的性能。该特征子集可以最大限度地保存原始特征的信息,使得系统的特定指标最大化。在文本分类中选择词作为特征,训练语料库经分词后得到的不重复的词数往往上万,甚至上十万。如果不经过选择的这些词,全部用来表示文本的话,会导致维数过高,文本的向量表示会比较稀疏,其中很多无关和冗余的特征由于算法的复杂度过高,大数据量的情况下几乎无法计算。
特征子集选择(Feature subset selection FS)也叫特征选择。在保留原有数据信息的基础上,通过去除其中冗余或不相关的数据特征来降低特征维度及提高分类性能,是提高学习算法性能的一个重要手段,也是文本分类中关键的数据处理步骤。
蝙蝠算法(Bat Algorithm BA)是一种高效且稳定的基于种群的优化算法,其中由蝙蝠组成的群体可以移动到高维搜索空间。与其他元启发式算法相比,BA需要更少的计算时间并且可以快速收敛,在函数优化中具有良好的搜索能力,是文本分类领域中用于特征选择的有效算法。
卡方统计量(Chi-square statistic CHI),该方法的计算简单,表示直观,计算的结果也与实际情况比较相符,其缺陷在于并没有考虑每个词在每篇文章中的词频,所以CHI的含义就是“只要出现过”,这样的话就会夸大低频词的作用,因为在选择特征词时把低频词和高频词放在了同样的高度上,用此来衡量词项的重要性并不够全面,可能会忽略某些重要的词项,而且它也没有充分考虑词项的位置信息,不符合实际情况。
Spark是Apache推出的基于内存计算的大数据并行计算框架,适合构建大型的、实时的数据分析应用程序,提供了并行编程模型,用户只需调用相关的API即可完成分布式处理任务,为大数据的处理提供了有力的条件。
发明内容
为了解决上述技术问题,本发明提出了一种基于蝙蝠算法的文本特征选择方法,并且将该方法在Spark平台上并行化改进,通过这种方式来提高方法的分类性能和运行效率。
本发明所采用的技术方案是:一种采用并行二进制蝙蝠算法优化文本特征选择的方法,其特征在于,包括以下步骤:
步骤1:对文本数据预处理,转换成只有词条和空格大小写统一的字符串,然后利用分词系统进行分词,处理为文本向量,一部分作为训练集,一部分作为测试集;
步骤2:构造初始化特征,对于已经分好词的训练集通过CHI统计方法,按照CHI值降序取前D个词,作为初选特征集,并且将初选特征集,训练集和测试集上传到HDFS中;
步骤3:利用Spark分布式蝙蝠优化算法对初选文本特征进行迭代训练,直到结果满足收敛或最大迭代次数,得到最优特征集;
步骤4:输出训练后最优特征集。
本发明的有益效果为:
(1)本发明针对CHI特征选择的缺点,将蝙蝠算法应用于文本分类的特征选择,期望提高分类的准确性,基本思想是将其以二进制编码应用在文本分类的特征选择中。首先,使用传统的特征选择方法CHI对文本集预处理后得到的原始特征进行预选,得到预选特征,在此基础上通过使用蝙蝠群优化算法筛选预选特征,优选得出优选特征。
(2)针对在蝙蝠算法特征集挖掘过程中,特征项集数目还是过于庞大,加上多个蝙蝠个体多次迭代,计算量实在是太过于复杂,为此使用分布式Spark平台,利用弹性分布式数据集(RDD),将搜索过程并行化。因此,基于Spark框架实现蝙蝠算法文本特征选择的并行化,可以节省计算时间,使得算法效率有明显提高。
(3)本发明是基于Spark分布式的蝙蝠优化算法的文本特征选择方法,每个特征子集都被编码为1和0的二进制字符串,因此,将所有的解表示为二进制向量的形式,并且利用Spark分布式的并行计算的特点,使得算法的运行效率以及特征选择的维度缩减能力都有明显的提升。
附图说明
图1为本发明实施例中文本分类基本流程图;
图2为本发明实施例的流程图;
图3为本发明实施例的Spark分布式框架图;
图4为本发明实施例的Spark分布式运算过程图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
本发明提供了一种基于Spark蝙蝠优化算法的新特征选择方法,该方法利用传统的特征选择方法对原始特征进行预选,在此基础上使用蝙蝠群算法以二进制编码形式对预选特征进行优选,以分类准确率作为个体的适应度。之后再将蝙蝠算法和Spark并行计算框架相结合,将蝙蝠算法良好的寻优搜索能力和分布式高效的计算速度相结合,实现对文本特征选择优化模型的高效求解,提高文本训练的效率。以下结合说明书附图和具体实施方式对本发明的方法做进一步详细说明。
在执行算法之前,需要根据具体的应用场景对一些参数进行初始化,如蝙蝠算法的最大迭代次数、蝙蝠种群编码规则、个体适应度函数、脉冲频率范围为[fmin,fmax]、最大脉冲频度为r0、最大脉冲音响强度为A0、音强衰减系数为α、频度增加系数为γ、搜索变量的维度为D等。
请见图2,本发明提供的一种采用并行二进制蝙蝠算法优化文本特征选择的方法,包括以下步骤:
步骤1:对文本数据预处理,转换成只有词条和空格大小写统一的字符串,然后利用分词系统进行分词,处理为文本向量,一部分作为训练集,一部分作为测试集;
步骤2:构造初始化特征,对于已经分好词的训练集通过CHI统计方法,按照CHI值降序取前D个词,作为初选特征集,并且将初选特征集,训练集和测试集上传到HDFS中;
步骤3:利用Spark分布式蝙蝠优化算法对初选文本特征进行再选择,得到最优特征集;
步骤4:输出训练后最优特征集。
文本分类是文本挖掘的一个重要内容,基本任务是预定义类别集合或标签集合,然后依据预定义的类别集合或标签机和来判定新来文本所属的类别或标签。基本步骤依次为构建训练集、分词、去停用词、特征选择、构造特征向量、构建训练模型和测试评判。
特征选择也叫特征子集选择,指从已有的特征中选择若干个特征使系统的特定目标最优化,从输入特征中选择出一些最有效特征来降低数据集的维度,是提高学习算法性能的一个重要手段,也是文本分类中关键的数据处理步骤。图1展示了本文文本分类基本流程。
文本表示是进行分类的重要过程,主要目的就是将文本按照特征词向量化的过程,将原始文本数据转换成结构化的文本向量,然后才能输入分类器进行分类,在文本表示方面,比较有代表性的文本表示模型有概率模型、布尔模型和向量空间模型(VSM)。相对于概率模型和布尔模型,空间向量模型将文档向量的形式定义到实数域中,更加适合各个领域以矩阵为基础的计算方法,也会更加利于分类算法的设计,因此本文基于向量空间模型开展文本表示的研究。空间向量模型中,目前主流的权重计算方法仍然是泛化能力较强的TF-IDF方法,该方法规定了一个词组在文件向量中的权重,为局部系数和全局系数的乘积。
文本权重策略:TF-IDF方法,如果某个词或短语在一篇文章中出现的频率高,并且在其他文章中很少出现,那么认为这个词或者短语具有很好的类别区分能力,适合用来分类。
权重采用归一化的相对词频,其计算方法采用比较普遍的TF-IDF公式:
其中,w(t,f)为特征项词条t在文本d中的权重,tf(t,d)为t在文本d中出现的频率,N为训练文本的总数,nt代表训练文本集合中出现特征项t的文本数目,分母为归一化因子。
蝙蝠算法(BA)有三个主要优点:第一个是频率调谐fi,第二个是发射率ri。第三个是它们的音响强度Ai,通过使用这三个属性,蝙蝠可以控制其飞行位置和速度,追随最优蝙蝠在解空间搜索最优解,具有收敛快、精度高等特点。BA初始化为一群随机个体,然后通过迭代计算其适应度值,从而找到最优解。在一个D维的目标搜索空间中,有N个蝙蝠组成一个种群,其中第i个蝙蝠表示为一个D维的向量,记为Xi={xi1,xi2,...,xiD},i=1,2...N。第i个蝙蝠的“飞行”速度也是一个D维的向量,记为Vi={vi1,vi2,...,viD},i=1,2...N。
蝙蝠算法具体包括以下步骤:
1)初始化SparkContext,通过textFile()读取HDFS中的数据集;
2)设置种群规模为N,最大迭代次数为Itermax,根据CHI的值降序取前D个词,作为蝙蝠个体搜索位置的维度,也就是初选得到的特征数,初始化随机蝙蝠种群的位置向量Xi=(Xi1,Xi2,…,XiD)和速度Vi=(Vi1,Vi2,…,ViD),编码种群,初始化频率范围为[fmin,fmax],脉冲发射率ri,响度Ai,每个蝙蝠的适应度值Fit[i],根据适应度值的优劣,确定种群的第一代最优解X*;
3)种群迭代,根据公式(1)对蝙蝠脉冲频率fi,速度Vi t,位置Xi t进行更新;
其中X*是当前搜索全局的最优解,t是当前迭代次数,rand∈[0,1]的随机数;
4)生成均匀分布随机数rand1,如果rand1>ri,则根据公式(3)对当前最优解进行随机扰动,产生一个新的局部解Xnew;
Xnew=Xold+ε*At (3)
其中Xold为上一代种群的全局最优解,Xnew为通过随机游走方式生成局部新解,ε是[-1,1]之间的随机数,At=(Ai t)是在第t代时,所有蝙蝠的平均响度;
5)将每个蝙蝠当前Xi t或扰动后的Xnew,每个维度的特征带入到分类算法中去计算分类的准确率,得到所有个体新位置适应度值Fit(Xnew);
6)再次生成随机数rand2.如果rand2<Ai且Fit(Xnew)>Fit(X*),则接受步骤4)产生的新解Xnew,然后按公式(4)、(5)对响度Ai和发射率ri,进行更新;
其中t为当前迭代次数,Ai t和Ai t+1分别表示蝙蝠i在第t代和t+1代的声波强度;0<α<1,是脉冲强度衰减系数,γ>0,是脉冲频率增强系数,α、γ都为常数;ri t+1表示蝙蝠i在t+1代的脉冲强度,ri 0表示蝙蝠i初始脉冲频率,随着迭代次数增加,ri t→ri 0,Ai→0;
7)对所有蝙蝠的适应度值进行排序,根据每个蝙蝠的适应度值的优劣,寻找当前新一代的最优解X*,广播X*的Fitness值,记录当前最优蝙蝠的位置及其适应度值,蝙蝠位置的每个维度对应的是不同的词语,具体的值表示该词语是否被选择;
8)重复执行步骤3)—7),进入迭代寻优,直至满足设定的最优解条件或者达到最大迭代次数,输出全局最优解,得到最优特征集C’。
为了将蝙蝠算法应用于非连续问题,本发明使用二进制编码的蝙蝠群算法(Binary bat algorithm)。BBA算法对每个蝙蝠位置进行二进制编码,限制其只能取0或1。BBA算法的速度向量不再反映个体位置的变化,而是表示每一维分量取值为0或1的概率,在此引入模糊数sigmoid:
蝙蝠位置的更新公式如下所示,
其中,Xid n+1表示当前某个蝙蝠个体位置,rand为[0,1]间的随机数;
由于文本特征选择优化问题本质上是组合优化问题,所以将进行二进制编码规则改进,即每一只蝙蝠对应的位置代表一种特征选择规则,一只蝙蝠的每一维对应一个特征项,而每一个特征项对应着两种结果:被选中与不被选中,每个特征项被选中则取1,不被选中则取0。所以每个解向量(蝙蝠的位置)Xi看成是一个长度等于候选特征数的二进制串,可以表示为:
Xi={xi1,xi2,...,xij,...},xij∈{0,1} (8)
其中,Xi表示第i个解向量,Xij表示第i个解向量的第j个分量,并且只可以取0或者1。若Xij=1,说明第i个解向量中的第j个特征词被选中;若Xij=0,说明第i个解向量中的第j个特征词未被选中。
蝙蝠的编码,是将算法规则和实际数据一一对应来构建具体的应用场景。本文的候选解集对应所有蝙蝠种群位置,蝙蝠维数对应特征的个数,每一维对应一个特征,不同的特征表示蝙蝠位置的不同,即蝙蝠的每个维度代表的是每个不同的特征词,对预选得到的每一个特征都面临着两种选择,选择该特征或提除该特征,特征的属性只有两个,即0和1,选择该特征则蝙蝠在该维度的值为1,不选择该特征则该维度的值为0,蝙蝠编码中最为直接的编码方式是二进制编码,其优点是易处理、易操作等。假设将预选择得出的特征数量n定义为800,将特征800个维度上的值转化为十进制数表示,数值则在[0,2800-1]之间,而转换为二进制后每维数值为0或1,这样数据大小适中,方便计算。所以BA中各蝙蝠位置由不同的维度组成,蝙蝠间的移动通过交换维度等信息实现。保证每个维度的值为0或1。
在群体智能算法中,通过适应度函数Fitness()计算个体适应度,st表示测试文本正确的分类数,sf表示测试文本错误的分类数,定义Fitness的计算公式如公式(9)所示:
参考图3和图4,本发明的Spark分布式框架和运算过程,具体包括如下几个步骤:
(1)初始化Spark Context,这相当于Spark Driver的初始化,只有SparkContext初始化完毕,才能向Spark提交任务;
(2)创建RDD,并对RDD进行分片,也就是创建并行化集合,具体步骤是:调用SparkContext的parallelize或者make RDD方法,在一个已经存在的集合上创建并行化集合,Spark将任何Hadoop所支持的存储资源转化成RDD,并对其进行分区。分区是RDD内部并行计算的一个计算单元,分区数决定了并行计算的粒度,而每个分区的数值计算都是在一个任务中进行的,因此任务的个数,也是由RDD的分区数决定;
(3)文本向量化流程首先读取经过CHI初选后的文本,之后统计特征词库中词的TF值,在此基础上统计IDF值,TF和IDF统计完成后,得到向量空间模型RDD_tfidf来向量化文本,并且广播蝙蝠种群的初始化参数;
(4)对形成的RDD进行Transformations操作。产生RDD后,就可以根据算法的需要对RDD进行各种转换操作。RDD的转换操作有map、flat Map、distinct、union、ntersection等,之后根据需求进行control操作,即对RDD进行持久化操作,将RDD持久化在不同层次的存储介质中,以便后续操作能重复使用,操作有persist、cache等;
(5)对RDD进行Action操作。在Spark程序中,行动操作触发任务的执行,行动操作是触发程序基础,若没有行动操作,程序一直不会运行,行动操作可以分为两种类型:Action操作将标量或者集合返回给Spark的客户端程序;或者Action操作还会将RDD直接保存到外部文件系统或者数据库中,如将RDD保存HDFS文件系统中,本发明使用collect从各个worker节点更新每个分区的蝙蝠种群到driver节点,对种群进行Sortbykey()操作,排序种群个体Fitness值,在Driver中得到全局最优蝙蝠X*的Fitness值,去完成蝙蝠种群的更新;
(6)再次广播普通蝙蝠和全局最优蝙蝠X*的信息到每个worker节点;
(7)重复4-6直到最大迭代次数。
至此,完成了整个基于分布式策略改进的并行蝙蝠算法,其分布式策略实现的核心是Spark,实现过程清晰,步骤明细,但是各关键步骤是被封装的,如果需要对一些策略进行性能上的提升,则要通过对Spark中计算框架的参数进行设定以实现性能调优的方法来完成。
本发明提出的基于蝙蝠算法的文本特征选择,并且将该方法在Spark平台上并行化改进,通过这种方式来提高算法的分类性能和运行效率。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
以上所述,仅为本发明的较佳实施例,并不用以限制本发明,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,可以做出的替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
Claims (3)
1.一种采用并行二进制蝙蝠算法优化文本特征选择的方法,其特征在于,包括以下步骤:
步骤1:对文本数据预处理,转换成只有词条和空格,大小写统一的字符串,然后利用分词系统进行分词,处理为文本向量,一部分作为训练集,一部分作为测试集;
步骤2:构造初始化特征,对于已经分好词的训练集通过CHI统计方法,按照CHI值降序取前D个词,作为初选特征集,并且将初选特征集,训练集和测试集上传到HDFS中;
步骤3:利用Spark分布式蝙蝠优化算法对初选文本特征进行迭代训练,直到结果满足收敛或最大迭代次数,得到最优特征集;
步骤3的具体实现包括以下子步骤:
步骤3.1:初始化SparkContext,通过textFile()读取HDFS中的数据集;
步骤3.2:初始化蝙蝠种群;设置种群规模为N,最大迭代次数为Itermax,根据CHI的值降序取前D个词,作为蝙蝠个体搜索位置的维度,也就是初选得到的特征数,初始化随机蝙蝠种群的位置向量Xi=(Xi1,Xi2,…,XiD)和速度Vi=(Vi1,Vi2,…,ViD),编码种群,初始化频率范围为[fmin,fmax],脉冲发射率ri,响度Ai,每个蝙蝠的适应度值Fit[i],根据适应度值的优劣,确定种群的第一代最优解X*;
步骤3.3:种群迭代,根据公式(1)对蝙蝠脉冲频率fi,速度Vi t,位置Xi t进行更新;
其中X*是当前搜索全局的最优解,t是当前迭代次数,rand∈[0,1]的随机数;
其中,对每个蝙蝠位置进行二进制编码,限制其只能取0或1,速度向量不再反映个体位置的变化,而是表示每一维分量取值为0或1的概率,引入模糊数sigmoid:
蝙蝠位置的更新公式如下所示,
其中,Xid n+1表示当前某个蝙蝠个体位置,rand为[0,1]间的随机数;
每一只蝙蝠对应的位置代表一种特征选择规则,一只蝙蝠的每一维对应一个特征项,而每一个特征项对应着两种结果:被选中与不被选中,每个特征项被选中则取1,不被选中则取0,故每个蝙蝠的位置Xi看成是一个长度等于候选特征数的二进制串,表示为:
Xi={xi1,xi2,...,xij,...},xij∈{0,1};
其中,Xi表示第i个解向量,Xij表示第i个解向量的第j维分量,并且只可以取0或者1;若Xij=1说明第i个解向量中的第j个特征词被选中;若Xij=0,说明第i个解向量中的第j个特征词未被选中;
步骤3.4:对于每个蝙蝠个体,生成均匀分布随机数rand1,如果rand1>ri,则根据公式(2)对当前最优解进行随机扰动,产生一个新的局部解Xnew;
Xnew=Xold+ε*At (2)
其中Xold为上一代种群的全局最优解,Xnew为通过随机游走方式生成局部新解,ε是[-1,1]之间的随机数,At=(Ai t)是在第t代时,所有蝙蝠的平均响度;
步骤3.5:将每个蝙蝠当前Xi t或扰动后的Xnew,每个维度的特征带入到分类算法中去计算分类的准确率,得到所有个体新位置适应度值Fit(Xnew);
步骤3.6:生成均匀分布随机数rand2,如果rand2<Ai且Fit(Xnew)>Fit(X*),则接受步骤3.4产生的新解,然后按公式(3)、(4)对响度Ai和发射率ri,进行更新;
其中t为当前迭代次数,Ai t和Ai t+1分别表示蝙蝠i在第t代和t+1代的声波强度;0<α<1,是脉冲强度衰减系数;γ>0,是脉冲频率增强系数,α、γ都为常数;ri t+1表示蝙蝠i在t+1代的脉冲强度,ri 0表示蝙蝠i初始脉冲频率,随着迭代次数增加,ri t→ri 0,Ai→0;
步骤3.7:对所有蝙蝠的适应度值进行排序,根据每个蝙蝠的适应度值的优劣,寻找当前新一代的最优解X*,广播X*的Fitness值;记录当前最优蝙蝠的位置及其适应度值,蝙蝠位置的每个维度对应的是不同的词语,具体的值表示该词语是否被选择;
步骤3.8:重复步骤3.3-步骤3.7,直至满足设定的最优解条件或者达到最大迭代次数,输出全局最优解,得到最优特征集C’;
步骤4:输出训练后最优特征集。
3.根据权利要求1-2任意一项所述的采用并行二进制蝙蝠算法优化文本特征选择的方法,其特征在于:步骤3中,spark分布式框架和运算过程,具体包括如下几个步骤:
(1)初始化Spark Context;
(2)创建RDD,并对RDD进行分片;
调用Spark Context的parallelize或者make RDD方法,将一个已经存在的集合创建为种群RDD,并将种群RDD划分为多个分区,分布到集群的多个节点中,创建并行化集合,Spark将任何Hadoop所支持的存储资源转化成RDD,并对其进行分区;
(3)文本向量化,文本向量化流程首先读取经过CHI初选后的文本,之后统计特征词库中词的TF值,在此基础上统计IDF值,TF和IDF统计完成后,得到向量空间模型RDD_tfidf来向量化文本,并且广播蝙蝠种群的初始化参数;
(4)对形成的RDD进行转换操作,通过map()函数将种群RDD对转换为包含个体和适应度值的<key,value>形式,key是蝙蝠个体,value是该个体适应度值,将这些RDD分发到集群不同worker节点上进行并行计算;
(5)对RDD进行行动操作,使用collect()函数从各个worker节点更新每个分区的蝙蝠种群到driver节点,对种群进行的Sortbykey()操作,排序种群个体Fitness值,在Driver中得到全局最优蝙蝠X*的Fitness值,去完成蝙蝠种群的更新;
(6)再次广播普通蝙蝠和全局最优蝙蝠X*的信息到每个worker节点;
(7)重复4-6直到最大迭代次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910265124.5A CN110020435B (zh) | 2019-04-03 | 2019-04-03 | 一种采用并行二进制蝙蝠算法优化文本特征选择的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910265124.5A CN110020435B (zh) | 2019-04-03 | 2019-04-03 | 一种采用并行二进制蝙蝠算法优化文本特征选择的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110020435A CN110020435A (zh) | 2019-07-16 |
CN110020435B true CN110020435B (zh) | 2023-04-07 |
Family
ID=67190533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910265124.5A Active CN110020435B (zh) | 2019-04-03 | 2019-04-03 | 一种采用并行二进制蝙蝠算法优化文本特征选择的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110020435B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112381333B (zh) * | 2020-12-03 | 2023-12-08 | 国网河北省电力有限公司信息通信分公司 | 一种基于分布式改进蝙蝠算法的微电网优化方法 |
CN112800224A (zh) * | 2021-01-28 | 2021-05-14 | 中南大学 | 基于改进蝙蝠算法的文本特征选择方法、装置及存储介质 |
CN113625073A (zh) * | 2021-06-23 | 2021-11-09 | 国网浙江省电力有限公司营销服务中心 | 一种非侵入式负荷监测系统的特征库更替方法和监测方法 |
CN116805039B (zh) * | 2023-08-21 | 2023-12-05 | 腾讯科技(深圳)有限公司 | 特征筛选方法、装置、计算机设备和数据扰动方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104965867A (zh) * | 2015-06-08 | 2015-10-07 | 南京师范大学 | 基于chi特征选取的文本事件分类方法 |
CN107683469A (zh) * | 2015-12-30 | 2018-02-09 | 中国科学院深圳先进技术研究院 | 一种基于深度学习的产品分类方法及装置 |
CN108197307A (zh) * | 2018-01-31 | 2018-06-22 | 湖北工业大学 | 一种文本特征的选择方法及系统 |
CN108280211A (zh) * | 2018-01-31 | 2018-07-13 | 湖北工业大学 | 文本特征向量的确定方法及系统、文本分类方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9678992B2 (en) * | 2011-05-18 | 2017-06-13 | Microsoft Technology Licensing, Llc | Text to image translation |
-
2019
- 2019-04-03 CN CN201910265124.5A patent/CN110020435B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104965867A (zh) * | 2015-06-08 | 2015-10-07 | 南京师范大学 | 基于chi特征选取的文本事件分类方法 |
CN107683469A (zh) * | 2015-12-30 | 2018-02-09 | 中国科学院深圳先进技术研究院 | 一种基于深度学习的产品分类方法及装置 |
CN108197307A (zh) * | 2018-01-31 | 2018-06-22 | 湖北工业大学 | 一种文本特征的选择方法及系统 |
CN108280211A (zh) * | 2018-01-31 | 2018-07-13 | 湖北工业大学 | 文本特征向量的确定方法及系统、文本分类方法及系统 |
Non-Patent Citations (1)
Title |
---|
《面向小样本的文本分类模型及算法研究》;刘川;《中国博士论文全文库》;20180115;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110020435A (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110020435B (zh) | 一种采用并行二进制蝙蝠算法优化文本特征选择的方法 | |
US11645493B2 (en) | Flow for quantized neural networks | |
US20190278600A1 (en) | Tiled compressed sparse matrix format | |
JP7293498B2 (ja) | サンプル一致度評価による能動学習 | |
CN101382934B (zh) | 多媒体模型检索方法、装置及系统 | |
CN110175628A (zh) | 一种基于自动搜索与知识蒸馏的神经网络剪枝的压缩算法 | |
KR102305568B1 (ko) | 일정한 처리 시간 내에 k개의 극값을 찾는 방법 | |
US8438162B2 (en) | Method and apparatus for selecting clusterings to classify a predetermined data set | |
Joy et al. | Batch Bayesian optimization using multi-scale search | |
Kpotufe et al. | A tree-based regressor that adapts to intrinsic dimension | |
CN106777006B (zh) | 一种基于Spark下并行超网络的分类方法 | |
CN110909158B (zh) | 基于改进萤火虫算法和k近邻的文本分类方法 | |
CN114547307A (zh) | 文本向量模型训练方法、文本匹配方法、装置及设备 | |
Villa-Blanco et al. | Feature subset selection for data and feature streams: a review | |
CN115098690A (zh) | 一种基于聚类分析的多数据文档分类方法及系统 | |
CN114463596A (zh) | 一种超图神经网络的小样本图像识别方法、装置及设备 | |
US20230259761A1 (en) | Transfer learning system and method for deep neural network | |
Qiu et al. | Efficient document retrieval by end-to-end refining and quantizing BERT embedding with contrastive product quantization | |
Chen et al. | An active learning algorithm based on Shannon entropy for constraint-based clustering | |
CN115599918A (zh) | 一种基于图增强的互学习文本分类方法及系统 | |
Gupta et al. | Feature selection: an overview | |
Zhu et al. | Automatic clustering based on dynamic parameters harmony search optimization algorithm | |
Deng et al. | Label propagation on k-partite graphs with heterophily | |
Chen et al. | Genetic-fuzzy mining with multiple minimum supports based on fuzzy clustering | |
Zaidi et al. | Efficient and effective accelerated hierarchical higher-order logistic regression for large data quantities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230530 Address after: 430000 Long'an, No. 38, MINYUAN Road, East Lake New Technology Development Zone, Wuhan City, Hubei Province Room 02, floor 11, unit a, Ganghui City Patentee after: Wuhan AGCO Software Technology Co.,Ltd. Address before: 430068 1, Lijia 1 village, Nanhu, Wuchang District, Wuhan, Hubei Patentee before: HUBEI University OF TECHNOLOGY |