我如何以“最正确”的方式学习数据科学/机器学习?

数据挖掘 机器学习 学习
2022-02-15 23:20:54

首先,我不确定这是否是发布此内容的正确位置,所以如果不是,请告诉我并告诉我应该在哪里。我真的只是不知道该去哪里回答这个问题。

一些背景故事:我正在经历我第二年软件工程的第二个学期。我喜欢数学,我喜欢计算机,我喜欢数据,我喜欢图像处理,所以对我来说最合乎逻辑的地方是数据科学,因为我似乎非常倾向于 ML/CV。

问题是,我想开始学习数据科学/机器学习,但我不知道从哪里开始。每个人都不断推荐在线课程,例如 Andrew 的 coursera 课程,但我对大多数在线课程有些怀疑,因为他们似乎喜欢简化信息,我觉得它只是通过了有用信息的门槛。

我的假设是:学习数据科学/ML/CV 需要非常坚实和严谨的基础。我不应该开始使用高级工具来学习它,并且对它的本质了解甚少。这是我的问题。我不知道从哪里开始学习这种方式。

我搜索了书籍,发现人们谈论的两本书是:

  1. 模式识别和机器学习,Christopher M. Bishop 着。这本书似乎非常严谨,重点关注事物的数学和直觉(查看其索引)。对此没有太多怀疑。
  2. 使用 Scikit 和 TensorFlow 进行动手机器学习,作者 Aurelien Geron。这个似乎非常受欢迎,几乎受到人们的一致赞扬/喜欢/推荐,但仅看它的名字,我就有点怀疑它可能不太关注建立强大的基础/直觉,而更多地关注使用高级工具。

如果您认为某些第三本书/资源更适合我的需要,我愿意接受其他建议。如果您简要解释一下为什么您认为它更合适,我也将不胜感激。

另外值得注意的是,我对高级工具没有任何问题,而且我知道我最终将不得不使用它们。我只是觉得如果我从那里开始,我会在我想做的事情和有价值的事情上做得更好。

2个回答

欢迎来到社区!

我通常不会回答这样的问题,它们非常广泛,而且还有很多其他问题。看起来你实际上并没有问如何开始,你似乎已经开始阅读一些书(这很棒!),所以让我回答这个问题,而不是一个非常广泛的“如何开始”。

首先,我想挑战你关于自下而上学习的假设,并提供另一种观点(是的,这部分只是一个观点)。相反,我鼓励您掌握高级工具并立即开始使用它们。如果我们所做的一切都要求我们放弃抽象并从头开始学习一切,那么我们仍然会一遍又一遍地重新发明轮子。开始尝试现有的工具,并通过阅读来补充它。您将通过这种方式获得很好的理解

所以要回答你的问题......我推荐你引用的第二本书:Hands-On ML with Scikit Learn and Tensorflow。这本书会从一开始就教你养成良好的习惯,让你有一个很好的理解,并让你立即使用这些工具。

祝你好运。

我试图在成为数据科学家需要哪些技能?以及如何展示它们?,有很多在线课程,它们非常有用,但如果您觉得它们过于简单,您可以尝试斯坦福和麻省理工学院的其他课程,例如:

此外,当您具备该学科领域的基本知识时,数据科学的表现会更好, Rich Radke 的数字图像处理将为您提供理解 CV 算法的基础知识,他还有一门非常棒的视觉效果计算机视觉课程。

Udacity 和其他在线课程来自大学。重要的是要注意,数据科学是学术界的一部分,在此之前,课程将讨论很多与教学真正相关的内容。

不要误会,书很可爱,但是如果你寻找 Bishop 等严谨的书,你可能会有点过时,而如果你只使用 Scracth 中的 Data Science 和 Data Smart 等书籍,你的知识可能还是有点肤浅.

我建议您尝试简单的速成课程,例如Google 的机器学习速成课程,但之后不要陷入您无所不知的错觉。

这些浅层课程大部分会让你为基本任务做好准备,你可以通过参加Kaggle 的比赛和以后更深入的课程来逐渐提高你的知识。如果你不动手做,你可能会感到有点失望并失去动力。

从一开始就学习一切是件好事,但那是在您了解高级知识之后。当你工作时,你不应该做从零开始就已经存在的事情不要生气,你的代码一开始肯定会很糟糕而且效率低下,所以除非流行的库真的缺乏你需要的功能,否则请使用它们。

注意:您应该尝试使用 OpenCV 和随机森林等算法。不要迷恋深度学习,这很容易让你觉得计算机和组织非常昂贵,因为它们通常需要很长时间才能训练,而且如果你是一个优秀的程序员,你就会知道大多数事情在第一次就行不通.