问题标签 [hyperparameters]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1705 浏览

r - r-caret 中的随机搜索

trainControl()我最近在插入符号的Funktion中遇到了随机搜索选项。插入符号是如何生成参数的,有没有办法提供某种用户特定的输入(例如,从中采样参数的分布)?在网站上我只找到了这个报价:

插入符号中包含的内置模型包含生成随机调整参数组合的代码

例如,我尝试mxnet使用插入符号和随机搜索:

使用此代码,插入符号对第一层上的神经元数量和其他参数(学习率、动量、辍学和重复)进行了合理的采样,但将第二/第三层保持为零。有没有办法告诉插入符号从例如 [25, 150] 以均匀分布对所有三层进行采样?

0 投票
2 回答
8901 浏览

python - Pyspark - 获取使用 ParamGridBuilder 创建的模型的所有参数

我正在使用 PySpark 2.0 进行 Kaggle 比赛。我想知道模型(RandomForest)的行为取决于不同的参数。ParamGridBuilder()允许为单个参数指定不同的值,然后执行(我猜)整个参数集的笛卡尔积。假设 myDataFrame已经定义:

好的,现在我可以使用手工制作的功能检索简单的信息:

现在我想要几件事:

  • 最佳模型的参数是什么?这篇文章部分回答了这个问题:如何从 PySpark 中的 spark.ml 中提取模型超参数?
  • 所有型号的参数是什么?
  • 每个模型的结果(又名召回、准确率等)是什么?我只发现print(model.validationMetrics)显示(似乎)包含每个模型的准确性的列表,但我无法知道要引用哪个模型。

如果我可以检索所有这些信息,我应该能够显示图形、条形图,并且可以像处理 Panda 和sklearn.

0 投票
1 回答
178 浏览

java - H2O 中的 GridSearch API

我正在尝试将GridSearchScala 中的 api 用于H2O。我找到了这个文档,它显示了在 R 和 Python 中做什么,但是 Java 文档在实际获得最佳模型之前就停止了。谁能告诉我最后几行?IE 给出了Grid<MP>如何获得最佳超参数组合或最佳模型?

编辑

这是我的代码到目前为止的样子(它在 Scala 中,但显然我正在调用 H2O 中的 Java 代码)。

关键问题是我不知道如何写最后两行。

所以经过一番挖掘后,我想出了这个我不喜欢的解决方案,但它确实有效

0 投票
0 回答
146 浏览

libsvm - 我应该什么时候对 SVM 进行网格搜索?

我正在使用 LibSVM 进行 3D 医学图像分割。我有一个包含 15 个患者病例的数据集。从每个患者病例中,我随机选择 1000 个体素作为样本。我对患者病例使用留一法交叉验证,这样就有 15 次学习测试。

在学习测试的每个过程中,我使用网格搜索方法找到最佳超参数 C 和 gamma。然而,网格搜索花费了太多的处理时间,以至于我无法使用更多的样本来进行训练测试。

我的问题是什么时候应该进行网格搜索以找到最佳超参数?

有朋友告诉我,我只需要在更改特征组合后重做网格搜索。但是,我对此并不感到安全。因为即使在 15 次学习测试中,我也能得到几对不同的最佳 C 和 gamma,这仅仅是训练样本的 1/14 部分差异造成的。

另一方面,考虑到过度拟合,我想知道是否有必要使用从训练数据集中获得的最佳超参数。我可以使用我在之前的实验中获得的超参数和一些不同的实验,而不是再次重做耗时的网格搜索吗?

0 投票
1 回答
1070 浏览

python-2.7 - 执行 python scikit-learn 网格搜索方法时出现无效参数错误

我正在尝试学习如何使用 scikit-learn 的 GridSearchCV() 方法在决策树分类器中找到最佳超参数。

问题是如果我只指定一个参数的选项很好,如下所示:

结果:

但是当我将另一个参数的选项添加到组合中时,它会给我一个“无效参数”错误,如下所示:

结果:

0 投票
1 回答
6838 浏览

python - keras/scikit-learn:使用 fit_generator() 进行交叉验证

是否可以将Keras 的 scikit-learn APIfit_generator()方法一起使用?或者使用另一种方式来产生批次进行训练?我正在使用 SciPy 的稀疏矩阵,在输入到 Keras 之前必须将其转换为 NumPy 数组,但由于内存消耗高,我无法同时转换它们。这是我产生批次的功能:

和带有交叉验证的示例代码:

为了进一步解释,它使用所有可能的超参数组合param_grid来构建模型。然后在训练测试数据拆分上对每个模型进行训练和测试(然后在提供的训练测试数据拆分(折叠StratifiedKFold。然后给定模型的最终分数是所有折叠的平均分数。

那么是否有可能在上面的代码中插入一些预处理子步骤以在实际拟合之前转换数据(稀疏矩阵)?

我知道我可以编写自己的交叉验证生成器,但它必须生成索引,而不是真实数据!

0 投票
1 回答
405 浏览

r - 如何从网格搜索结果中确定 epoch 超参数

我已经运行了一个网格搜索,其中 epochs 作为超参数之一。现在在选择了最佳模型之后,我如何确定为这个特定模型选择了哪个时期?

以下是模型模型详细信息的摘要:==============

0 投票
0 回答
632 浏览

optimization - 使用 scikit 进行嵌套留一题 (LOSO) 交叉验证

我正在努力实现嵌套交叉验证。

我读了这个问题,但我想做一些不同的事情:Nested cross validation with StratifiedShuffleSplit in sklearn

我的数据:我有 26 个科目(每班 13 个)x 6670 个特征。我使用了一种特征减少算法(您可能听说过 Boruta)来减少我的数据的维数。问题从现在开始:我将 LOSO 定义为外部分区模式。因此,对于 26 个 cv 折叠中的每一个,我使用 24 个主题来减少特征。这导致每个 cv 折叠中的特征数量不同。现在,对于每个 cv 折叠,我想使用相同的 24 个主题进行超参数优化(带有 rbf 内核的 SVM)。

这就是我所做的:

但是,我收到以下错误消息:index 25 is out of bounds for size 25

任何帮助将非常感激

0 投票
3 回答
1204 浏览

linear-regression - Spark ML 线性回归 - 调整哪些超参数

我在 Spark ML 中使用LinearRegression模型来预测价格。这是一个单变量回归(x=time, y=price)

假设我的数据是干净的,改进此模型的通常步骤是什么?

到目前为止,我尝试regularization parameter使用cross-validation进行调优,并得到了rmse=15given stdev=30

还有其他我应该关心的重要超参数吗?似乎 Spark ML 没有很好地记录超参数调整......


更新

我能够使用ParamGrid和来调整参数Cross-Validation。但是,有没有办法在正确训练线性回归模型后查看拟合线的样子?我怎么知道线路是quadriccubic等等?如果有一种方法可以用所有训练数据点可视化拟合线,那就太好了。

0 投票
1 回答
655 浏览

optimization - 优化深度网络的超参数

我目前正在尝试为 CLDNN(卷积、LSTM、深度神经网络)提出一种新颖的结构

就像任何其他网络一样,我很难优化超参数。

我想尝试网格搜索和随机搜索来获得一组最佳的超参数,但我不清楚一些事情。

  1. 如果我使用一组临时超参数运行网络模拟,我如何衡量超参数的“优度”?我正在考虑在每次模拟 N 轮后记录成本和训练精度。

  2. 由于每次模拟都需要相对较长的时间(对于我的网络来说,训练一个 epoch 大约需要 70 秒),有没有更快的方法来检查超参数的“好坏”,而无需实际运行完整的训练?

  3. 是否有关于超参数优化的一般提示/建议?