Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 模拟退火是一种蒙特卡罗方法吗?_Algorithm_Machine Learning - Fatal编程技术网

Algorithm 模拟退火是一种蒙特卡罗方法吗?

Algorithm 模拟退火是一种蒙特卡罗方法吗?,algorithm,machine-learning,Algorithm,Machine Learning,我最近正在研究一些优化算法。我发现了一个非常有趣的算法,叫做模拟退火。根据我的理解,我们的初始点变成了一个分布,而不是一个实际点。它也与初始“温度”有关,但主要思想是“冷却”。也就是说,当你达到局部优化时,尝试一些“转移”的情况。从而克服了局部最优陷阱。我想知道的是模拟退火也是一种蒙特卡罗方法。不同之处在于,蒙特卡罗在全局范围内有效,而模拟退火在局部范围内有效。我的想法正确吗?不,这不是一种蒙特卡罗方法,但你的比较并不愚蠢。退火是概率的,但在某种程度上并不完全符合蒙特卡罗的特征 主要的区别在于过

我最近正在研究一些优化算法。我发现了一个非常有趣的算法,叫做模拟退火。根据我的理解,我们的初始点变成了一个分布,而不是一个实际点。它也与初始“温度”有关,但主要思想是“冷却”。也就是说,当你达到局部优化时,尝试一些“转移”的情况。从而克服了局部最优陷阱。我想知道的是模拟退火也是一种蒙特卡罗方法。不同之处在于,蒙特卡罗在全局范围内有效,而模拟退火在局部范围内有效。我的想法正确吗?

不,这不是一种蒙特卡罗方法,但你的比较并不愚蠢。退火是概率的,但在某种程度上并不完全符合蒙特卡罗的特征

主要的区别在于过程中对分布的定义。蒙特卡罗通过经验模拟分布来确定解决方案。退火在搜索时改变了分布定义,逐渐对每个状态转换的“邻居”概率定义施加了更严格的限制


您可能会被退火的常见图示分散注意力,因为该概念通常并行应用,作为图像每个像素的局部分辨率方法。这是一个局部应用程序,蒙特卡洛法并不适用——同样,你的想法可能很准确,即使它在形式上并不完全正确。

除了两种方法都使用(伪)随机数(因此是随机算法)这一事实之外,它们非常不同:

  • Monte Carlo测试解空间中或多或少均匀分布的无关点
  • 模拟退火从一个点开始,通过改变最新的点来创建通过解空间的路径。根据当前的“温度”,改变产生的差异和一个随机数,新点被接受或旧点被保留。这种方法适用于好的解决方案往往被其他好的解决方案包围的解决方案空间。通过逐渐降低“温度”,人们希望强制算法将当前点带入解空间中越来越好的区域

    • 我不同意这里的其他答案。模拟退火(Metropolis-Hastings算法[1953])在很大程度上是一种蒙特卡罗方法。见鬼,Metropolis给这类方法取名为“Monte Carlo方法”。

      感谢您的回复。我将实现模拟退火。希望这个实现能帮助我更清楚地对它们进行分类。你的研究发现“蒙特卡罗方法”有什么意义&这说明了答案是什么?