基于部落进化竞争的特征选择方法与流程

文档序号:11865449阅读:531来源:国知局
基于部落进化竞争的特征选择方法与流程

本发明涉及一种特征选择方法,特别涉及一种基于部落进化竞争的特征选择方法。



背景技术:

文献“Research of multi-population agent genetic algorithm for feature selection,Expert Systems with Applications,2009,Vol36(9),p11570-11581”提出了一种基于多种群遗传进化的特征选择算法。原始特征数目为N,该方法通过构造多边形闭环种群,将特征空间划分成多个联接正多边形,通过竞争机制选出特征数目为M(M<N)的个体,使得分类效果最好。种群之间通过共用的两个个体进行交流,这两个个体被称为种群代理,代理和种群内部的其他成员之间根据适应度排序,适应度高的保留下来,适应度低的被替换。通过对每个多边形内部的寻优,得到局部最优,再通过比较所有多边形的代理,得到全局最优。文献所述方法在构造多种群的时候,没有考虑到特征选择数目在排列组合中的偏置问题,选择出来的特征子集的维数很可能在N/2附近,这是因为由M个特征组成的可能的特征子集的个数是在N较大的情况下,种群内个体所选特征数目有非常大的概率落在N/2附近,使得最终结果很有可能不是全局最优。



技术实现要素:

为了克服现有特征选择方法中高维特征分类时特征选择数目在排列组合中偏置的不足,本发明提供一种基于部落进化竞争的特征选择方法。该方法根据特征的维度将特征划分成多个部落,每个部落对应一定的特征子空间,初始时分配给各个部落相同数目的个体,部落内部所选择的特征个数在统计上服从高斯分布;采取改进的遗传算法,在保证最优个体得以保留的前提下,确保部落内部的特征选择数目的分布情况不发生变化;当各个部落进化到一定程度后开始竞争,每个部落提供部落内适应度最高的精英个体,所有部落的精英个体根据适应度进行排序,适应度高的精英个体所在部落获得扩大部落规模的权利,而适应度低的精英个体所在的部落则受到削减部落规模的惩罚。由于将特征空间划分为多个高斯部落,部落内部所选择的特征个数在统计上服从高斯分布,并且在之后的操作过程中,该高斯分布始终保持不变,能够有效的改善偏置问题,最终能够搜索到全局最优子集。

本发明解决其技术问题所采用的技术方案:一种基于部落进化竞争的特征选择方法,其特点是包括以下步骤:

步骤一、将整个种群划分成K个部落,每个部落初始化时含有P个个体,表示第i个部落中所选特征维度为j的个数,表示选择j个特征的所有可能的个体的集合。其中在第i个部落中服从高斯分布,使第i个部落中的个体初始时选择的特征个数以95.45%的概率落在区间。初始化完成后,形成所选特征个数呈高斯分布的K个部落。

步骤二、部落内部进化。

每个部落内部的进化是基于一个改进的遗传算法进行的,分为以下四个步骤迭代的执行。

1)适应度计算。

对于部落中的每个个体,首先将其解码为所表示的所选特征集合,然后采用支持向量机对该所选特征集进行分类,并使用10折交叉验证,得到分类正确率,作为该个体的适应度。依此方法,计算每个个体的适应度,并将适应度最高的精英个体直接保存入下一代。

2)选择。

轮盘赌选择是从部落中选择一批成员,被选中的概率和它们的适应度分数成比例,个体的适应度愈高,被选中的概率也越高。选择过程中,个体适应度高的个体有很大的几率会被重复选择,而适应度低的个体则有可能从未被选择。

3)交叉。

在交叉过程中,个体用集合表示,集合中的元素是个体二进制编码中1的下标位置。当个体的二进制编码为1010010,表示选择第1,3,6个特征。则它的集合形式表示为X={1,3,6}。

发生交叉的个体,一个是来自经过轮盘赌选择后生成的种群,另一个来自原始的高斯部落。交叉过程中,通过集合形式表示的个体交换相同数量的元素,保证在交叉前后个体所选特征的个数不发生变化。这样交叉后形成的两个种群仍和其父母种群在所选特征的数目的分布上一致,原始高斯部落的分布特性能够在交叉之后得到保留。

4)变异。

变异会随机修改个体二进制编码的某一位置的编码。在变异过程中,如果一个体中的某一位的原始编码从0变异成1,得到的新个体,则从部落中选择任一个体,随机选择一位从1变异成0,使得得到的新个体作为补偿。

步骤三、部落之间的竞争。

部落经过选择、交叉和变异的进化后,个体的最高适应度会单调递增,进入部落竞争阶段。在竞争阶段,各部落提供部落内部适应度最高的精英个体,再根据适应度的大小对这些精英个体进行排序。适应度越高的精英个体所在的部落就获得扩大部落规模的权利,而那些适应度较差的精英个体所在的部落则相应的削减部落规模。扩大或削减规模的具体数量和排序的结果呈线性关系。

完成一次部落竞争后,各部落的规模会发生变化,其中最优个体所在部落的规模很可能会变得很大,但部落内部个体所选特征数目的高斯分布不会发生变化。各部落再次进入内部的进化过程,进行部落之间的竞争。如此往复,直到无法找到更优个体或达到指定的循环次数。

本发明的有益效果是:该方法根据特征的维度将特征划分成多个部落,每个部落对应一定的特征子空间,初始时分配给各个部落相同数目的个体,部落内部所选择的特征个数在统计上服从高斯分布;采取改进的遗传算法,在保证最优个体得以保留的前提下,确保部落内部的特征选择数目的分布情况不发生变化;当各个部落进化到一定程度后开始竞争,每个部落提供部落内适应度最高的精英个体,所有部落的精英个体根据适应度进行排序,适应度高的精英个体所在部落获得扩大部落规模的权利,而适应度低的精英个体所在的部落则受到削减部落规模的惩罚。由于将特征空间划分为多个高斯部落,部落内部所选择的特征个数在统计上服从高斯分布,并且在之后的操作过程中,该高斯分布始终保持不变,能够有效的改善偏置问题,最终能够搜索到全局最优子集。并具有并行性、随机性、自适应性、鲁棒性等显著特点。

下面结合附图和具体实施方式对本发明作详细说明。

附图说明

图1是本发明基于部落进化竞争的特征选择方法的流程图。

图2是本发明基于部落进化竞争的特征选择方法中部落划分示意图。

图3是本发明基于部落进化竞争的特征选择方法中等维度交叉过程示意图。

具体实施方式

参照图1-3。本发明基于部落进化竞争的特征选择方法具体步骤如下:

本发明基于部落进化竞争从N维特征集合中选出一个M维的特征子集,使得其具有最佳的模式分类能力。每一种特征选择方案被编码为一个位的二进制数,每一位如果是0则表示不选对应位置的特征,是1则表示选择对应位置的特征,例如“10010”表示从5维特征集中选择第一和第四维特征构成一个新的2维特征集。每一个位的二进制数被视为一个个体,其对环境的适应度被定义为使用该个体所编码的特征选择方案进行模式分类时的正确率。本发明通过将一个由大量个体组成的种群划分为若干个高斯部落,分别进行进化,之后再进行竞争并更新部落规模,来搜索适应度最高的个体,从而得到最佳特征选择方案。

1.部落的初始化。

整个种群划分成K个部落,每个部落初始化时含有P个个体,表示第i个部落中所选特征维度为j的个数,表示选择j个特征的所有可能的个体的集合。其中在第i个部落中服从高斯分布,从而使该部落中的个体初始时选择的特征个数会以95.45%的概率落在区间。初始化完成后,形成所选特征个数呈高斯分布的K个部落。

从图2可以看出,本实施例将特征空间根据特征选择个数划分成4个部落,横轴表示特征选择的数目,纵轴表示相对应的个体的数目。每一个高斯的曲线对应一个部落,并且部落之间有重叠的部分。

2.部落内部进化。

每个部落内部的进化是基于一个改进的遗传算法进行的,分为以下四个步骤迭代的执行。

5)适应度计算。

对于部落中的每个个体,首先将其解码为所表示的所选特征集合,然后采用支持向量机(Support Vector Machine,SVM)对该特征集进行分类,并使用10折交叉验证,得到分类正确率,作为该个体的适应度。依此方法,计算每个个体的适应度,并将适应度最高的精英个体直接保存入下一代。

6)选择。

轮盘赌选择是从部落中选择一批成员,被选中的概率和它们的适应度分数成比例,个体的适应度愈高,被选中的概率也越高。选择过程中,个体适应度高的个体有很大的几率会被重复选择,而适应度低的个体则有可能从未被选择。

7)交叉。

在交叉过程中,个体用集合表示,集合中的元素是个体二进制编码中1的下标位置。如个体的二进制编码为1010010,表示选择第1,3,6个特征。则它的集合形式可表示为X={1,3,6}。

发生交叉的个体,一个是来自经过轮盘赌选择后生成的种群,另一个来自原始的高斯部落。交叉过程中,通过集合形式表示的个体交换相同数量的元素,保证在交叉前后个体所选特征的个数(集合中的元素总数)不发生变化。这样交叉后形成的两个种群仍和其父母种群在所选特征的数目的分布上是一致的,原始高斯部落的分布特性能够在交叉之后得到保留。

图3中交叉前的两个个体分别是A1(1011001100)和A2(0100110000),可以看出A1中1的个数为5,其中1的下标集合为{1,3,4,7,8}表示二进制编码中,第1,3,4,7,8位置上是1,其余位置为0。A2中1的个数为3,下标集合为{2,5,6},表示第2,5,6位置上是1,其余位置为0。图中交叉发生在下标集合的第二元素之后,也就是图中虚线表示的位置。A1和A2交换虚线前的元素,生成新的个体,即B1(0101101100)集合表示为{2,5,4,7,8},1的个数是5和B2(1010010000)集合表示为{1,3,6},1的个数是3。发生交叉前后的特征选择个数即1的个数不发生变化。

8)变异。

变异会随机修改个体二进制编码的某一位置的编码。在本发明中的变异为对称变异。在变异过程中,如果一个体中的某一位的原始编码从0变异成1,得到的新个体,则从部落中选择任一个体,随机选择一位从1变异成0,使得得到的新个体作为补偿。例如个体10010发生上述变异变为11010,第二位编码由0变异成1,特征选择维数由2变成3。此时,需要从特征选择个数为3的集合中,任选一个个体,比如选择11100,被选中的个体需发生由1到0的变异,例如变异成11000,使得变异前后特征选择数目在统计层面上是保持不变的。同样的,如果在变异过程中出现个体中的某一位1变异成0,例如00111变异成00011,特征选择数目由3变成2,随机选择一个特征选择数目为2的个体某一位从0变异成1作为补偿。这样,经过变异之后的部落的特征选择个数的分布仍然保持不变,高斯分布特性能够在变异之后得到保留。物理世界中,个体发生变异的概率很低,本发明中的变异发生的概率为0.05。

3.部落之间的竞争。

部落经过选择、交叉和变异的进化后,个体的最高适应度会单调递增,在进化到一定程度后进入部落竞争阶段。在竞争阶段,各部落提供部落内部适应度最高的精英个体,再根据适应度的大小对这些精英个体进行排序。适应度越高的精英个体所在的部落就获得扩大部落规模的权利,而那些适应度较差的精英个体所在的部落则相应的削减部落规模。扩大或削减规模的具体数量和排序的结果呈线性关系。

完成一次部落竞争后,各部落的规模会发生变化,其中最优个体所在部落的规模很可能会变得很大,但部落内部个体所选特征数目的高斯分布不会发生变化。各部落再次进入内部的进化过程,等到进化到一定程度后再进行部落之间的竞争。如此往复,直到无法找到更优个体或达到指定的循环次数。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1