如何获得神经网络的基本数学?

时间:2016-03-16 23:16:46

标签: math neural-network artificial-intelligence

我最近决定开始学习人工智能,特别是神经网络,因为我相信它可以让我解决我目前无法解决的新问题。

作为第一步,我希望能够编写一个简单的神经网络来识别手写数字(使用MNIST数据集),我希望能够在接下来的几个中做到这一点。周/月。

我为初学者找到了很多资源,其中一些似乎非常好(例如:http://neuralnetworksanddeeplearning.com/chap1.html)。我已经阅读了5-6本关于神经网络的书籍的开头,但我总是遇到的问题是,经过一段时间后,由于我缺乏数学知识,我在解释中迷失了。

在链接教程中,我遇到以下符号问题:∇,∂,→。更一般地说,我偶然发现了数学符号:常数,我不知道,但作者认为读者知道这些常数,以及特殊符号。

所以我的问题出现了:为了让我快速进入神经网络,我需要什么样的数学,这样我就可以毫不费力地阅读我发现的那些好书/教程之一。我在线性代数中有一些非常基本的概念,但这是关于它的。

3 个答案:

答案 0 :(得分:4)

为了理解基础神经网络训练的数学基础,你需要在微积分中扎根。实际上没有办法解决它 - 大多数神经网络训练是“梯度下降”优化的一些变种。梯度是一种衍生形式;为了找到渐变,你必须采用导数。

如果你正在寻找一个最低限度,那么你可以通过理解衍生物,而不是推进积分微积分 - 例如,你问题中的两个符号代表了一种特定的衍生物。< / p>

线性代数也很重要,你有一些很好。你真的不需要任何花哨的东西来理解基本的神经网络,但知道矢量是什么,矩阵乘法如何工作以及为什么,也是必不可少的。

答案 1 :(得分:1)

我会出去说出来:你有没有找过一门不那么数学的课程?

虽然您当然需要高级数学来完全掌握该主题,但您可以找到一个介绍性课程,其中包含对该领域的更多概述,以及一些具体的,实用的实际工作示例。这就是我学习Python的方式(谢谢,YouTube!)

修改

@sputnik

  

您认为需要什么样的高级数学?

很简单,我认为你

我不能高度推荐在线visual introduction to machine learning

  

我最近决定开始学习人工智能,特别是神经网络,因为我相信它可以让我解决我目前无法解决的新问题。

我提到的入门书的主要内容是他们让你开始使用决策树。这让人想起半个世纪前使用的专家系统,对于刚认识这个主题的人来说,这是一个很好的叙述。

基于树的模型是着名的Kaggle比赛获胜者中最常见的技术XGB trees *。 只有下一个神经网络,为什么选择第二好? ; - )

[Airbnb New User Bookings, Winner's Interview: 2nd place, Keiichi Kuroyanagi (@Keiku)](http://blog.kaggle.com/2016/03/17/airbnb-new-user-bookings-winners-interview-2nd-place-keiichi-kuroyanagi-keiku/)

例如,查看最新的Kaggle访谈:Airbnb New User Bookings, Winner's Interview: 2nd place, Keiichi Kuroyanagi (@Keiku)

您可以在没有高级微积分的情况下进行统计推断。即使没有正式的数学,如果你只是想了解这个主题。

* XGBT 中的'G'确实代表Gradient,所以你最终还是要做一些数学运算,但为什么不开始玩乐呢?你会更快,更快地学到更多!

其他XGBT链接:

Story and Lessons Behind the Evolution of XGBT

XGBT -- Let Us Learn From Its Author

答案 2 :(得分:1)

我建议您审核Coursera course on Machine Learning taught by Andrew Ng。它的结构和节奏非常好,他以一种非常易于理解的方式呈现数学。如果你能在第5周坚持下去,工作任务实际上是你感兴趣的问题:用于手写数字识别的神经网络。