神经网络:是否应该针对每种情况重写算法?



我有两个数字序列,我想继续使用神经算法(其中有一些逻辑,但我不知道是什么,没有外部因素影响选择)。这两个序列之间存在一定的联系。

所以,我是机器学习的新手,但我有这样一个想法:是否有任何已经写好的并且运行良好的应用程序(库)实现了精确的算法,我不用在使用之前学习它们。就像"最常用的神经算法工具包"。

我正在考虑分析一些乐谱和两个序列:"音符"one_answers"持续时间"。

好的,根据评论,我想我得到了你想要的。

一般来说,不需要重写人工神经网络的标准算法。但要注意,人工神经网络不是一个算法,而是一个算法的集合(包括反向传播-ANN、Hopfield-ANN、Boltzmann Machine等)。其中我推荐BP-ANN,它简单,适合你的项目。您可能希望输入已知音符和持续时间的序列,然后期望输出下一个音符和持续时间。

要使用BP-ANN,您不需要重写它们。由于它是一种广泛使用的算法,因此有许多工具包和开源实现:

    谷歌"back propagation neural network implementation",你会很容易找到它。在Github上也有一些开源项目(C语言和Matlab): https://github.com/search?q=back+propagation&type=Everything&repo=&langOverride=&start_value=1
  1. 如果您还想深入了解其实现的细节,请阅读此:http://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=1279&context=ecetr&sei-redir=1

如果你对神经网络感兴趣,有很多可用的库。ANNIE就是这样一个开源的例子,是MATLAB神经网络工具箱中的一个商业的例子。这些是图书馆,你可以告诉它的结构神经网络,可以训练,测试,验证等。最重要的部分这些机器学习方法就是你如何表示你的数据,那些是你得到的评论(例如Predictor的评论)。有时你会得到一个代表取得了优异的成绩,而其他代表取得了非常糟糕的成绩。

也有一些库用于训练支持向量机(一种专门用于训练神经网络的算法)LIBSVM就是一个很好的例子。

在使用神经网络预测时间序列方面也有大量的工作这就是你想做的音乐,我不确定你到底想要什么)。

如果输入是一系列(音符,持续时间)对,那么我怀疑你可以通过总结历史音符到音符的转换或通过类似的方法来捕获音乐的语法(马尔可夫分析等),而不是将其填充到神经网络中。也可以尝试用音符差来表示这个系列,测量新音符在音阶上上升或下降了多少个音符,而不是音符本身的实际值。

最新更新