14

我不是数学家。我喜欢一个很好的数学难题,但我全心全意地承认我的弱点。也就是说,我一直对神经网络很感兴趣,虽然我对它们的了解足以从头开始实现它们,但当我需要理解任何只能找到数学证明的概念时,我就碰壁了。程序员的神经网络指南在哪里,用代码而不是公式来解释实际推理?

4

5 回答 5

10

另一种选择是非数学、非编程的解释。Blondie24: Playing at the Edge of AI一书对神经网络做了很好的解释。这是关于作者开发的跳棋AI。它并非完全没有编程参考,但它很好地解释了算法是如何工作的,而无需进入解决方案的代码。

于 2008-11-23T17:17:50.770 回答
3

不幸的是,我不知道是否有一个好的单一“程序员资源”可以为您提供所有概念。我喜欢Neural and Adaptive Systems: Fundamentals through Simulations

对神经网络有“程序员的理解”的最好方法不是检查代码,而是检查问题和正确的结果。所以,如果你不想看数学,我建议你看一个给定的问题。例如,将 XOR 问题作为为什么需要非线性激活函数的示例,查看变量的数量及其可能值以了解为什么神经网络需要具有一定的大小和拓扑才能有效,以及将您的数据拆分为训练/测试方案并进行研究以了解为什么过度拟合是危险的。用数据检查代码。

我还建议不要太挂断电话,而是进一步阅读。一旦您看到它们在循环和建设性神经网络中的泛化,前馈网络中的某些实践就会变得更加清晰。我还建议扩大范围:贝叶斯网络、模糊认知图、SOM、玻尔兹曼机、模拟退火和强化学习都有直觉。

这是否有助于回答您的问题?

于 2008-11-23T15:50:31.290 回答
0

您需要对 Pascal 或 Delphi 有一点了解,但ThinkQuest 的这个概述从编程的角度来看非常有帮助。它还解释了一些困难以及为什么数学看起来有点吓人。(我也不是数学家。)

不久前,我对这类事情非常感兴趣(大部分情况下仍然如此),并寻找一些我可以很快跟进的演练。

希望至少有一点帮助。

于 2008-11-23T16:30:29.930 回答
0

我个人使用过:

C++ 中的实用神经网络食谱

http://www.amazon.com/Practical-Neural-Network-Recipes-C/dp/0124790402/ref=pd_bxgy_b_img_b/179-4083507-8029219

在我看来,作者并没有充分利用 C++ 更强大的功能,在很多情况下它读起来更像是带有类的传统 C。这本书现在也有点过时了。

但是 - 如果您需要解释神经网络中使用的算法和技术,并以聪明的外行可以理解的方式进行解释,以便您可以离开并自己尝试这些东西,那么我肯定会尝试这本书。这里没有太多的肚脐凝视,这是我喜欢的。

它将带您了解编写神经网络所需的所有主要内容 - 如何将实际输出与期望的输出进行比较以获得错误信号,然后将此错误信号与反向传播算法结合使用来修改网络链接连接优势,迭代地执行此操作,以便神经网络逐渐“学习”任务。

于 2008-12-03T16:07:54.000 回答
0

我写了一篇几乎完全是这个标题的文章。本文描述了如何将数据表示为神经网络,以及其他机器学习方法,例如支持向量机。

http://www.heatonresearch.com/content/non-mathematical-introduction-using-neural-networks

于 2011-03-03T22:20:58.943 回答