Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Deep learning 云计算ml引擎scaleType实现_Deep Learning_Google Cloud Ml_Hyperparameters_Scikits - Fatal编程技术网

Deep learning 云计算ml引擎scaleType实现

Deep learning 云计算ml引擎scaleType实现,deep-learning,google-cloud-ml,hyperparameters,scikits,Deep Learning,Google Cloud Ml,Hyperparameters,Scikits,我正在尝试使用scikit optimize(skopt)实现google cloud ml引擎的超参数调优功能。我不确定如何将ml引擎一致地转换为“spriors” Uniform非常简单,log Uniform看起来在每个方面都有一个等价物,但我不能完全确定实现是否一致。如果LOG\u SCALE与skopt之前的LOG uniform一致,我也不确定如何实现ml引擎的单位反向\u LOG\u SCALE。log uniform分布似乎与远离0的参数的行为不符-例如,如果您希望在0.9和0.

我正在尝试使用scikit optimize(skopt)实现google cloud ml引擎的超参数调优功能。我不确定如何将ml引擎一致地转换为“s
prior
s”

Uniform非常简单,log Uniform看起来在每个方面都有一个等价物,但我不能完全确定实现是否一致。如果
LOG\u SCALE
skopt
之前的
LOG uniform
一致,我也不确定如何实现ml引擎的
单位反向\u LOG\u SCALE
log uniform
分布似乎与远离
0
的参数的行为不符-例如,如果您希望在
0.9
0.999
之间缩放,则分布接近均匀(见下面的第一个图)

使用skoptslog uniform和以下几个自定义转换进行编码和可视化

#!/usr/bin/python
import numpy as np
import matplotlib.pyplot as plt
import skopt


def sample_custom_log_uniform(min_val, max_val, n_samples):
    sample = skopt.space.uniform(0, 1).rvs(n_samples)
    return min_val + (10 ** sample - 1) / 9 *(max_val - min_val)


def sample_custom_reverse_log_uniform(min_val, max_val, n_samples):
    sample = skopt.space.uniform(0, 1).rvs(n_samples)
    return max_val - (10 ** sample - 1) / 9 *(max_val - min_val)


def sample(min_val, max_val, prior='log-uniform', n_samples=100000):
    if prior == 'custom-log-uniform':
        return sample_custom_log_uniform(min_val, max_val, n_samples)
    elif prior == 'custom-reverse-log-uniform':
        return sample_custom_reverse_log_uniform(min_val, max_val, n_samples)
    else:
        return skopt.space.Real(min_val, max_val, prior=prior).rvs(n_samples)


priors = (
    'log-uniform', 'custom-log-uniform', 'custom-reverse-log-uniform')
fig, axes = plt.subplots(1, len(priors))
for (prior, ax) in zip(priors, axes):
    ax.hist(sample(0.9, 0.999, prior))
    ax.set_title(prior)
    ax.set_yticklabels([])

plt.show()

我的问题是:

  • ml引擎
    是否将
    LOG_SCALE
    作为上面提到的
    LOG uniform
    custom LOG uniform
    执行,或者执行其他操作
  • ml引擎
    是否按照上面的
    自定义反向日志统一
    执行
    反向日志刻度

云ML引擎不使用scikit learn进行超参数调优,而是使用自定义实现,允许我们提供最先进的结果。

对于具有可行区域[a,b]的参数:
单位对数缩放可行空间至[0,1]。这将值x映射到log(x/a)/log(b/a)
UNIT\u REVERSE\u LOG\u SCALE
以对数方式将可行空间“REVERSE”缩放为[0,1]。这将值x映射到1.0-log((b+a-x)/a)/log(b/a)

我知道我自己的实现不会完全相同。我主要是想更好地理解
反向日志规模
的实际含义。这是关于API的问题,而不是关于实现的问题。