假设我正在以固定的速率(例如每秒一次)对多个信号进行采样,并从这些信号中提取一些指标,例如,一个与另一个的比率、变化率、相对变化率等。
我听说神经网络在发现关系方面很有用。这是真的吗?
如果是这样,我可以使用哪些书籍/互联网资源来了解有关如何做到这一点的更多信息。
正在进行的处理是Java,所以对您的所有答案进行Java倾斜将是最好的。
谢谢
发布于 2009-11-11 05:15:35
最有可能的情况是,您需要确定某种“窗口”,比如最后10个样本。你可以将你的信号归一化成一个10个“双精度”的数组,在-1和1之间进行归一化,这将形成神经网络的“输入”。所以你会有10个输入神经元。然后你必须决定你想要的输出是什么。也许你有100个不同的分类,你可能想要将信号分类到其中。如果是这样的话,你将有100个不同的输出神经元,当它们识别特定的信号时,每个神经元都会经过训练,产生比其他输出神经元更高的输出。
在输入层和输出层之间,神经网络通常有一个或多个隐藏层。这些只是为神经网络提供了额外的功能。
对于Java神经网络编程,您可以尝试使用Encog project。还有一个DotNet版本的Encog。
发布于 2009-11-10 11:58:18
这是事实。您可以使用NN发现关系。问题是,在进行校准后,很难解释权重。因此,它们有点像黑匣子(比其他数据挖掘算法更难)。
实际上,我建议探索MS Analysis Services附带的神经网络算法。在开始编程之前,这是一个学习NNets的好方法(因为它是一个服务器服务,所以您可以从java调用它)。
https://stackoverflow.com/questions/1705358
复制相似问题