一.介绍模拟退火算法

模拟退火算法是根据退火原理尽量找到最优解的一种方法。

计算机在寻找最优解的时候,通常会大量搜索和逼近,以随机小量的扰动不断接近最优解。

而模拟退火算法则是在此基础上加入了退火的过程:温度较高时容易发生突变,即使扰动后的函数值相对于上一个函数值远离了最优解也会有大概率接受这个新解;温度较低时不容易发生突变,如果扰动后的函数值相对于上一个函数值远离了最优解则只有极小可能接受这个新解。

模拟退火算法的5个要素:

1.初始温度

2.结束温度

3.衰减系数

4.马尔科夫链长

5.初始解

这里简单介绍一下马尔科夫链的概念:

有一个状态序列为X1,X2,X3...... 每一个Xt都仅仅取决于前一项X(t-1),这就被称为马尔科夫模型。实际上,一般的马尔科夫链都有其状态转移矩阵,我们可以举个例子:

在模拟退火算法中,马尔科夫链的长度决定着每一个温度下扰动的次数,也可以理解为是迭代的次数,一次完整的马尔科夫链扰动走完之后,以衰减系数降低温度(将温度乘以衰减系数),再重复进行马尔科夫扰动,直到温度达到结束时的目标温度,完成退火,找到全局的最优解。这里退火的过程是外层循环,扰动的过程是内层循环。

模拟退火算法相对于一般的扰动逼近的优点在于接受新解的方式不同,模拟退火算法遵循的是Metropolos原则,具体计算方式如下:

从T很大,基本接受远离的新解;到T很小,基本不接受远离的新解。

这是模拟退火算法的精髓。

 二.模拟退火算法的缺点

1.马尔可夫链长的取定

马尔科夫链取得太长会导致计算量增大,取得太短又会导致搜索不充分。

2.衰减系数的确定

衰减系数太大会导致计算量增大,衰减系数太小会导致退火过程过于迅速,难以跳出局部最优解。

3.初始值的确定

这个很容易理解,因为扰动量并不会很大,所以初始值如果与最优值相差太大,那么很有可能检索不到全局最优解。

这就是本人对模拟退火算法的理解,希望能够对你有所帮助!

模拟退火算法及马尔科夫链相关推荐

  1. 【ML算法】马尔科夫链

    文档介绍:https://download.csdn.net/download/liudongdong19/10420151 一.马尔可夫链 1.马尔可夫链 设XtXt表示随机变量XX在离散时间tt时 ...

  2. 蒙特卡洛分析_随机模拟:马尔科夫链蒙特卡洛采样MCMC与EM算法「2.3」

    最近学习了机器学习中的马尔科夫链蒙特卡洛(Markov Chain Monte Carlo, 简称MCMC) 相关的知识. 主要内容包括: [1]蒙特卡洛原则,及其应用于采样的必要性(已经发布在头条) ...

  3. 【有限马尔科夫链状态分解+Kosaraju 算法】基于Kosaraju 算法和可达矩阵的有限马尔科夫链状态分解

    有限马尔科夫链状态分解+Kosaraju 算法 1 实验内容 2 理论基础 3 题目分析 4 按常返性和互通性对状态空间进行分解算法流程 4.1 强连通性和强连通分量 4.2 基于有向图 Kosara ...

  4. PRML第八章读书笔记——Graphical Models 生成式模型/超先验/层次贝叶斯模型、d-分离/朴素贝叶斯、有向分解/马尔可夫毯、D图I图完美图、马尔科夫链/因子图/和积算法/最大和算法

    (终于读到概率图了,从这一章开始应该算是PRML的精华内容了.过于基础的东西就不写了,主要写自己不会的) 目录 8.1 Bayesian Networks P365 祖先采样法ancestral sa ...

  5. 机器学习算法 10 —— HMM模型(马尔科夫链、前向后向算法、维特比算法解码、hmmlearn)

    文章目录 系列文章 隐马尔科夫模型 HMM 1 马尔科夫链 1.1 简介 1.2 经典举例 2 HMM简介 2.1 简单案例 2.2 案例进阶 问题二解决 问题一解决 问题三解决 3 HMM模型基础 ...

  6. 13张动图助你彻底看懂马尔科夫链、PCA和条件概率!

    来源:新智元 本文共2100字,建议阅读9分钟. 本文用可视化的方式来解释抽象的理论概念,使这些抽象概念变得生动而立体! [ 导读 ]马尔科夫链.主成分分析以及条件概率等概念,是计算机学生必学的知识点 ...

  7. 马尔科夫链和马尔科夫链蒙特卡洛方法

    前言 译自:<Training Restricted Boltzmann Machines: An Introduction > 马尔科夫链在RBM的训练中占据重要地位,因为它提供了从复杂 ...

  8. 通过Python实现马尔科夫链蒙特卡罗方法的入门级应用

    通过把马尔科夫链蒙特卡罗(MCMC)应用于一个具体问题,本文介绍了 Python 中 MCMC 的入门级应用. GitHub 地址:https://github.com/WillKoehrsen/ai ...

  9. 求离散马尔科夫链的平稳分布+按照一定概率分布生成想要的样本

    1. 求离散马尔科夫链的平稳分布的两种解法 假设离散马尔科夫链的转移矩阵为P PP,平稳分布为π \piπ,则平稳分布满足: Pπ=πP \pi = \piPπ=π 1.1 迭代法 求平稳分布的一种简 ...

最新文章

  1. Java(CS)请求分流
  2. JAVA的内省机制(introspector)与反射机制(reflection)
  3. 二叉树总结挺好的很好记忆
  4. centos 删除crontab_centos下crontab的使用
  5. 假如一种编程语言代表一个国家,哎哟,有意思了!
  6. 软件工程测试旅游管理系统,旅游管理系统的设计与实现
  7. 基础编程题目集 6-2 多项式求值 (15 分)
  8. 数据治理需要注意哪些问题
  9. Nginx笔记(一):安装
  10. 防火墙 firewall 及端口查看
  11. Laravel学习笔记(33)后台切换前台模板(修改默认的加载模版路径)
  12. 人工智能 —— 归结演绎推理
  13. 华为手机怎么连接苹果电脑?
  14. 3.acwing3373. 进制转换
  15. python发送短信接口_python 调用接口发短信
  16. 官宣,北京杜绝现场复试!清华等全国多地高校确定将网络远程复试
  17. 斗图表情包爬虫(基于多线程)
  18. 客户端网页API(二)——从服务器获取数据
  19. 两少年玩防狼喷雾剂 致广州地铁发生踩踏
  20. praat对音频文件进行标注

热门文章

  1. crm客户关系管理系统大约多少钱?
  2. JavaScript基础-ES6
  3. 平安好医生高调亮相智博会 利用AI创新发展
  4. 手写数字识别神经网络完整代码,带详细注释。
  5. 2019 第十届蓝桥杯大赛软件类省赛 C/C++ 大学 A 组 【部分题解】
  6. 2021区块链行业十大影响力事件盘点
  7. 对目标追踪MOSSE算法中FFT与卷积操作的理解
  8. 节能减排新时代 壁挂炉深受重视
  9. 什么是Session的销毁方式?
  10. FishC笔记—06 讲:Pyhon 之常用操作符