当前位置: 首页 > 专利查询>吉林大学专利>正文

一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法技术

技术编号:27032047 阅读:41 留言:0更新日期:2021-01-12 11:15
一种采用遗传算法和蜻蜓算法相结合的多维数据特征选择方法,具体步骤为:对交通事故数据进行简单清洗;将蜻蜓算法嵌入到遗传算法中干预交叉操作,通过蜻蜓算法找出最佳交叉点位置,来提高遗传算法的寻优速度;将蜻蜓算法嵌入到遗传算法中干预变异操作,通过蜻蜓算法计算出的“食物”、“天敌”基因位置的是否选用,设置不同的基因位置变异概率,来提高算法的收敛速度。将数据特征筛选结果作为一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法的输入,输出结果为算法选择出的数据特征。实验证明,本方法对于不同的分类器均有较好的表现,验证了本发明专利技术的特征选择方法是有效的,且具有鲁棒性。

【技术实现步骤摘要】
一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法
本专利技术涉及一种属于机器学习的方法,更确切地说,本专利技术设计了一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法。本专利技术不仅可以应用到机器学习领域,还可以推广到其他领域中,其他领域也属于本专利的保护范围。
技术介绍
机器学习是近些年来新兴学科,涉及多个领域。机器学习专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,不断改善自身性能。而机器学习中,数据集的选取尤为重要。对于数据集的选取,首先是要选取有足够多特征和样本的数据集,其次是要在数据集中进行特征选择。由于在特征选择过程中进行优化可以提高多种分类模型的准确率,因此如何选择出较好的特征组合是人们关注的重点。为了在大量数据中获取有效信息以得到有效的结果,在拿到数据时要先进行特征降维。特征降维的方法有特征选择和特征提取两种,特征提取是将原始特征集中的特征进行线性组合,使用新的特征代替初始特征,多用于图像处理方面;特征选择是在初始特征集中的D个特征,根据评价准则选出d(d<D)个特征,这d个特征可以得出最好的结果。特征提取和特征选择均可以达到降维目的,但是特征选择可以保存原始数据集中的物理特征,而特征提取后的新特征无法赋予其实际意义。目前针对特征选择过程已有很多研究成果。大多数研究者采用改变过滤条件的方法来处理数据集,也有研究者采用进化算法进行特征选择。进化算法,也可称为演化算法,灵感来自于大自然的生物进化。与传统的穷举法等优化算法相比,进化计算是一种成熟的具有高鲁棒性和广泛适用性的全局优化方法,具有自组织、自适应、自学习的特性,能够不受问题性质的限制,有效地处理复杂问题。遗传算法是一种成熟的进化算法,该算法是根据大自然中生物体进化规律而设计提出的。该算法通过数学的方式,利用计算机仿真运算,将问题的求解过程转换成类似生物进化中的染色体基因的交叉、变异等过程。在求解较为复杂的组合优化问题时,相对一些常规的优化算法,通常能够较快地获得较好的优化结果。研究者将遗传算法应用于特征选择过程中可以得出一个较好的特征组合,但是由于遗传算法存在过早收敛的问题,导致该特征组合很有可能不是最优解。针对这一问题,本专利技术设计了一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法,减少了寻优时间,提高了模型准确率。
技术实现思路
本专利技术所要解决的技术问题是优化现有的机器学习中特征选择方式,针对众多特征的多种组合可能性,提供了一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法。一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法,步骤如下:一、对于交通事故数据进行清洗,制作交通事故数据集,根据数据的每一维特征,将本维度特征中仅有单一值、数据缺失超过一半、信息熵值从大到小排在后三位的特征筛除,即所有数据进行模型训练时均不选取此特征,其余特征留用;二、将步骤一中的数据特征筛选结果作为一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法的输入,输出结果为算法选择出的数据特征;所述的步骤二中,数据特征筛选结果作为一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法的输入,输出结果为算法选择出的数据特征,其中一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法是指:1)划分训练集和测试集交通事故数据集由各种渠道获得,收集好的车祸数据集分为训练集和测试集,在训练集和测试集中,根据交通事故的严重程度将数据分为轻微事故、严重事故和致命事故三种,训练集和测试集不重复存在;2)缺失值筛除对于已有的数据先进行统计,根据统计结果首先筛除缺失值超过一半的特征,即不再考虑此特征对于所有数据最后分类结果的影响。在未知前提下猜测结果正确率有二分之一,缺失值超过了一半的特征对于数据的分类准确率可能造成干扰;3)单一特征筛除对于现有的特征及数据,筛除掉特征值单一的数据特征。因为只有一个值,所以对于全部数据的分类准确率没有影响,而且会加大后续算法的计算量,因此将单一特征值的特征筛除;4)信息熵筛除对于现有的特征和数据,计算所有特征的信息熵。信息熵H(X)的计算公式如公式(1):式中,p(xi)代表了第x个特征的n种不同取值情况对应的不同概率。信息熵表示了信息的不确定度,信息熵越大,信息的不确定度越高。因此筛除掉信息熵由大到小排名后3位的特征,因为该特征没有很多的有用信息,筛除后可以在基本不影响结果准确率的前提下减少特征选择工作量;所述的步骤二中,将数据特征筛选结果作为一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法的输入,输出结果为算法选择出的数据特征,其中另一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法是指:1)遗传算法遗传算法是近年来发展的基于生物遗传学的观点的全新的全局优化算法,在数据进行处理的过程中,通过不断地进化,种群中的整体适应度不断提高,最终达到全局寻优的目标。遗传算法具有自适应性,随机生成初始种群后,经过迭代选择、交叉、变异等操作,最终寻得最优解;2)遗传算法步骤第一步骤:进行种群初始化,将要解决的问题表示成遗传空间的染色体个体,通常采用二进制编码方式,经过编码后随机生成初始种群P(0),设置迭代计数器t=0,设置最大迭代次数T;第二步骤:根据适应度函数来计算种群个体P(t)适应度值,其中适应度函数是用来判断种群个体的优劣程度的指标,表示了种群个体对于环境的适应能力;第三步骤:将结束条件设置为“达到第T代”,当t<T时进行选择、交叉、变异操作,当t=T时结束迭代,输出第T代中最优个体,即最优解。例如求解函数最大值问题,假设函数如公式(2),采用遗传算法求出x取值范围在[0,10]时,该函数的最大值。f(x)=x*sin(10x)+2(2)应用第一步骤,假定求解的精度为小数点后两位,则可以将解空间分为1000个等份,如果采用二进制编码则要使用10位二进制数码表示。一个二进制数代表一条染色体chromosome,初始染色体是随机生成的,对于求解最大值问题,可以初始化生成10条染色体,即初始种群P(0)。对于染色体可以采用如公式(3)的解码公式将其转换为十进制数。最大迭代次数T初始值通常设置为100代到200代。应用第二步骤,对种群个体P(t)计算适应度函数值,即f(x)的值。将染色体解码后对应的十进制数带入到f(x)中计算,f(x)值越大表明个体适应度越好。应用第三步骤,将最大迭代次数T设置为100代。当t<T,即未达到结束条件时,进行选择、交叉和变异操作,说明如下:(1)选择操作是将染色体个体根据适应度函数f(x)的值从大到小排序,在本问题中可知适应度函数f(x)的最大值不会超过12,因此每个染色体个体被选为父代的概率为f(x)/12,保证适应度函数f(x)的值大的染色体个体有更大的概率被选取。(2)然后对于两个父代染色体进行交叉操作,通常采用单点交叉法。如图7所示,假设选出的染色体个体a为1010101010,染色体个体本文档来自技高网
...

【技术保护点】
1.一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法,其特征在于:步骤如下:/n一、对于交通事故数据进行清洗,制作交通事故数据集,根据数据的每一维特征,将本维度特征中仅有单一值、数据缺失超过一半、信息熵值从大到小排在后三位的特征筛除,即所有数据进行模型训练时均不选取此特征,其余特征留用;/n二、将步骤一中的数据特征筛选结果作为一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法的输入,输出结果为算法选择出的数据特征;/n所述的步骤二中,数据特征筛选结果作为一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法的输入,输出结果为算法选择出的数据特征,其中一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法是指:/n1)划分训练集和测试集/n交通事故数据集由各种渠道获得,收集好的车祸数据集分为训练集和测试集,在训练集和测试集中,根据交通事故的严重程度将数据分为轻微事故、严重事故和致命事故三种,训练集和测试集不重复存在;/n2)缺失值筛除/n对于已有的数据先进行统计,根据统计结果首先筛除缺失值超过一半的特征,即不再考虑此特征对于所有数据最后分类结果的影响;在未知前提下猜测结果正确率有二分之一,缺失值超过了一半的特征对于数据的分类准确率可能造成干扰;/n3)单一特征筛除/n对于现有的特征及数据,筛除掉特征值单一的数据特征;因为只有一个值,所以对于全部数据的分类准确率没有影响,而且会加大后续算法的计算量,因此将单一特征值的特征筛除;/n4)信息熵筛除/n对于现有的特征和数据,计算所有特征的信息熵;信息熵H(X)的计算公式如公式(1):/n...

【技术特征摘要】
1.一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法,其特征在于:步骤如下:
一、对于交通事故数据进行清洗,制作交通事故数据集,根据数据的每一维特征,将本维度特征中仅有单一值、数据缺失超过一半、信息熵值从大到小排在后三位的特征筛除,即所有数据进行模型训练时均不选取此特征,其余特征留用;
二、将步骤一中的数据特征筛选结果作为一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法的输入,输出结果为算法选择出的数据特征;
所述的步骤二中,数据特征筛选结果作为一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法的输入,输出结果为算法选择出的数据特征,其中一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法是指:
1)划分训练集和测试集
交通事故数据集由各种渠道获得,收集好的车祸数据集分为训练集和测试集,在训练集和测试集中,根据交通事故的严重程度将数据分为轻微事故、严重事故和致命事故三种,训练集和测试集不重复存在;
2)缺失值筛除
对于已有的数据先进行统计,根据统计结果首先筛除缺失值超过一半的特征,即不再考虑此特征对于所有数据最后分类结果的影响;在未知前提下猜测结果正确率有二分之一,缺失值超过了一半的特征对于数据的分类准确率可能造成干扰;
3)单一特征筛除
对于现有的特征及数据,筛除掉特征值单一的数据特征;因为只有一个值,所以对于全部数据的分类准确率没有影响,而且会加大后续算法的计算量,因此将单一特征值的特征筛除;
4)信息熵筛除
对于现有的特征和数据,计算所有特征的信息熵;信息熵H(X)的计算公式如公式(1):



式中,p(xi)代表了第x个特征的n种不同取值情况对应的不同概率;信息熵表示了信息的不确定度,信息熵越大,信息的不确定度越高;因此筛除掉信息熵由大到小排名后3位的特征,因为该特征没有很多的有用信息,筛除后能在基本不影响结果准确率的前提下减少特征选择工作量;
所述的步骤二中,将数据特征筛选结果作为一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法的输入,输出结果为算法选择出的数据特征,其中另一种遗传算法和蜻蜓算法相结合的多维数据特征选择方法是指:
1)遗传算法
遗传算法是近年来发展的基于生物遗传学的观点的全新的全局优化算法,在数据进行处理的过程中,通过不断地进化,种群中的整体适应度不断提高,最终达到全局寻优的目标;遗传算法具有自适应性,随机生成初始种群后,经过迭代选择、交叉、变异等操作,最终寻得最优解;
2)遗传算法步骤
第一步骤:进行种群初始化,将要解决的问题表示成遗传空间的染色体个体,通常采用二进制编码方式,经过编码后随机生成初始种群P(0),设置迭代计数器t=0,设置最大迭代次数T;
第二步骤:根据适应度函数来计算种群个体P(t)适应度值,其中适应度函数是用来判断种群个体的优劣程度的指标,表示了种群个体对于环境的适应能力;
第三步骤:将结束条件设置为“达到第T代”,当t<T时进行选择、交叉、变异操作,当t=T时结束迭代,输出第T代中最优个体,即最优解;
例如求解函数最大值问题,假设函数如公式(2),采用遗传算法求出x取值范围在[0,10]时,该函数的最大值;
f(x)=x*sin(10x)+2(2)
应用第一步骤,假定求解的精度为小数点后两位,则能将解空间分为1000个等份,如果采用二进制编码则要使用10位二进制数码表示;一个二进制数代表一条染色体chromosome,初始染色体是随机生成的,对于求解最大值问题,可以初始化生成10条染色体,即初始种群P(0);对于染色体可以采用如公式(3)的解码公式将其转换为十进制数;最大迭代次数T初始值通常设置为100代到200代;



应用第二步骤,对种群个体P(t)计算适应度函数值,即f(x)的值;将染色体解码后对应的十进制数带入到f(x)中计算,f(x)值越大表明个体适应度越好;
应用第三步骤,将最大迭代次数T设置为100代;当t<T,即未达到结束条件时,进行选择、交叉和变异操作,说明如下:
(1)选择操作是将染色体个体根据适应度函数f(x)的值从大到小排序,在本问题中可知适应度函数f(x)的最大值不会超过12,因此每个染色体个体被选为父代的概率为f(x)/12,保证适应度函数f(x)的值大的染色体个体有更大的概率被选取;
(2)然后对于两个父代染色体进行交叉操作,通常采用单点交叉法;如图7所示,假设选出的染色体个体a为1010101010,染色体个体b为1111100000;若以左数第3位为交叉点,交叉生成的一个新个体c是“a”的前3位与“b”的后7位的组合,为1011100000,另一个新个体d是“b”的前3位与“a”的后7位的组合,为1110101010;
(3)变异操作是指染色体个体中的基因有概率突变,即染色体个体中的10位二进制数码均可能发生变异,生成新的染色体个体,通常遗传算法中变异的概率一般设置为0.1;当t=T,即达到结束条件时,输出适应度函数值最大的个体;
3)蜻蜓算法
蜻蜓算法是根据自然界中蜻蜓寻找食物的行为而模拟提出的一种新兴群智能优化算法,该算法原理简单,易于理解且便于实现,具有较强的搜索能力,可以应用于图像分割、变压器故障诊断等多个领域;
蜻蜓算法的主要思想是通过模拟蜻蜓群体分离、列队、聚集、捕食及避敌五种飞行行为进行寻优操作;
蜻蜓个体在分离行为中产生的位移如公式(4):



其中,Si表示第i只蜻蜓个体在分离行为中产生的位移,Xi表示该蜻蜓个体当前位置,Xj表示蜻蜓种群中与第i只蜻蜓个体相邻的第j只蜻蜓在当前迭代的位置,N表示蜻蜓种群数量;
蜻蜓个体在列队行为中产生的位移如公式(5):



其中,Ai表示第i只蜻蜓个体在列队行为中产生的位移,Xj表示蜻蜓种群中与第i只蜻蜓个体相邻的第j只蜻蜓在当前迭代的位置,N表示蜻蜓种群数量;
蜻蜓个体在聚集行为中产生的位移如公式(6):



其中,...

【专利技术属性】
技术研发人员:杨晓萍王星乔柳莹于树友李娟
申请(专利权)人:吉林大学
类型:发明
国别省市:吉林;22

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1