# 初学者

## 我该如开始使用深度学习?

你从哪里开始取决于你已经知道了什么。

真正理解深度学习的先决条件是线性代数、微积分和统计学，以及编程和一些机器学习。应用它的先决条件是学习如何部署模型。

在DL4J的场景中，你应该很了解JAVA并且对类似IntelliJ IDE的工具和自动化构建工具Maven感到舒服。&#x20;

下面你会找到一个资源列表。这些章节大致按它们有用的顺序组织起来。

## 免费的机器和深度学习在线课程

* [吴恩达在YouTube上的机器学习课程](https://www.youtube.com/watch?v=qeHZOdmJvFU)
* [Geoff Hinton 在YouTube上的神经网络课程](https://youtu.be/2fRnHVVLf1Y)
* [Patrick Winston人工智能介绍 @MIT](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-034-artificial-intelligence-fall-2010/) (面向那些对人工智能的调查感兴趣的人)
* [Andrej Karpathy斯坦福卷积神经网络课程](https://cs231n.github.io/) (面向那些对图片识别感兴趣的人)
* [ML@B: 机器学习速成课程: 第一部分](https://ml.berkeley.edu/blog/2016/11/06/tutorial-1/)
* [ML@B: 机器学习速成课程: 第二部分](https://ml.berkeley.edu/blog/2016/12/24/tutorial-2/)
* [梯度下降，神经网络如何学习，深度学习, 第二部分](https://www.youtube.com/watch?v=IHZwWFHWa-w\&feature=youtu.be)

## 数学

深度学习所涉及的数学基本上是线性代数、微积分和概率，如果你在本科阶段学习了这些，你将能够理解深层学习论文中的大部分思想与符号。如果没有在大学里学习过，就不要害怕。有很多免费的资源（有一些在这个网站上）。

* [看得见的理论: 概率与统计的可视化介绍](http://students.brown.edu/seeing-theory/)
* [吴恩达 6部分线性代数综述](https://www.youtube.com/playlist?list=PLnnr1O8OWc6boN4WHeuisJWmeQHH9D_Vg)
* [Khan Academy的线性代数课程 ](https://www.khanacademy.org/math/linear-algebra)
* [机器学习所涉及的线性代数](https://www.youtube.com/watch?v=ZumgfOei0Ak); Patrick van der Smagt
* [CMU的线性代数综述](https://www.cs.cmu.edu/~zkolter/course/linalg/outline.html)
* [用于机器学习的数学](https://www.umiacs.umd.edu/~hal/courses/2013S_ML/math4ml.pdf)
* [拟真线性代数](http://immersivemath.com/ila/learnmore.html)
* [概率速查表](https://static1.squarespace.com/static/54bf3241e4b0f0d81bf7ff36/t/55e9494fe4b011aed10e48e5/1441352015658/probability_cheatsheet.pdf)
* [最佳线性代数书](https://begriffs.com/posts/2016-07-24-best-linear-algebra-books.html)
* [马尔可夫链，视觉解释](http://setosa.io/ev/markov-chains/)
* [机器学习的MCMC介绍](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.13.7133\&rep=rep1\&type=pdf)
* [特征向量、特征值、主成分分析、协方差和熵](https://skymind.ai/wiki/eigenvector)
* [马尔可夫链蒙特卡洛（MCMC）与机器学习](https://skymind.ai/wiki/markov-chain-monte-carlo)

## 编程

如果你还不知道如何编程，你可以从Java开始，但你可能会发现其他语言更容易。Python和Ruby资源可以在更快的反馈循环中传达基本思想。“学习Python的硬方法”和“学习编程（Ruby）”是两个很好的开始。

* [Java学习的硬方法](https://learnjavathehardway.org/)
* [Python学习的硬方法](http://learnpythonthehardway.org/)
* [Pyret: 一个Python学习环境](https://www.pyret.org/)
* [Scratch: 一个来自MIT的可视化编程环境 ](https://scratch.mit.edu/)
* [学习Ruby编程](https://pine.fm/LearnToProgram/)
* [命令行介绍](https://www.computervillage.org/articles/CommandLine.pdf)
* [附加命令行教程](http://www.learnenough.com/command-line)
* [一个Vim基础教程](https://danielmiessler.com/study/vim/) (Vim 是一种用命令行访问的编辑器。)
* [计算机科学介绍 (CS50 @Harvard edX)](https://www.edx.org/course/introduction-computer-science-harvardx-cs50x)
* [机器原理概论](https://marijnhaverbeke.nl/turtle/)

如果你想不使用JAVA而直接使用深度学习，我们推荐[Theano](http://deeplearning.net/)和各种可以顶替它的Python框架，包括[Keras](https://github.com/fchollet/keras) 和 [Lasagne](https://github.com/Lasagne/Lasagne)。

## Python

* [Learn Python the Hard Way](http://learnpythonthehardway.org/)
* [Google's Python Class](https://developers.google.com/edu/python/)
* [Udemy: Complete Python 3 Masterclass Journey](https://www.udemy.com/complete-python-3-masterclass-journey/)
* [MIT: Introduction to Computer Science and Python Programming](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/)&#x20;
* [David Beazley: Python Tutorials](http://www.dabeaz.com/tutorials.html)
* [CS231n: Python Numpy Tutorial](http://cs231n.github.io/python-numpy-tutorial/)
* [Pyret: A Python Learning Environment](https://www.pyret.org/)

## Java

一旦你有了编程基础，就可以着手Java，这是世界上使用最广泛的编程语言。世界上大多数大型组织都使用巨大的Java代码库。（总是有JAVA的作品）（大数据栈—Hadoop, Spark, Kafka, Lucene, Solr, Cassandra, Flink –在很大程度上是为Java的计算环境JVM编写的。

* [Think Java: 基于Web的交互式开发环境](https://books.trinket.io/thinkjava/)
* [学习 Java 的硬方法](https://learnjavathehardway.org/)
* [Java Ranch: 一个Java 初学者社区](http://javaranch.com/)
* [Java编程介绍 @Princeton](http://introcs.cs.princeton.edu/java/home/)
* [深入浅出学Java](https://www.amazon.com/gp/product/0596009208)
* [Java技术手册](https://www.amazon.com/gp/product/1449370829)
* [Java初学者编程250步](https://www.udemy.com/java-tutorial/)

## Deeplearning4j

带着那些，我们推荐你通过它的 [例子](https://github.com/deeplearning4j/dl4j-examples)来走近DL4J。

快速入门

你也可以下载一个 [智能层免费版](https://docs.skymind.ai/), 它是支持 Python, Java 和 Scala 机器学习和数据科学的工具 。 SKIL是一个可以在prem和云端工作的机器学习后端，可以装载你的软件，提供一个机器学习模型服务器 。

### 其它资源

我们所知道的关于深度学习的大部分内容都包含在学术论文中。你可以在这里找到一些主要的研究小组。 虽然个别课程对他们所能教的东西有限制，但互联网却没有。大多数的数学和编程问题可以通过Google和搜索如 [Stackoverflow](https://stackoverflow.com/) 和 [Math Stackexchange](https://math.stackexchange.com/)。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://deeplearning4j.konduit.ai/zhong-wen-v1.0.0/kai-shi/chu-xue-zhe.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
