如何使用MOE调整机器学习超参数?

时间:2015-10-19 01:24:35

标签: machine-learning hyperparameters

我正在尝试使用Yelp创建的“公制优化引擎”MOE来调整机器学习算法的超参数。他们的文档有点受限,我很难找到要遵循的例子。

根据以下分布,我想为Support Vector Machine找到CGammakernel type的最佳值:

SVC_PARAMS = [
    {
        "bounds": {
            "max": 10.0,
            "min": 0.01,
        },
        "name": "C",
        "type": "double",
        "transformation": "log",
    },
    {
        "bounds": {
            "max": 1.0,
            "min": 0.0001,
        },
        "name": "gamma",
        "type": "double",
        "transformation": "log",
    },
    {
        "type": "categorical",
        "name": "kernel",
        "categorical_values": [
            {"name": "rbf"},
            {"name": "poly"},
            {"name": "sigmoid"},
        ],
    },
]

我想要最大化的目标函数是我训练集的accuracy score

如何使用MOE's api完成此操作?

1 个答案:

答案 0 :(得分:1)

MOE不支持分类变量,它只允许连续的超参数。要实现您所寻找的目标,您可以将每个分类实例视为一个单独的问题进行优化,然后使用MOE examples中概述的流程。最后,您可以从每种内核类型的调优模型中选择最佳模型。

或者您可以使用由创建MOE的团队构建的SigOpt。我们以MOE开始的大量工作为基础并进行了扩展。它支持连续,整数和分类参数以及MOE中没有的许多其他功能和增强功能。我们在this blog post中概述了这个确切的示例,并在帖子中提供了示例代码。您可以在我们的免费试用级别或我们的免费学术级别中运行此示例。

相关问题