概览
Phoenics 是一种用于优化评估成本高昂的目标的算法,包括物理实验和复杂计算。它结合贝叶斯优化与贝叶斯核密度估计的思想,为全局优化提出参数点。它的作用是推荐下一步要评估的参数;实验或计算则负责提供相应的目标值。README 记录了序贯和可并行化的批量工作流,并提供了周期性参数和多目标的单独示例。
文档所述的 Python 接口会从配置文件创建一个 Phoenics 实例,并通过 phoenics.choose(observations = observations) 传入先前的观测。输出是一组建议的参数。待这些参数在外部完成评估后,可将得到的观测用于下一轮推荐。因此,Phoenics 可作为迭代式实验规划的候选组件,而非完整的实验室执行系统。来源摘录未说明完整的配置或观测数据模式,因此实现时应从链接示例入手。
对于多目标情形,如果配置定义了多个目标,Phoenics 会自动使用 Chimera。Chimera 根据重要性层级和可接受性能下降的相对容差,将目标值转换为单一标量值。它也作为独立封装器提供,可供其他单目标优化器使用。README 列出了 PyMC3 和 Edward 作为替代的概率建模库,并报告了使用 Python 3.6 和特定历史版本依赖项进行测试。README 还标明该仓库仍在建设中;这些摘录无法证明当前环境兼容性,也未提供定量性能结果。
主要功能
- 将贝叶斯优化与贝叶斯核密度估计相结合,用于全局优化评估成本高昂的目标。
- 通过文档所述的 `phoenics.choose(observations = observations)` 接口,根据先前观测推荐新的参数点。
- 支持序贯优化和可并行化的批量优化,并分别提供了对应示例。
- 通过专门的优化示例说明了对周期性参数的支持。
- 对于包含多个目标的配置,会自动应用 Chimera,并使用目标优先级和相对容差。
- 单独提供 Chimera 作为封装器,可将多个目标值转换为标量目标,供其他优化方法使用。
使用场景
- 拟议评估:使用序贯示例,评估一个迭代式化学实验规划循环,其中测量结果用于指导下一次参数推荐。
- 拟议评估:评估适用于可并行执行的高成本计算或实验的批量推荐。
- 拟议评估:使用 Chimera,探索带有明确优先级层级和可接受性能下降容差的多目标实验规划。
- 拟议评估:研究文档所述的虚拟机器人自动校准示例,将其作为校准工作流的起点。
使用方式
- 阅读官方 README,了解推荐循环、安装选项和列出的依赖项。将其中报告的 Python 3.6 测试视为历史证据,而非当前兼容性的确认。
- 选择序贯示例或批量示例,在准备自己的输入数据前查看配置和观测数据的表示方式。
- 按照文档所述的设置流程操作,然后从配置文件创建 Phoenics 实例。向
phoenics.choose(observations = observations)提供先前的观测,以请求推荐的参数点。 - 通过实验或计算评估这些参数点,记录目标值,并将新观测反馈到下一轮推荐中。初期应在受控示例上评估此工作流。
- 对于多目标情形,请参阅多目标示例,并定义优先级和容差。如果参数需要按周期性方式处理,请参阅周期性参数示例。