如何优化输入参数?

时间:2015-10-22 14:39:30

标签: machine-learning

我正在寻找合适的机器方法来优化大约五个程序参数。我所拥有的是一张不断增长的表,其中包含过去的结果。

在这种情况下,哪种机器学习方法可以很好地发挥作用?

编辑:

训练数据是一个简单的表格:

时间| P1 | P2 | P3 | P4 |经过的时间

大约有20万行并且稳定增长。优化是最小化“经过的时间”,这也取决于除参数之外的其他因素,但参数是每个样本中最大的影响。

我正在寻找推荐类型的神经网络(或其他方法)。我考虑过反向传播或PSO,但我缺乏经验(只编码GA)来决定从哪里开始。

1 个答案:

答案 0 :(得分:1)

是的,这是一个很大的帮助。请注意,StackOverflow被定义为特定问题的位置。但是,我认为这个很简单。

我不知道这可能有多大帮助;我试图简单地开始。

您有足够的数据库来构建预测模型;我从逻辑回归开始,看看它如何预测自己的训练数据。你有ANN软件可以让你'播种'#34;用这样的模型学习?这将使你获得两全其美。

如果传入的数据最终将主导初始数据(比如,增长至少10倍),那么我建议使用神经网络,即使你必须从头开始。输出是否连续依赖于每个输入?换句话说,任何输入的微小变化是否只会使输出发生微小变化 - 或者某些数据值是否有大的跳跃?如果变化是连续的,那么你对反向传播的想法应该效果最好。

您可以选择计算方法吗?经典的梯度下降是开始的地方。如果它对于实际数据不够灵活,那么你可以尝试转向逻辑或高斯。

您是否决定过培训的错误功能(成本函数)?最小二乘是一个经典的选择,但适当的功能取决于你想要的训练"形状":你必须适应"正常"案件准确度很高?你需要一个特别光滑的brane(超平面)吗?你能容忍更远离异常值吗?

幸运的是,您有少量输入的大量数据;这为您提供了很多实验空间。不要害怕在早期实验中添加额外的术语。例如,您可以为每个变量加载一个具有大量变化的梯度下降:x,x ^ 2,x ^ 3,sqrt(x),ln(x),Atan(x)等。