机器学习:启发式算法
2016-03-19 20:17
239 查看
启发式算法(heuristic algorithm):相对于最优化算法(求得该问题每个实例的最优解)提出的。
启发式算法定义:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度一般不能被预计。
通俗的说:启发式算法是指在一个随机的群体寻优过程中,个体能够利用自身或者全局的经验来制定各自的搜索策略。相比最初的穷举迭代搜索或者随机搜索,一个显著的特点就是个体能够基于经验或者个体间经验交流改变搜索方式,是一种有目的或者有策略的方法。再通俗一点就是,咱们都生活在某个小区,你看到你邻居每天晚上摆地摊赚钱,你受到启发也每天去同样的地方摆地摊赚钱,然后越来越多的人发现摆地摊赚钱,就都出来摆地摊了,就这么个道理。
近几年比较活跃的算法有如下:
仿动物类的算法:粒子群优化,蚂蚁优化,鱼群算法,蜂群算法等;
仿植物类的算法:向光性算法,杂草优化算法,等等;
仿人类的算法有:和声搜索算法是较好的算法;
近年开始研究情感计算的人较多。
实际应用时差分进化算法较有优势。
关于粒子群算法,理论成熟,应用广泛。
启发式,本质上是一种贪心策略,这也在客观上决定了不符合贪心规则的更好(或者最优)解会错过。防止早熟收敛是元启发算法的研究热点。
启发式算法定义:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度一般不能被预计。
通俗的说:启发式算法是指在一个随机的群体寻优过程中,个体能够利用自身或者全局的经验来制定各自的搜索策略。相比最初的穷举迭代搜索或者随机搜索,一个显著的特点就是个体能够基于经验或者个体间经验交流改变搜索方式,是一种有目的或者有策略的方法。再通俗一点就是,咱们都生活在某个小区,你看到你邻居每天晚上摆地摊赚钱,你受到启发也每天去同样的地方摆地摊赚钱,然后越来越多的人发现摆地摊赚钱,就都出来摆地摊了,就这么个道理。
近几年比较活跃的算法有如下:
仿动物类的算法:粒子群优化,蚂蚁优化,鱼群算法,蜂群算法等;
仿植物类的算法:向光性算法,杂草优化算法,等等;
仿人类的算法有:和声搜索算法是较好的算法;
近年开始研究情感计算的人较多。
实际应用时差分进化算法较有优势。
关于粒子群算法,理论成熟,应用广泛。
启发式,本质上是一种贪心策略,这也在客观上决定了不符合贪心规则的更好(或者最优)解会错过。防止早熟收敛是元启发算法的研究热点。
相关文章推荐
- 取消Android标题栏
- 获取单链表中倒数第N个结点数据
- Java基础之异常篇
- 在qtcreator上进行ros机器人操作系统编程,并且配置CMakeLists.txt包含opencv2和aruco增强现实库
- Jenkins进阶系列之——15Maven获取Jenkins的Subversion的版本号
- Linux命令之chown
- 第4周-项目4-(4)
- 第4周-项目4-(3)
- Jenkins进阶系列之——14配置Jenkins用户和权限
- Jenkins入门系列之——00答疑解惑
- js查找水仙花数
- 复利计算4.0
- 解决 Gnome3 窗口背景是黑色的问题
- javascript学习笔记
- NBUT 1647 又一道简单题【数学+枚举】
- 第4周-项目4-(2)
- JSONP理解
- JVM怎样让native method跑起来
- Jenkins进阶系列之——13修改Jenkins权限控制
- 构建之法阅读笔记03