Deep learning 云计算ml引擎scaleType实现
我正在尝试使用scikit optimize(skopt)实现google cloud ml引擎的超参数调优功能。我不确定如何将ml引擎一致地转换为“sDeep 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.
prior
s”
Uniform非常简单,log Uniform看起来在每个方面都有一个等价物,但我不能完全确定实现是否一致。如果LOG\u SCALE
与skopt
之前的LOG uniform
一致,我也不确定如何实现ml引擎的单位反向\u LOG\u SCALE
。log uniform
分布似乎与远离0
的参数的行为不符-例如,如果您希望在0.9
和0.999
之间缩放,则分布接近均匀(见下面的第一个图)
使用skopt
slog 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引擎
执行自定义反向日志统一
反向日志刻度
单位对数缩放可行空间至[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的问题,而不是关于实现的问题。