Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.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_Hill Climbing - Fatal编程技术网

Algorithm 快速爬山算法,可在接近最优时稳定

Algorithm 快速爬山算法,可在接近最优时稳定,algorithm,machine-learning,hill-climbing,Algorithm,Machine Learning,Hill Climbing,我有一个来自[1500]的浮点数x,它以某种概率生成1的二进制y。我试图找到能产生最多1或具有最高p的x。我假设只有一个最大值 是否有一种算法可以快速收敛到x,具有最高p,同时确保在e.x.达到最佳x的0.1%以内时不会跳得太多?具体来说,如果它在接近最佳x的

我有一个来自
[1500]
的浮点数
x
,它以某种概率生成
1
的二进制
y
。我试图找到能产生最多
1
或具有最高
p
x
。我假设只有一个最大值

是否有一种算法可以快速收敛到
x
,具有最高
p
,同时确保在e.x.达到最佳
x
的0.1%以内时不会跳得太多?具体来说,如果它在接近最佳
x
的<0.1%时稳定下来,那就太好了

我知道我们可以用模拟退火来实现这一点,但我不认为我应该硬编码温度,因为当
x
可能来自
[1300]
或者
p
分布不同时,我需要使用相同的算法。

提供了一种智能爬山算法。基本上是以n个样本为起点。算法如下(针对您的问题简化为一维):

  • 在搜索空间中选取
    n
    采样点。在本文中,他使用线性超立方体抽样,因为本文中的数据的维数被假定为较大。在您的例子中,因为它是一维的,所以您可以像往常一样使用随机树苗
  • 对于每个采样点,从其“局部邻域”收集点,并找到最佳拟合的二次曲线。从二次曲线中找到新的最大候选值。如果新的最大候选目标函数实际高于上一个,则将样本点更新为新的最大候选目标函数。在每次迭代中使用较小的“局部邻域”大小重复此步骤
  • 使用采样点中的最佳点
  • 重新启动:重复步骤2和3,然后比较最大值。如果没有改善,停止。如果有改进,请再次重复