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