什么是学习人工neural network的好资源?

我对人工neural network很感兴趣,但是我正在寻找一个开始的地方。

那里有什么资源,什么是一个好的开始项目?

这里是一些neural network编程的例子。 http://www.codeproject.com/KB/recipes/neural_dot_net.aspx

你可以从这里开始阅读: http : //web.archive.org/web/20071025010456/http : //www.geocities.com/CapeCanaveral/Lab/3765/neural.html

我本人也参观了一个关于它的课程,并通过一些文献工作。

首先,放弃人工neural network与大脑有任何关系,但与生物神经元networking相似的观点。 学习生物学不会帮助你有效地应用neural network; 学习线性代数,微积分和概率论。 你至less应该让自己熟悉函数的基本区分,链规则,偏导数(梯度,雅可比行列式和Hessian行列式),以及理解matrix乘法和对angular化。

当你训练一个networking时,真的是在优化一个大的多维函数(把networking中每个权重的误差最小化),所以对非线性数值优化技术的研究可能是有启发性的。 这是一个广泛研究的问题,在neural network之外有大量的文献,在networking上有很多关于数值优化的讲义。 首先,大多数人使用简单的梯度下降 ,但是这比起更细致的方法可能会慢得多,效果也更差

一旦你掌握了基本想法,你就可以开始在隐藏层中尝试不同的“挤压”function,添加各种正则化和各种调整,使学习更快。 请参阅本文以获取“最佳实践”的完整列表。

关于这个问题的最好的书之一是Chris Bishop的模式识别neural network 。 这个阶段相当老,但仍然是一个很好的资源,你可以经常在网上find二十美元左右的副本。 他的新书“ 模式识别与机器学习 ”中的neural network章节也相当全面。 对于一个特别好的以实现为中心的教程, 请参见CodeProject.com上的这个教程, 该教程实现了一种称为卷积networking的巧妙types的networking,它以一种非常好的学习方式来分类视觉模式。

支持向量机和其他内核方法已经变得非常stream行,因为你可以应用它们而不知道自己在做什么,经常得到可以接受的结果。 另一方面,neural network是巨大的优化问题,需要仔细的调整,尽pipe它们仍然适用于许多问题,特别是计算机视觉领域的大规模问题。

我强烈推荐由Anoop Madhusudanan编写的这个优秀系列。

他通过基本知识来了解他们如何以一种容易理解的方式工作, 并向您展示如何使用他的brainnet库创build自己的。

neural network是最近几年的一个分支。 支持向量机内核方法更适合于更多类的问题,然后反向传播。 neural network和遗传algorithm捕捉对现代机器学习知之甚less的人的想象力,但他们不是最先进的。

如果您想了解更多关于人工智能和机器学习的知识,我build议您阅读Peter Norvig的“ 人工智能:现代方法” 。 这是对人工智能和大量现代技术的广泛调查。 它也覆盖了历史和较旧的技术,并会给你一个更完整的AI和机器学习的基础。

neural network很容易,但。 特别是如果你使用遗传algorithm来确定权重,而不是适当的反向传播。

我第二次dwf的推荐neural network模式识别由克里斯主教。 虽然,这可能不是一个启动文本。 Norvig或在线教程(在Matlab中有代码!)可能会是一个温和的介绍。

一个好的启动项目将是OCR(光学字符识别)。 您可以扫描文本页面并通过networkinginput每个字符以执行分类。 (当然,你必须先训练networking!)。

劳尔·罗哈斯的书是一个非常好的开始(它也是免费的)。 另外, Haykin的第3版虽然体积很大,但是很好解释。

我可以推荐从哪里开始。 我购买了由Kevin Gurney撰写的关于neural network的介绍,这篇文章在亚马逊上有很好的评论,并且被认为是“认知和计算机科学中最重要的主题之一”。 就个人而言,我不会推荐这本书作为开始。 我只能理解大约10%,但也许只是我(英语不是我的母语)。 我要去看看这个线程的其他选项。

http://www.ai-junkie.com/ann/evolved/nnt1.html是对多层感知器的一个清晰的介绍,虽然它没有描述反向传播algorithm

你也可以看看generation5.org,它提供了很多关于AI的文章,并且有一些关于neural network的很棒的文章

如果你不介意花钱, “脑力学与neural network手册”是非常好的。 它涵盖了许多学科研究的287篇文章。 它从一个介绍和理论开始,然后突出文章的path,以最好地掩盖您的兴趣。

至于第一个项目, Kohonen地图对于分类很有意思:在你的音乐collections中find隐藏的关系, build立一个聪明的机器人 ,或者解决Netflix奖 。

我在学习中使用的两本书:

介绍性课程: Igor Aleksander和Helen Morton介绍神经计算。

高级课程: Robert Hecht-Nielsen的神经计算

编程集体智慧在search和sortingalgorithm的上下文中讨论了这一点。 另外,在这里可用的代码(第4章)中,本书中讨论的概念在Python示例中进行了说明。

我认为一个好的起点永远是维基百科 。 在那里你会发现一些有用的链接到文档和使用neural network的项目。

我发现Fausett的neural network基础是一本简单易懂的入门教科书。

我发现教科书“计算智能”非常有帮助。

如果你想在真实模拟器上快速学习一些neural network概念的应用,可以在http://grey.colorado.edu/CompCogNeuro/index上find一本名为“计算认知神经科学”的在线书籍(现在称为维基); 。 PHP / CCNBook /主

这本书在学校作为教科书使用,并带您通过许多不同的大脑区域,从个人神经元一直到高级执行function。

另外,每个部分都增加了已经为你准备的功课“项目”。 只需下载,按照步骤操作,并模拟本章讨论的所有内容。 他们所使用的软件Emergent,虽然有点精妙,但却非常强大:我相信这是十多年来的成果。

上学期我在一个本科生中经历过,这很好。 一步一步走过你的一切

我同意其他人说,研究生物学不是一个好的起点…因为在生物学中有很多不相关的信息。 您不需要了解神经元如何重新创build其function,您只需要模拟其操作。 我推荐Ray Kurzweil的“如何创造一个心灵” – 它涉及到与计算模型相关的生物学方面(通过结合几个input创build一个相似的神经元,一旦达到阈值就开始射击),但是忽略了不相干的东西神经元实际上是如何增加input的。 (例如,您只需使用+和不等式来比较阈值)

我还应该指出,这本书并不是关于“创造一个思维” – 它只关注于视觉模式识别/新皮层。 自20世纪80年代以来,我一直在讨论这个主题,所以有很多旧的书籍可能包含相同信息的稍微过时的forms。 我读过较早的文档,例如,视觉系统是一个多层次的模式识别器。 他认为这适用于整个新皮层。 另外,他的“预测”还有一丝盐 – 他的硬件估计可能相当准确,但我认为他低估了简单任务的复杂程度(例如驾驶汽车)。 当然,他已经看到了很多进步(也是其中的一部分),但我仍然认为他过于乐观。 AI车能够在90%的时间里成功驾驶一英里,而人类可以做到的99.9%的比例有很大的不同。 我不希望任何人工智能真的会把我驱赶到二十年以上……(我并不指望在实际赛道上需要“训练”的宝马赛车,因为它们并不是真的玩的一样游戏)

如果您已经对AI是什么以及如何build模有一个基本的概念,那么跳过更具技术性的东西可能会更好。