我正在为前馈神经网络开发一种受神经科学启发的训练算法。比较的自然基准是反向传播。所以我需要知道反向传播(以及前馈神经网络)最适合哪种分类问题。此外,由于我最终想超越反向传播,当涉及到反向传播擅长的问题时,哪些非神经网络算法是反向传播的最佳替代方案。
或者,换句话说,我应该对前馈网络的哪些问题进行基准测试,以及解决这些问题的算法是什么?
我正在为前馈神经网络开发一种受神经科学启发的训练算法。比较的自然基准是反向传播。所以我需要知道反向传播(以及前馈神经网络)最适合哪种分类问题。此外,由于我最终想超越反向传播,当涉及到反向传播擅长的问题时,哪些非神经网络算法是反向传播的最佳替代方案。
或者,换句话说,我应该对前馈网络的哪些问题进行基准测试,以及解决这些问题的算法是什么?
一般来说,利用反向传播的前馈网络非常适合分类任务,在这些任务中有许多需要集成的概率线索。它们显然被用于许多其他事情,但这是一个驱使许多人使用它们的例子——很难以更赫比的方式来捕捉这种学习。
在任何情况下,如果你有多个概率线索,这些线索可能是有限的,但在分类中的使用机会很大,它们可以以认知合理的方式进行整合(如儿童的自然语言习得)——多个线索的整合,任何其中一个是分类本身的弱提示,可以导致非常强大的分类性能。
对于这种带有多个线索的分类,AdaBoost将是一种合适的(并且相当完善的)算法,可用作基线。
现成的支持向量机可能会与 AdaBoost 的性能相媲美。如果您正在寻找人们已经熟悉的基线分类器,那么您绝对应该对其中至少一个使用 SVM。还有一些方法将 AdaBoost 与 SVM 相结合。
最初这个答案讨论了神经网络的替代学习算法和拓扑。编辑后,答案分为三部分:
第 1 部分 反向传播算法可以帮助解决存在判别式的问题,该判别式可以帮助将正输入与负输入分开,通常在没有连接的网络中在其拓扑中的神经元之间循环(前馈神经网络,如您的问题)。
反向传播通常很慢,并且不能保证收敛并且可能收敛到局部最大值(也就是说,如果你得到的结果比通过稍微改变权重获得的结果更好,它会收敛到一个点)。
第 2 部分 替代神经网络训练算法包括使用遗传算法来进化权重和模拟退火。这些可以消除与缓慢收敛相关的问题以及神经元之间循环连接的问题。
用于递归神经网络(通常是 Hopfield 网络)的赫布学习是另一种选择。Hebbian 学习是稳健的,Hopfield 证明 Hebbian 学习将收敛于 Hopfield 网络。
您还可以考虑将您的神经网络与模块化神经网络进行比较,例如由多个神经网络组成的机器委员会,每个神经网络都有自己的训练算法或关联神经网络。
这种模块化神经网络将需要更多的空间和时间来使用,但如果它们的拓扑结构针对手头的特定问题设计得很好,最终可能会表现得更好。
第 3 部分
要考虑的流行替代方案包括支持向量机(广泛用于欺诈分析和网络入侵检测等领域)。
遗传算法和模拟退火(作为独立算法,不与神经网络结合使用)。
最后一组要考虑的算法是群算法,例如蚁群优化。该组中的某些算法(例如连续正交蚁群优化)对于解决某些问题可能非常强大。
您可能会考虑使用某种聚类算法。根据您的问题,K-Medoids 或基于密度的聚类可能有用。
根据您的问题,机器视觉算法也可能有用。例如,Milanfar基于本地回归内核的算法 http://users.soe.ucsc.edu/~milanfar/research/computer-vision.html 也可能有用。
要使用的确切算法可能取决于您面临的确切问题。有些算法在某些情况下会很好,但在另一些情况下会很糟糕。就我个人而言,我不相信有一个算法可以完美地解决所有问题(如果我们会使用它),因此您需要根据您将使用的场景来决定要进行基准测试的算法它。