【发布时间】:2018-01-03 06:42:30
【问题描述】:
我正在使用 scikit-learn 的 GridSearchCV 迭代参数空间来调整模型。具体来说,我用它来测试神经网络中的不同超参数。格子如下:
params = {'num_hidden_layers': [0,1,2],
'hidden_layer_size': [64,128,256],
'activation': ['sigmoid', 'relu', 'tanh']}
问题是当隐藏num_hidden_layers 设置为0 时,我最终会运行冗余模型。它将运行一个有 0 个隐藏层和 64 个单元的模型,另一个有 128 个单元,另一个有 256 个单元。所有这些模型都是等价的,因为没有隐藏层。这是非常低效的,这意味着我需要编写更多代码来消除结果中的冗余。
有没有办法防止这种参数组合,也许是通过传递一个参数元组?
【问题讨论】:
-
我应该补充一点,这个问题与这里提到的不同,用户想要跳过会产生错误的“禁止”组合:stackoverflow.com/questions/43009566/…
标签: python machine-learning parameters scikit-learn grid-search