Hyperopt中文文档导读

在2017年的圣诞节前,翻译了有关HyperOpt的中文文档,这也时填补了空白,以此作为献给所有中国程序员,以及所有其他机器学习相关行业人员的圣诞礼物。圣诞快乐,各位。

HyperOpt中文文档导读

翻译的文档已经发布于github,请在我的项目Hyperopt_CN中的wiki查看相应文档.CSDN,知乎同步更新中.

HyperOpt中文版wiki文档内容包括以下内容:

下面是hyperopt的官网首页,作为对其的简单介绍

Hyperopt

在Python中进行分布式异步超参数优化

Font Tian translated this article on 22 December 2017

hyperopt 是一个Python库,可以用来寻找实数,离散值,条件维度等搜索空间的最佳值。

    # define an objective function
    def objective(args):
        case, val = args
        if case == 'case 1':
        return val
        else:
        return val ** 2

    # define a search space
    from hyperopt import hp
    space = hp.choice('a',
        [
        ('case 1', 1 + hp.lognormal('c1', 0, 1)),
        ('case 2', hp.uniform('c2', -10, 10))
        ])

    # minimize the objective over the space
    from hyperopt import fmin, tpe
    best = fmin(objective, space, algo=tpe.suggest, max_evals=100)

    print best
    # -> {'a': 1, 'c2': 0.01420615366247227}
    print hyperopt.space_eval(space, best)
    # -> {'case 2', 0.01420615366247227}

算法

目前两种算法的实现:

  • 随机搜索
  • Tree of Parzen Estimators (TPE)

Hyperopt 设计伊始,是包括基于高斯过程与回归树的贝叶斯优化算法的,但是现在这些都还没有被实现.

同时,Hyperopt所有的算法都可以通过MongoDB进行串行或者并行计算.

安装

用户安装

        pip install hyperopt

开发版安装

    git clone https://github.com/hyperopt/hyperopt.git
    (cd hyperopt && python setup.py develop)
    (cd hyperopt && nosetests)

更多信息,请参见安装说明

文档

文档现在托管在wiki上,但这里有一些相关页面的链接:

实例

wiki中打开Hyperot

posted @ 2017-12-23 15:57  FontTian  阅读(1587)  评论(0编辑  收藏  举报