Cpp中的超参数优化?

时间:2018-05-07 18:15:10

标签: python c++ neural-network deep-learning

我需要将深度神经网络适用于来自数据生成过程的数据,考虑AR(5)。因此,每次观察我有五个特征,每个模拟中有一些大量的N个观测值。我只对每次模拟中性能最佳的DNN的均方根误差感兴趣。

由于这是一个模拟设置,我必须进行大量的模拟,并在每个模拟中为数据拟合神经网络。我能想到这样做的唯一合理方法是在每次模拟时通过超参数优化来适应DNN(dlib的find_min_global将是我的优化者)。

用C ++(慢开发因为我不精通)或Python(更快的迭代,因为我相当熟练)进行这项练习是否有意义。

从我所处的位置来看,C ++或Python在执行时间上可能没有多大差别,因为每次优化器提出一个新的超参数向量时都必须编译模型(我在这里错了吗?)。 如果可以编译一次,并测试下限和上限之间的所有超参数,那么C ++将成为我的解决方案(这是否可以在任何开源DNN语言中使用?)。

如果有人以前做过这个练习,请咨询。

谢谢大家的帮助。

1 个答案:

答案 0 :(得分:1)

看看你的问题,实现这一点的一种方法是使用遗传/进化算法。考虑到我正确理解了您的问题,您希望扫描所有超参数以获得最佳解决方案。

enter image description here

所以,我建议使用python和tensorflow,keras都支持这个。所以这可能不是问题。 注意 - 如果我以不同的方式理解您的问题,请随时纠正我。