成为数据科学家、人工智能和机器学习工程师的自学之路
发表时间:2020-07-21 17:28:11 浏览次数:125
时间和成本是人们在尝试学习数据科学,人工智能或机器学习时面临的重大阻碍。自学是一门需要自律和付出才能掌握的艺术。如果处理得当,你能灵活地将学习与工作相结合。然而,人工智能或机器学习的开始阶段非常艰难,但是请相信我这样的担心是值得的。自学时取得良好进展的关键是按照自己的节奏学习。在这篇文章中,我将分享一个期望学习数据科学,人工智能和机器学习,以及在学习其他新事物方面取得良好的进步的人可以遵循的道路。我还将分享我个人使用的资源链接,并毫无疑问地推荐这些材料。虽然听起来很烦人,但是在这个领域中数学非常重要。我可以肯定地说,任何阅读这篇文章的人都具有高中数学的一些基础知识或中级知识。这是一个好的开始,但在数据科学,人工智能和机器学习领域,这些还远远不够。你需要进一步深入研究,并学习一些统计,代数和其他领域的概念。我会整理一个主题和资源列表,以帮助你学习数据科学中的数学,但是Ibrahim Sharaf ElDen在这篇文章中已经完美地做到了。
https://towardsdatascience.com/mathematics-for-data-science-e53939ee8306?gi=e0a64546b594
作为初学者,不要直接开始学习编写用于机器学习的代码,而应该先学一般的编程核心概念。了解编程的全部内容,了解现有代码的类型以及如何正确编写代码。这一点非常重要,因为你将在从事该领域的其余时光中受用于这些基本概念。花点时间在这步当中,而不要急于学习高级的东西,了解此步骤中的大多数内容将决定你在行业中的表现。你可以在在里找到非常好的介绍编程和计算机科学的视频。这个视频将带你全面了解编程和计算机科学的所有重要概念。花点时间,并确保你了解当中的每一点。https://www.youtube.com/watch?v=zOjov-2OZ0E如今,数据科学家,人工智能和机器学习工程师使用多种语言来完成工作,其中最常用的语言是Python,R,Java,Julia和SQL。也可以使用许多其他语言,但出于多种原因,我列出的语言是最常用的语言:
-
如果你有足够的学习时间并能坚持,那么它们很容易学会并且可以快速用于开发;
-
它们使你可以用更少的代码做更多的事情;
-
它们有一个良好而稳固的技术社区,可以在遇到任何问题时为你提供帮助和支持;
-
他们拥有你作为数据科学家,人工智能或机器学习工程师所需的几乎所有库和软件包;
-
它们是开源的,可以免费使用。
学习一种以上的语言绝对是没有错的,事实上,了解一种以上的语言是有好处的。但你必须花时间,并避免同时学习多种语言,因为这可能会使你感到困惑,并使你暂时迷失方向。花时间,一次学习一种语言,并确保仅学习职业所需的部分。我建议你先学习Python,因为它是一种相对容易理解的语言。我还建议你在学习用于数据科学和人工智能 / 机器学习的Python之前先学习一般的Python。https://www.youtube.com/watch?v=r-uOLxNrNk8https://www.youtube.com/watch?v=rfscVS0vtbw&t=5s数据不是天上掉下来的,有时根本没有数据供你使用,但是无论如何,你都必须找到一种获取可以使用的数据的方法。与你合作的组织可能有一个很好的数据收集系统,如果有的话,那么这对你来说是一个加分。否则,你必须找到一种获取数据的方法,不仅可以获取任何数据,还能获取可以用来实现目标的高质量数据。获取数据并不直接意味着挖掘数据,它是数据挖掘下的一个过程。你可以在互联网上的许多地方获得免费和开源的数据,有时你可能不得不从网站上抓取数据。网络抓取非常重要,我恳请每个人都学习它,因为在你作为数据科学家,人工智能或机器学习工程师的职业生涯中可能会需要它。这是有关网络抓取的好教程。https://www.youtube.com/watch?v=0_VZ7NpVw1Y数据也可能保存在数据库中,因此作为数据科学家,人工智能或机器学习工程师,你必须了解一些数据库管理知识,以便能够连接到数据库并直接进行工作。在此阶段,SQL知识非常重要。你可以在此处学习相关知识。https://www.youtube.com/watch?v=sTiWTx0ifaM&t=15s这通常称为数据整理。此过程涉及清洗你拥有的数据,这可以通过对你拥有的数据执行一些探索性数据分析并删除数据中不需要的部分来完成。该过程还涉及将你拥有的数据构造为可以使用的形式。这个阶段是从事数据科学,人工智能或机器学习项目中最疲惫的部分。在学习过程中,你使用的大多数示例数据都已经做过预处理,但是现实世界中的数据可能没有经过任何处理阶段。作为一个渴望在此领域做得很好的人,你应该找到一些现实世界的数据并加以处理。虽然在几乎任何地方都能找到真实世界的数据,但Kaggle是全球公司获取真实世界数据的绝佳场所。数据整理或处理是一项非常艰巨的任务,但如果你具备始终如一的奉献精神和坚持力,这对你而言就可能是一件非常有趣的事情了。你可以在此处找到剑桥的教授关于数据整理的精彩演讲:https://www.youtube.com/watch?v=sz_dsktIjt4作为数据科学家,人工智能或机器学习工程师,也不一定意味着你所在的公司或团队中的每个人都将能够理解你所在领域的技术或原始格式的数据。这就是为什么需要学习数据可视化。数据可视化基本上是指以图形形式显示数据的过程,以便使任何人,无论他们具不具备相关背景,都可以理解数据的含义。有许多种可视化数据的方法。作为程序员,编写代码来进行数据可视化应该是我们的首选方法,因为这是快速且无成本的。可以使用所用的编程语言附带的开源库来编写代码进行数据可视化。Matplotlib,Seaborn和Bokeh都是我们可以用来可视化数据的Python库。你可以在此处找到有关使用Matplotlib进行数据可视化的视频教程:
https://www.youtube.com/watch?v=yZTBMMdPOww
可视化数据的另一种方法是使用诸如Tableau之类的闭源工具,它们可用于进行更优雅和复杂的可视化,但它是付费的。Tableau是最常见的工具,它是我个人经常使用的工具。我会建议所有人学习使用Tableau。你可以在此处找到有关使用Tableau的很好的教程:
https://www.youtube.com/watch?v=aHaOIvR00So
人工智能和机器学习更像是数据科学的子集,因为它们也是由数据驱动的。它们指的是训练机器或其他无生命物体所涉及的过程,即通过向它们提供经过良好处理的数据来使其表现得像人。通过逐步指导机器,就可以教机器去做人类可以做的许多事情。在这种情况下,可以将机器想象为完全没有知识,但逐渐学会识别物体,说话,从错误中学习并变得更好的婴儿。我们也可以用相同的方式教机器来完成这些事情中的大多数。人工智能和机器学习基本上是通过使用许多数学算法来赋予机器生命的过程。人工智能和机器学习的全部潜力仍然未知,因为它还是在不断进步的领域之一。但是目前,人工智能和机器学习已广泛用于认知任务,例如对象检测和识别,面部识别,语音识别和自然语言处理,欺诈和垃圾邮件检测等。我将继续深入探讨人工智能和机器学习,但现在,我希望你在这里了解人工智能和机器学习的一般应用:https://www.youtube.com/watch?v=5hNK7-N23eU
https://www.youtube.com/watch?v=GwIo3gDZCVQ&t=5s
在这些视频的结尾,你应该已经学习了有关机器学习的初学者和中级知识,了解了许多可用的机器学习算法,它们的作用以及如何使用它们。现在,你应该已经准备好构建第一个简单的机器学习模型了。你可以在Victor Roman的这篇文章的帮助下进行操作:https://towardsdatascience.com/machine-learning-general-process-8f1b510bd8af通过部署你用机器学习构建的模型,你就可以将其提供给网络上的每个人。为此,需要对Web开发有很好的了解,因为你需要创建一个网页或一组网页来容纳模型。你网站的前端还需要与包含模型的后端进行通信。为此,你还需要知道如何构建和集成API,以处理这些通信。如果你打算通过管道或Docker容器在云服务器上部署机器学习模型,则可能需要对云计算和DevOP有很好的了解。部署机器学习模型的方法有很多,但首先,我建议你学习如何使用Python网络框架Flask部署机器学习模型。https://www.youtube.com/watch?v=UbCWoMf80PY自学是惊人的,但是没有什么比直接向行内专业人士请教更好。这是因为你可以学到具有实际意义的概念和其他只有实践经验才能学到的东西。拥有一名导师有很多好处,但并不是每个导师都能对你的职业生涯或整个人生产生影响。这就是为什么拥有一个良好的导师很重要。可以在数据科学,人工智能和机器学习方面从初学者到专家水平进行培训,在该平台上,你将被指派一名私人导师,他将亲自和专业地协助你在所选领域的发展。它也是你能找到的的最实惠的网课培训和指导平台。但请注意,仅参加课程并从在线资源中学习不会使你成为数据科学家,人工智能或机器学习工程师。你必须获得在这些领域提供认证的机构的证书,并且某些工作职位还需要你具有一定的学历。花些时间学习,获得认证或学位,你将准备好上岸。