LSTM时间序列hyperparameter优化使用贝叶斯优化
80(30天)
显示旧的评论
我工作时间序列回归问题。我想优化LSTM hyperparamters使用贝叶斯优化。我有三个输入变量和输出变量。
我想优化隐藏层的数量,数量的隐藏的单位,小批量大小、L2正规化和最初的学习速率。代码如下所示:
numFeatures = 3;
numHiddenUnits = 120;
numResponses = 1;
层= […
sequenceInputLayer (numFeatures)
lstmLayer (numHiddenUnits“OutputMode”,“序列”)
fullyConnectedLayer (numResponses)
regressionLayer];
选择= trainingOptions (“亚当”,…
“MaxEpochs”maxEpochs,…
“MiniBatchSize”miniBatchSize,…
“InitialLearnRate”optVars.InitialLearnRate,…
“动量”optVars.Momentum,…
“GradientThreshold”,1…
“洗牌”,“永远”,…
“L2Regularization”optVars.L2Regularization,…
“阴谋”,“训练进步”,…
“详细”,0);
网= trainNetwork (XTrain、YTrain层,选择);
Xval YPredicted =预测(净,“MiniBatchSize”1);
valError = 1 -意味着(YPredicted = = Yval);
提前谢谢。
0评论
答案(3)
epic
2019年5月10日
这里有一个例子使用卷积网络而不是LSTM网络。你LSTM案例应该非常相似:
//www.tatmou.com/help/deeplearning/examples/deep-learning-using-bayesian-optimization.html
豪尔赫·卡尔沃
2021年5月27日
如果你有R2020b或更高版本,您可以使用实验管理器应用程序运行hyperparameters的贝叶斯优化确定最佳组合。有关更多信息,请参见
//www.tatmou.com/help/deeplearning/ug/experiment-using-bayesian-optimization.html
。
2的评论
豪尔赫·卡尔沃
2021年5月27日
每次运行一个实验,实验管理器将发现的最佳组合hyperparameters对于一个给定的设置。指定你所说的最好的,你可以选择从一些标准客观指标(包括验证准确性,我认为这就是最初的问题是使用)或者你可以定义你自己的。
如果你想找到最好的组合hyperparameters 200年为每个数据集,然后你会:
- 设置实验第一数据集。
- 运行实验。
- 修改setup函数加载下一个数据集。
- 再次运行实验。
- 重复步骤3和4。
这相当于运行200个不同的实验。光明的一面,除非你的目标函数取决于数据集,你不会需要重新编码。