启发式搜索

启发式搜索

  一种最优化的算法。
  当一个问题是NP难问题时,是无法求解到最优解的,因此,用一种相对好的求解算法,去尽可能逼近最优解,得到一个相对优解,在很多实际情况中也是可以接受的。
  群体智能算法就是启发式算法;研究的重点就是如何平衡局部搜索与全局搜索;有效逃离局部最优解;

常用的启发算法

  蚁群算法、PSO(粒子群算法)、GA(遗传算法)、人工免疫算法、模拟退火算法、禁忌搜索算法等都可以看作是启发式算法。

分类

  仿动物类的算法:粒子群优化,蚂蚁优化,鱼群算法,蜂群算法等;
  仿植物类的算法:向光性算法,杂草优化算法,等等;
  仿人类的算法有:和声搜索算法是较好的算法;

具体使用

  用的不多,但对于神经网络,现在梯度下降玩懒了,就试试启发式算法。
  有梯度的时候,肯定是梯度方法收敛快。虽说启发式方法据说可以避免局部极值,但要我说有那么多资源还不如多跑几次梯度下降。
  实际应用时差分进化算法较有优势。关于粒子群算法,理论成熟,应用广泛。

各种启发式算法

  1. 序列前向选择(SFS , Sequential Forward Selection)
      特征子集X从空集开始,每次选择能使得评价函数J(X)最优的一个特征x加入,其实就是贪心算法,缺点是只加不减

  2. 序列后向选择(SBS , Sequential Backward Selection)
      和SFS相反,从特征全集开始,每次选择使评价函数J(X)最优的特征x剔除,也是贪心,缺点是只减不增

  3. 双向搜索(BDS , Bidirectional Search)
      前向-后向贪心算法 SFS和SBS同时开始,当两者搜索到同一个特征子集时停止。

  4. 增L去R选择算法(LRS , Plus-l Minus-R Selection)
      形式一:从空集开始,每次加L个特征,去除R个特征,使得J最优
      形式二:从全集开始,每次去除R个特征,加入L个特征,使J最优。

  5. 序列浮动选择(Sequential Floating Selection)
      该算法由增L去R发展,不同之处在于L和R是会变化的,它结合了序列前后向选择、增L去R的特点并弥补了缺点。

   ①序列浮动前向选择(SFFS , Sequential Floating Forward Selection):从空集开始,每轮选择子集x加入使得J最优,再选择子集z剔除使得J最优。

  ②序列浮动后向选择(SFBS , Sequential Floating Backward Selection):与①相反,从全集开始,先剔除再加入。

  1. 决策树(Decision Tree Method , DTM)
      一般使用信息增益作为评价函数,待决策树生长后再进行剪枝,最后留下的叶子就是特征子集。
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值