基于评分机制的森林优化算法的特征选择方法与流程

文档序号:11654989阅读:558来源:国知局

本发明属于数据挖掘领域,具体涉及的是一种利用评分机制的森林优化算法对高维数据集进行有效的特征选择。



背景技术:

随着互联网的迅速发展,把人类迅速的带入了信息化时代,尤其是网络应用的发展,社交网络把人类紧密的联系在一起,近年来社交网络(如:facebook、腾讯、微博)的迅猛发展,对社交网络数据进行挖掘分析的学者也越来越多,社交网络是个聚宝盆,富含着大量有用的信息。比如我们可以通过提取节点的兴趣,爱好,关系或其他可能的特征,可以得出对用户的价值观、兴趣、活动范围等重要信息。我们也可以从这些属性中去判断,该社交网络属于那种类型。推荐给用户。然而社交网络有着大量数据和信息产生并日复一日的积累下来,而且很多的信息存在着冗余,需要处理的数据的维度越来越大,所以我们要提取出最有价值的信息,但是又不会影响其社交网络本身的特性,社交网络存在着大量的属性信息。这也被称为维度灾难,即解空间大小随数据维度的增长呈指数级增长的问题。数据的维度主要包含两个方面,数据的实例个数及数据的特征个数。为了解决特征维度过高的问题,特征选择技术被提出来。所以特征选择对社交网络分类的研究具有重大意义。

feizi-derakhshi等在2014年提出了森林优化算法。该算法和遗传算法、量子群、布谷鸟算法都属于空间搜索算法,都是寻找近似最优解问题。它是模拟大自然中森林的形成过程,在大自然中,森林是由鸟儿,蜜蜂和风携带着种子,播种而产生的。经过大量的实验发现:森林优化算法选择的子集存在过多的随机性,会引起收敛速度慢并使得结果陷入局部最优。该算法并没有从特征选择本身的领域出发,而是根据该算法本身进行随机特征选择的。该算法在适应度函数选择上面单独的采用的knn分类器的精确度作为适应度值,缺乏正确的导向性。本发明通是过分析以上缺点,从候选集选优策略、单个特征对特征集合的评分策略,设计一种基于评分机制的森林优化算法的特征选择,能够快速、有效的搜索到近似最优的特征子集。



技术实现要素:

本发明的所要解决的技术问题是在每一次搜索最优特征子集的过程中让具有较高适应度值的子集具有更高的被选中的概率。使得每一次的选择不是完全随机的,而是带有一定的倾向性、加快算法的收敛。能够降低陷入局部最优解的概率。

基于评分机制的森林优化算法的特征选择算法,包括以下步骤:

步骤1),初始化树、森林。森林是由许多树构成的。

步骤2),局部播种。在步骤1)得到的初始化的森林,在给森林中的每棵树添加邻居树。

策步骤3),种群限制。在步骤2),得到新增树后的森林,根据适应度值排序。并且对一部分树进行淘汰处理。把排序靠后的树提取出来,采用候选集择优策略选择出潜在最优特征子集的树,结果放入候选集中。

步骤4),全局播种。在步骤3),得到一批潜在最优子集的树,在给他们树添加邻居树。加入森林中去。

步骤5),更新最优树。在这个阶段,把森林中适应度值最高的树选为是最好树并记录下来。再执行步骤2),直到满足停止条件。

进一步的,基于评分机制的森林优化算法的特征选择算法,步骤1),初始化树、森林。森林是由许多树构成的。树的结构类似于数组的结构。如果一个数据集有n个特征,那么每棵树表示为n个特征再加上一个变量“age”,每棵树的大小是1*(n+1),其中“age”特征描述了树的年龄。随机生成20棵树规模的森林。(规模为20可以解决大部分问题)。每棵树的每个特征随机初始化为“0”或“1”。树中的每一个树“1”表示该特征被选择,“0”表示特征被淘汰、排除。每棵树的“年龄”被赋值“0”。

进一步的,基于评分机制的森林优化算法的特征选择算法,步骤2),局部播种:这个阶段为每棵树增加一些邻居“age”为0的树。现在,森林中的每棵树“age”为0,随机选择一些变量(“lsc”参数确定所选变量的数量)。根据特征评分模型去判断,每次随机选择的特征对整个特征集合的分类的影响程度的评分。评分很低的我们可以直接放弃这次选择,再次重新随机选择。然后把所选变量的值从0到1或者相反。这个过程模拟局部搜索在空间;在执行局部搜索阶段之后,所有树的“age”除了新添加的树外,age属性加1。

其中评分模型定义为:

score(f,s)=relevance(f,c)-redundancy(f,s)

(1)relevance(f,c)是特征f和类属性c的相关度,其值越高代表特征f对于分类的帮助越大,反之则越低。定义如下:

relevance(f,c)=i(f,c)

(2)redundancy(f,s)是特征f和特征集合s中所有特征的互信息的平均值,其值越高,f对于特征集合s的评分就越低,反之则越高。ns表示特征数量。定义如下:

(3)互信息用来衡量两个变量之间共享的信息。互信息值越大表明两个变量之间共享的信息越多,反之则越少。定义如下:

进一步的,基于评分机制的森林优化算法的特征选择算法,步骤3),种群限制:在这个阶段两种情况的树将会从森林中被淘汰:年龄(age)超出最大生命周期的树(lifetime)、森林中树的数量超出了最大约定数量(arealimit),然后根据适应度值,进行排序,保留最优的值树,将超出的arealimit(排序落后的)放到候选集中,采用候选集择优策略选取具有潜在最优解的树进行下一次迭代。每一棵树(由0和1组成的字符串)表示一个特征子集,潜在着最优解的可能。采用特征子集在knn分类上的精确度和单个特征对集体影响的评分作为择优策略。适应度值定义为:fit(s)=w1α+w2β,其中w1和w2是参数,分别为0.64和0.36。α表示特征子集在knn分类器上的精确度,β表示单个特征对集体影响的评分。

进一步的,基于评分机制的森林优化算法的特征选择算法,步骤4),全局播种:得到上一步的候选集。遍历候选集中所有的树,随机选择一些变量(“gsc”参数确定所选变量的数量,gsc参数是自动学习的,取数据集的维数的10%)。然后把所选变量的值从0到1或者相反。即原来是0的变成1,即原来是1的变成0。但是与局部不一样的地方是,已经选择的特征(值为1)的不变。采用特征评分模型去评估上一步随机选择的特征对整个特征的评分,如果评分较低的,得分低于0.4的就放弃这次选择,再次重新进行选择。在给候选集中的树添加邻居树,age赋值为0。

进一步的,基于森林优化算法的特征选择算法,步骤5),更新最优树:在这个阶段,把森林中适应度值最高的树选为是最好树并把它的“age”设置为“0”。再执行步骤2),直到满足停止条件。

停止条件包括:

(1)达到迭代次数;

(2)适应度值停留在某个值附近不再变化,定义为|fit(si)-fit(sj)|<ε,其中ε赋值为0.003。

有益效果

本发明能够让具有较高适应度值的解具有更高的被选中的概率。从而能降低陷入局部最优解的概率。加快寻找最优解的收敛速度,能够使得每一次的选择不是完全随机的,而是带有一定的倾向性。从而使得在对整个搜索空间进行搜索时,减少了算法的运行时间,减少了算法迭代的次数。

附图说明

图1是基于评分机制的森林优化算法的特征选择流程图。

具体实施方式

下面结合附图对技术方案的实施作进一步的详细描述。

本实施案例采用基于评分机制的森林优化算法进行特征选择。如图1所示,本方法包含如下步骤:

步骤10,初始化森林。

步骤101,随机生成20(森林规模20可以解决大部分问题)棵树。即earalimit。如果一个数据集有n个特征,每棵树的结构定义是为1*(n+1)的长度;其中一个变量是“age”描述了数的年龄。

步骤102,每棵树的每个变量的随机初始化为“0”或“1”,树中的每一个树“1”表示该特征被选择,“0”表示特征被淘汰、排除。每棵树的“年龄”被赋值为“0”。

步骤20,局部播种。

步骤201,为每棵“age”为0的树增加一些邻居。新增的邻居树“age”赋值为0。

步骤202,“age”为0树随机选择一些变量(“lsc”参数确定所选变量的数量,lsc参数是自动学习的,取数据集维度的10%)。然后把所选变量的值从0到1或者相反。即原来是0的变成1,即原来是1的变成0。

步骤203,分别对上一步随机选择的单个特征对整个特征集合的影响度进行评分,如果评分低于0.4的特征,就放弃该特征,再次重新选择。

步骤204,除了新添加的树外,所有树的“age”加1。

步骤30,种群限制。

步骤301,根据适应度函数去计算森林中每一棵树的适应度值。

步骤302,根据上一步得到的适应度值,对所有的树进行排序。

步骤303,把排名earalimit以后的树提取出来,采用候选集择优策略进行选取。结果放入候选集中,并且把age值较大的树剔除掉。

步骤40,全局播种。

步骤401,得到上一步的候选集。遍历候选集所有的树,随机选择一些变量(“gsc”参数确定所选变量的数量,gsc参数是自动学习的,取数据集维数的10%)。然后把所选变量的值从0到1或者相反。即原来是0的变成1,即原来是1的变成0。但是与局部不一样的地方是,已经选择的特征(值为1)的不变。

步骤402,同样采用评分模型去计算上一步随机选择的特征对整个特征的评分,如果评分0.4的特征,就放弃该特征,再次重新选择。

步骤403,在给候选集中的树添加邻居树,age赋值为0。把候选集的所有的树加入森林中。

步骤50,更新最优树。

步骤51,把森林中适应度值最高的选为最好树,把它记录下来。并设置其“age”值为“0”。再执行步骤2),直到满足停止条件。

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