我需要模拟一个优化时变目标函数的代理(以下详细信息)。我试图通过对最近的试验给予更大的重视和/或完全忘记较旧的试验来做到这一点。这就是this论文的目的。
我正在寻找实现此目的的Python库。 Hyperopt似乎通过其tpe.suggest
函数提供了“线性遗忘”功能,this paper甚至说他们使用Hyperopt来做到这一点。
但是,此功能(如果存在)尚未记录,我甚至不确定在Hyperopt中是否已正确实现(请参见this issue)。
因此,对于任何有关如何使用Hyperopt(或任何其他库)执行此操作的提示或指针,我将不胜感激。
重申一下,这就是我要实现的目标(来自http://proceedings.mlr.press/v28/bergstra13.pdf):
相对于Bergstra等。 (2011),我们对搜索算法做了两个小的修改。第一种修改是随着年龄的增长而降低体重,以免旧的结果不如最新的结果重要。我们充分考虑了最近的25个试验,并对较早的试验应用了从0到1.0的线性渐变。这是对TPE假定超参数独立性的启发式让步:随着搜索在空间中的移动,我们将实验中的时间距离作为搜索空间中距离的替代。
有关该问题的更多详细信息:我正在离散时间模拟一个市场,在该市场中,每个时期,人们选择一个价格,然后尝试找到一个匹配项。他们随着时间的推移了解收益(作为价格的函数),并尝试通过选择下一个更好的价格来最大化收益。但是,由于其他所有人都在做同一件事,因此收益和最优价格会随着时间而变化。因此,我希望代理人对最近的观察结果给予更大的重视。