博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
森林优化算法(forest optimization algorithm,简称 FOA)
阅读量:3903 次
发布时间:2019-05-23

本文共 766 字,大约阅读时间需要 2 分钟。

森林优化算法(forest optimization algorithm,简称 FOA)是 Ghaemi 于 2014 年提出的一种仿生类进化算法, 用于解决单目标非线性连续搜索空间问题.FSFOA算法试图将 FOA算法用在离散搜索空间的问题上,即特征选 择,并取得了不错的效果. 在 FSFOA 算法中,每棵树代表问题的一个可能解,即一个特征子集.树中的每个“1”表示相应的特征被选择 参与机器学习过程,每个“0”表示在学习过程中相应特征被排除.FSFOA 算法包含 5 个部分:初始化森林、局部 播种、形成候选森林、全局播种(global seeding)、更新最优树(update the best tree).该算法以初始化森林为起始 点,经过局部播种、形成候选区,全局播种这 3 个主要步骤产生新树,更新森林,经过 FSFOA 算法的多次迭代,从 而得到最优特征子集.具体流程如图 1 所示. 

初始化阶段,随机产生一定数量的树形成森林,树中除了有 0/1 表示的相应变量值外,还有一个表示“年龄”的属性 Age,将所有刚刚生成的树的 Age 设置为 0 后,进入算法的局部播种阶段.如图 1 所示:在初始化阶段,FSFOA 算法只是采用随机的方式(即,在 n 维特征中随机选取若干个特征)来完成初始化,具有一定的盲目性,而算法在局部播种和全局播种阶段的寻优又依赖于初始点的选择,因此,FSFOA 算法在初始点选择不理想时很容易错失最优特征子集. 在局部播种阶段,将 0-Age 树的临近树加入森林.即对 Age 为 0 的树随机选择一些变量(LSC 参数决定选择变量的个数),然后将这些被选择变量的值从 0 改为 1,反之亦然.经过局部播种后,新产生的树的 Age 置 0,其余旧树的 Age 加 1,将新树添加到森林中.

 

 

 

 

转载地址:http://xzxen.baihongyu.com/

你可能感兴趣的文章
Lucene5学习之PrefixQuery使用
查看>>
Lucene5学习之WildcardQuery使用
查看>>
Activiti的Eclipse插件安装指南
查看>>
Lucene5学习之PhraseQuery短语查询
查看>>
the exception "Failure to transfer org.apache.maven:maven-parent" about Maven
查看>>
Lucene5学习之使用MMSeg4j分词器
查看>>
跟益达学Solr5之使用Jetty部署Solr
查看>>
跟益达学Solr5之玩转post.jar
查看>>
跟益达学Solr5之core.properties配置详解
查看>>
跟益达学Solr5之solrconfig.xml配置详解
查看>>
跟益达学Solr5之Schema.xml详解
查看>>
跟益达学Solr5之使用Tika从PDF中提取数据导入索引
查看>>
跟益达学Solr5之索引文件夹下所有文件
查看>>
跟益达学Solr5之增量索引MySQL数据库表数据
查看>>
跟益达学Solr5之批量索引JSON数据
查看>>
关于Volatile关键字的一点个人理解
查看>>
Python开发环境搭建
查看>>
Comparison method violates its general contract
查看>>
CentOS安装Tomcat
查看>>
PHP开发环境搭建详细教程
查看>>