multi-objectives

runhistory 转换成 单个cost 的工具

RunHistoryLogScaledEncoder 基类: AbstractRunHistoryEncoder

通过重载 _build_matrix() 方法实现

数据收集用来做模型训练的方法

ConfigSelector

  • 通过 self._collect_data() 实现收集
  • 通过 self._get_x_best() 实现选取最优点 (X,y) 单目标 cost 数据

多目标代理模型类

MultiObjectiveModel

它不是自己可以直接预测多个目标,而是内部包含 len(multi_objectives) 个小的机器学习模型,分别预测每个目标

  1. 单独训练每个模型
  2. 单独预测每一个目标
  3. 多个模型的预测结果合在一起 –> 多目标预测

没有实现低层的多目标预测支持

  1. v1.3.4 一样,通过 multi_objective_algorithm 实现把多目标(Y)合成单个目标 cost (y)
  2. 虽然提供了一个 MultiObjectiveModel, 但是没有提供成套的, 训练 + =预测=​基础工具支持

    • X, y = ConfigSelector._collect_data() 收集到的数据是单目标 cost, X, y

      • ConfigSelector._model.train 训练的是单cost y 的数据
    • incumbent_x_array, incumbent_value ConfigSelector._get_x_best(X)

      • 收集到的y, 内部也没有做多目标的检查和转换成单目标处理流程

SMBO 贝叶斯优化循环

SMBO.optimizer() 优化流程

主要流程环节

  1. SMBO.ask() 生成 config
  2. SMBO._add_results() 添加样本点(执行结果)

    • SMBO.tell()