如何学习机器学习和深度学习:软件工程师指南

2020-12-16 02:04:43

人工智能这个主题引起了我的兴趣,我一直在研究和尝试该领域的新事物。

众所周知,与自然语言处理,计算机视觉等相关的技术是如何出现并发展为每天数百万用户使用的解决方案的。

即使人们使用了“人工智能”一词,但与《终结者》电影中的天网一样先进,我们仍然相去甚远。

今天使用的最常见的AI子领域是一种称为机器学习的领域,它又将深度学习作为子领域,在相当长的一段时间里每天都在急剧增长。

在本指南中,我旨在描述软件工程师开始理解机器学习的工作原理以及如何将其应用于您的项目的方法。

是的,您可以只去Google API或Amazon并选择一些神奇的API来为您做语音识别,但是了解它的工作原理,工作原理甚至更多的价值,以及如何制作自己的API即服务并进行调整它对您的特定需求是不可思议的。

我已经阅读,观看并遍历了所有这些资源,直到最后,甚至获得了一些有偿的证书,即使没有必要学习,但我有一些截止日期和评估来证明自己时,我发现自己更愿意完成工作。实际学习了材料。

也许您从来没有机会学习过一些大学水平的数学,或者您曾经学习过它,但是您无法记住大部分内容,因为JavaScript和CSS占用了所有这些主题的记忆。 您必须事先了解3个主题,或者至少要有一定的专长才能掌握有关ML和DL的任何优秀材料:线性代数,微积分和统计。 如果您想深入学习ML和DL所需的数学,可以寻找MIT OpenCourseWare课程,例如Strang教授著名的线性代数课程。 我在大学期间和常规班同时观看了这部影片,效果非常好。 但是,让我们面对现实吧,大多数人没有时间或没有耐心。 与Strang教授相比,它在内容上相差很远,但是从一开始它就足够了,随着ML和DL的发展,您可以关注其他主题。 3Blue1Brown在Youtube上还有一个有关微积分的完整系列,供您免费观看:微积分的本质。

同样,他非常擅长为您提供原因和方式的直觉,而不仅仅是在您的脸上扔一些随机方程。

我认为,这是一个整个领域,您可以根据需要学习,一个很好的参考是《数据科学家实用统计学:50个基本概念》。

顾名思义,它更适合于数据科学家,但是了解统计学的某些基础知识总是很好的,这就是本书的目的。

阅读后您将不会成为统计学家,但您会学到一些好东西。

每个人都想直接进入深度学习,并成为在12GB GPU上训练单一模型一周的好人。

概念,思路,"感觉"事情是如何开始的,没有什么比吴安德教授的机器学习课程更能教这些概念了。

您可能会认为这门课程是古老且过时的,从技术角度来讲,也许,但从概念上来说,它比那里的其他任何课程都要好。

Ng教授很容易理解他所教授的每种技术中应用的数学,并且使您对一门非常简短的课程中所发生的事情有深入的了解。 所有练习都是在Octave(一种Matlab的免费版本)中进行的,您将完成实现自己的神经网络的课程! Octave的语法对于任何程序员来说都很容易理解,所以不要让它成为您的障碍。 完成课程后,您将实现所有主要算法,并且能够解决一些预测问题。 实际上,吴安德(Andrew Ng)的课程只存在一个缺陷,他没有涵盖《随机森林》。 fast.ai的《面向程序员的机器学习简介》是对他课程的绝佳补充。 杰里米·霍华德(Jeremy Howard)在Ng课程的失落部分中非常实用,涵盖了一个主题,对于许多经典问题而言,这是目前最好的解决方案。

Fast.ai的方法就是所谓的“自上而下”的方法,这意味着他们向您展示了如何解决该问题,然后向您解释了它为什么起作用,这与我们在学校中所习惯的完全相反。

Jeremy还使用现实世界中的工具和库,因此您可以通过在经过行业测试的解决方案中进行编码来学习。

同样,最好的资源是吴教授的课程,实际上是一系列课程。

深度学习专业化课程由5门课程组成,这些课程从基础知识入手,并针对语言,图像和时间序列数据等特定主题发展。

一件好事是,他从经典机器学习课程的最后开始继续学习,所以感觉就像是第一门课程的延伸。

数学,概念,如何运作以及为什么运作的概念,他像我见过的很少人一样非常简洁地提供了所有内容。

唯一的缺点是他在本课程中使用Tensorflow 1.x(Google的DL框架),但我认为这是最基本的细节,因为讲解和练习非常好。

您可以相对容易地获得该框架的最新版本,并为此完成本指南的最后一部分,即一本书。

这本书可能是您唯一需要入门的书,它是AurélienGéron的动手机器学习,以及Scikit-Learn,Keras和TensorFlow:构建智能系统的概念,工具和技术。

从经典的机器学习到最新的深度学习主题,内容涉及很多。使用行业级框架和库的良好示例和练习。

我敢说,如果您真的很着急,可以跳过我之前说的所有内容,直接去读书。

您可能会错过提及的其他资源中包含的大量信息,但是Géron的书中的实用知识和可操作知识足以为您的下一个项目提出许多想法。

如果仅阅读本书后仍感到有限,请返回并学习其余材料,它将填补您可能会遇到的空白,并为您提供更扎实的理解。

"嘿,我听说过PyTorch以及其他人都在谈论的其他框架或库X。

不要为此而疯狂,在您学习了本指南的基础知识之后,您可以轻松使用PyTorch文档或任何其他库或各种框架,并学习如何在一两周内使用它。 技术,概念都是相同的,这只是语法和应用程序的问题,甚至对于任何给定工具都可能具有不同的口味。 总结一下,我想说的是,尽管看起来似乎很多,但我还是设法消除了所有杂音,并且在过程结束时,您将充满信心,知道自己在幕后所发生的事情,行话 甚至能够阅读在该领域发表的一些论文,以跟上最新进展。