快速介绍 Python 中的深度学习,具有高级数学和一些机器学习背景,但没有太多 Python 经验

数据挖掘 机器学习 Python 神经网络 深度学习
2021-10-03 08:32:09

我有以下一些不寻常的背景,并且我已经设法(可能是幸运地)获得了使用深度学习的计算机视觉研究人员的行业工作。

我的背景:我拥有纯数学博士学位,并拥有以下机器学习经验:线性和逻辑回归、支持向量机 (SVM)、线性和二次判别分析 (LDA/QDA)、决策树、PCA。我熟悉以上所有的数学理论,并在我精通的matlab中实现了LDA/QDA、SVM、PCA。

但是,我在 Python 和深度学习方面的经验非常有限,为零。我不知道 scikit 学习,只是对 NumPy 数组有点熟悉,但在连接空数组等基础知识方面仍然存在问题。我不知道 Python 中的类或列表等数据结构的例子——只是为了给你一个想法。我知道神经网络是什么,但不知道其他任何东西,例如反向传播或自动编码器。因此,我也不知道深度学习的理论。

时间限制:所以我必须在 Python 和深度学习方面获得一些实践经验,可能需要 2 个月(该公司有 4 个月的试用期并且只使用 Python,但他们' 将在 2 个月内了解我的学习情况,因此我必须快速学习)。

问题:鉴于我的专业知识和时间限制,您能否提及路线图(如果可能),以便我可以快速了解深度学习及其 Python 库(例如 Tensor Flow 或 Keras 等)?我知道那里有大量资源,但并非所有资源都可以在短时间内学会。

提前非常感谢!!!

4个回答

Stanfords CS231n 有一个很棒的 python+numpy 教程。 http://cs231n.github.io/python-numpy-tutorial/

至于神经网络和 Keras + Tensorflow,我可以推荐 Coursera 上的深度学习专业。一周免费。如果您不想要证书,您可以下载所有视频并停止。

如果您想要证书,您可以同时注册所有课程,并且比宣传的更快完成它们。他们假设每周工作 3-6 小时,持续 16 周。如果您每天有 6 小时的时间,则可以每天浏览一周的内容。Andrew Ng 说话清晰,视频以 1.5x-2x 的速度可以理解。

至于路线图,我建议

  • 从 python + numpy 开始,直到您对数组切片有基本的了解,并在遇到未知命令时阅读它们。
  • 开始您选择的 DL 课程,但不要逃课。那就是我认为即使您以后只会使用高级框架,了解基础知识也很重要。

提供链接一些很好的教程,这将帮助您理解深度学习的概念,并为您提供足够的背景知识,以便能够针对您自己的问题实现简单的模型。

https://in.udacity.com/course/deep-learning--ud730
大约。持续时间是三个月,但多花一点力气,你应该能够在两个时间内完成它。
另一个是 Coursera 上的 Andrew Ng 课程。你真的应该检查一下。
深度学习快速介绍: https ://codelabs.developers.google.com/codelabs/cloud-tensorflow-mnist/

好的,首先我要告诉你,与传统的机器学习相比,深度学习非常容易,所以只要你对上面提到的机器学习算法有透彻的了解,你就不必担心 2 个月的期限。

现在是 Andrew NG 的一门课程,如果您愿意审核,它是免费的。一旦你打开这门课程,只需通过它,你甚至不必做作业,只需了解非常容易掌握的概念。

完成课程后。为 windows设置 python 环境使用这个对于 linux 使用这个.

之后从kerasGitHubb页面搜索 keras 教程,这可以让你继续前进。

如果您正在寻找 NLP(自然语言处理)领域的深度学习不错的可靠教程,那么 Robert Gutherie 的笔记本将是一个很好的开始。

它教你如何使用向量以及多维向量的样子以及如何处理它们。他使用 Facebook 的深度学习库 Pytorch 来解释这些概念。这个库比 tf 更 Pythonic,更简洁,所以更容易理解。(虽然个人意见)。

之后,您可以使用任何库,如 gensim、spacy 或 Fasttext,并将您的向量在那里工作。

一个很好的后续,也是通过Pytorch 的深度学习教程。它们写得非常好,而且通常非常直观,而且代码很容易阅读(感谢 Python 和 Pytorch 的 pythocicity :D)。