我正在解决一个有趣的机器学习问题,并且很想听听是否有人知道一个好的算法来处理以下问题:
- 算法必须学会逼近N 个输入和M 个输出的函数
- N 相当大,例如1,000-10,000
- M 非常小,例如5-10
- 所有输入和输出都是浮点值,可以是正数或负数,绝对值可能相对较小,但不能绝对保证边界
- 每个时间段我得到 N 个输入并需要预测 M 个输出,在时间段结束时提供 M 个输出的实际值(即,这是一种需要在线学习的监督学习情况)
- 底层函数是非线性的,但不是太讨厌(例如,我希望它在大部分输入空间上都是平滑和连续的)
- 函数中会有少量噪声,但信号/噪声可能很好 - 我预计 N 个输入将解释 95% 以上的输出值
- 基础功能随着时间的推移而缓慢变化- 不太可能在单个时间段内发生剧烈变化,但可能会在 1000 多个时间段范围内发生轻微变化
- 没有隐藏状态需要担心(除了改变函数),即所有需要的信息都在 N 个输入中
我目前正在考虑某种具有大量隐藏节点的反向传播神经网络可能会起作用 - 但这真的是这种情况的最佳方法吗?它会处理不断变化的功能吗?