Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Luo Sainan、魔王编译

如何自学成为数据科学家或AI工程师?你需要攻克这九点

并非每个人都有时间在教室里学习数据科学、人工智能或机器学习,也并非每个人都能负担得起正式学习这些领域知识所需要的费用。那我们应该怎么办呢?软件开发者、机器学习工程师 Jerry Buaba 提供了一条自学路径。


人们在尝试学习数据科学人工智能机器学习时所面临的最大拦路虎就是时间和金钱。自学是一门艺术,需要足够的自律、勤奋和专注。利用得当的话,它能让你灵活地将学习与工作结合起来。

然而,自学数据科学人工智能机器学习的开始阶段会非常艰难,但请相信这一切都是值得的。自学时取得良好进展的关键是按照自己的节奏学习。

本文将分享一条自学数据科学人工智能机器学习时可以遵循的道路,同时也能帮助大家在学习新事物上取得良好进展。

学习数学

学习数学听起来很烦人,但对这个领域来说是十分必要的。阅读这篇文章的读者应该都从高中学到了一些初高级数学知识。这是很好的开端,但仅有这些知识在数据科学人工智能机器学习领域还远远不够。你需要更深入地学习一些统计学、代数和其他的数学概念。

必备数学知识资源列表,参见:https://towardsdatascience.com/mathematics-for-data-science-e53939ee8306。

学习编程

作为初学者而言,不要直接开始学习编写机器学习代码,而是首先学习一般编程的核心概念。先了解什么是编程、现有的编程语言种类、如何正确地写代码等。这些东西非常重要,因为你将学到许多重要的概念,而这些概念将一直伴随着你。

所以这一步要慢慢来,不要急于学习高级的东西,在这个过程中对事物的理解深浅将决定你在这个行业中的表现。

这个视频介绍了编程和计算机科学,可以帮你过一遍计算机科学和编程中的重要概念:https://www.youtube.com/watch?v=zOjov-2OZ0E。

熟练掌握一种编程语言

数据科学家、人工智能机器学习工程师使用的语言多种多样,其中最常用的语言是 Python、R、Java、Julia 和 SQL。当然还有很多其他的可用编程语言,这里列出的是最常用的语言,原因如下:
  • 只要投入足够的时间进行学习并坚持下来,你可以比较容易地学会这些语言,并且它们的开发速度很快。

  • 可以利用更少的代码完成更多的功能。

  • 社区和生态十分完善,任何时候遇到任何问题社区都能提供帮助和支持。

  • 拥有数据科学家、人工智能机器学习工程师所需要的几乎所有库和软件包。

  • 开源且免费使用。

学习多种语言绝对没错,事实上这是一件很好的事。然而,在学习每一门编程语言时,你需要慢慢来,尽量不要同时学习多种语言,因为这可能会让你感到困惑,并让你在一段时间内迷失方向。

慢慢来,一次学一门语言,确保只学习你职业生涯所需要的那部分语言。我建议先学 Python,因为它相对比较容易理解。此外,我还建议大家按先后顺序学习以下资源:

https://www.youtube.com/watch?v=rfscVS0vtbw&t=5s
https://www.youtube.com/watch?v=r-uOLxNrNk8

学会如何获取数据

数据通常不会直接送到你手里,有时根本就没有现成的数据,但无论如何,你必须找到一种方法来获得能使用的数据。

你工作的地方可能有一不错的数据收集系统,如果这样那你就可以省心了。如果没有的话,你必须找到一种方法来获取数据,不是任何数据都可以,而是可用来实现目标的有效数据。

获取数据并不完全等同于数据挖掘,它是数据挖掘的一个过程。你可以在互联网上许多地方获得免费和开源的数据,有时你可能需要从网站上抓取数据。网络爬虫非常重要,我希望每个人都能学习网络爬虫,因为你的职业生涯中可能会经常用到它。

网络爬虫教程:https://www.youtube.com/watch?v=0_VZ7NpVw1Y

数据有时会保存在数据库中,那么作为数据科学家、人工智能机器学习工程师,你还需要了解一点数据库管理知识,以便在工作中直接连接和使用数据库。在这个阶段,SQL 知识是非常重要的。

SQL 学习资源:https://www.youtube.com/watch?v=sTiWTx0ifaM&t=15s

学习如何处理数据

这通常被称为「数据整理」(Data Wrangling)。该过程包括数据清理, 这可以通过对数据执行一些探索性数据分析并删除数据中不需要的部分来完成。

数据整理过程还包括将数据结构化为可以使用的格式。在数据科学人工智能机器学习项目中,这个阶段是最累人的部分。在学习过程中,你将要使用的大多数样本数据都已经过预处理,但是现实世界中的数据可能还没有经过任何处理。作为一个有志于在这个领域做好的人,你应该寻找一些真实世界数据并进行处理。真实世界的数据几乎可以在任何地方找到,但是 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

人工智能机器学习

人工智能机器学习更像是数据科学的子集,因为它们都是由数据驱动的。它们指通过向机器或其他无生命物体提供经过良好处理的数据,使它们的行为与人类相似的过程。机器可以通过逐渐的教导和引导来做很多人类能做的事情。在这种情况下,我们可以把机器想象成一个完全没有知识的婴儿,他们逐渐学会识别物体、说话、从错误中学习并变得更好。我们也可以用同样的方式教机器做这些事。

人工智能机器学习大体上是通过多种数学算法来给机器赋能。人工智能机器学习的全部潜力仍然不为人知,因为它是一个不断发展的领域。但目前人工智能机器学习被广泛应用于认知功能,如目标检测和识别、面部识别、语音识别自然语言处理、欺诈和垃圾邮件检测等。

AI 和 ML 通用应用: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,以处理网站前后端之间的通信问题。

如果你打算通过 pipeline 或 docker 容器在云服务器上部署机器学习模型,那么你可能需要对云计算和运维有充分地了解。部署机器学习模型的方法有很多,但首先,我建议你学习如何使用 python web 框架 Flask 来部署机器学习模型。

教程:https://www.youtube.com/watch?v=UbCWoMf80PY

师傅领进门

能够自学成才当然很棒,但没有什么比直接从行业专家那里学习效果更好。有些知识通过学习现实生活中的概念就可以掌握,而有些知识只有亲身体验才能学会。

有导师在方方面面都非常有帮助,但不是每个导师都能对你的职业生涯或生活产生影响,所以拥有优秀的导师就显得非常重要了。Notitia AI 是一个不错的平台,可以培训从初学者到专家水平的数据科学人工智能机器学习。该平台会为你分配一个专属导师,在你选择的专业领域里给予个性化和专业的指导。

请注意,只参加课程和从在线资源中学习并不能使你成为一名真正的数据科学家、人工智能机器学习工程师。你还必须获得相关认证,有些工作岗位还要求学位。抓紧时间学习来获得证书或学位,你终将为从事该行业做好准备。


入门数据科学人工智能教程
4
相关数据
数据分析技术

数据分析是一类统计方法,其主要特点是多维性和描述性。有些几何方法有助于揭示不同的数据之间存在的关系,并绘制出统计信息图,以更简洁的解释这些数据中包含的主要信息。其他一些用于收集数据,以便弄清哪些是同质的,从而更好地了解数据。 数据分析可以处理大量数据,并确定这些数据最有用的部分。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

数据清理技术

数据清理(data cleansing)指删除、更正数据库中错误、不完整、格式有误或多余的数据。数据清理不仅仅更正错误,同样加强来自各个单独信息系统不同数据间的一致性。专门的数据清理软件能够自动检测数据文件,更正错误数据,并用全企业一致的格式整合数据。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

数据挖掘技术

数据挖掘(英语:data mining)是一个跨学科的计算机科学分支 它是用人工智能、机器学习、统计学和数据库的交叉方法在相對較大型的数据集中发现模式的计算过程。 数据挖掘过程的总体目标是从一个数据集中提取信息,并将其转换成可理解的结构,以进一步使用。

云计算技术

云计算(英语:cloud computing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机各种终端和其他设备。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

数据可视化技术

数据可视化被许多学科视为现代视觉传达的等价物。为了清晰有效地传递信息,数据可视化使用统计图形、图表、信息图和其他工具。数字数据可以使用点、线或条编码,以视觉传达定量消息。有效的可视化帮助用户对数据进行分析和推理。它使复杂的数据更容易理解和使用。用户可以根据特定的分析任务进行数据可视化,例如进行比较或理解因果关系,并且图形的设计原则(即,显示比较或显示因果关系)来进行可视化。表通常用于用户查找特定测量的地方,而各种类型的图表用于显示一个或多个变量的数据中的模式或关系。

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

推荐文章
暂无评论
暂无评论~