码迷,mamicode.com
首页 > 其他好文 > 详细

自学是一门艺术:踏上数据科学、人工智能和机器学习的自学之路

时间:2020-12-22 11:47:50      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:产生   写代码   获得   概念   mat   抓取数据   注意   pip   tis   

技术图片
图源:unsplash

学习是最好的投资,在B站最大的作用都变成学习之后,人们在互联网上学习什么都不稀奇了。没错,数据科学、人工智能和机器学习也是可以自学的。

时间和金钱常常是人们打算学习一门新技能时面临的两大障碍,而自学是一门需要自律和投入才能掌握的艺术。掌握得当,能将学习很好地融入工作生活中。然而,学习数据科学、人工智能或机器学习的起步阶段是非常艰难的,自学取得良好进步的关键是按照自己的节奏学习。

本文中笔者将分享一条想要学习数据科学、人工智能和机器学习的人们可以遵循的、在学习新事物时能取得进步的道路。

学习数学

很多人谈到数学如临大敌,但在这个领域学数学是非常必要的。我相信,读到这篇文章的人至少都有从高中学到的基础到中等的数学知识。这作为开始来说足够了,但在数据科学、人工智能和机器学习领域还远远不够。你需要深入一点,学习一些统计学、代数和其他主题中的概念。

学习代码

初学者不要直接学习为机器学习编写代码,先要学习编程的一般核心概念。了解什么是编程,了解现有的代码类型以及如何正确地编写代码。

这是非常重要的,因为你会学习到许多基本概念,这些概念将伴随你在这个领域的余生。慢慢来,不要急于学习高级的东西,理解这一步中的大部分内容将决定你在这个行业的高度。

技术图片
图源:unsplash

让自己适应一种编程语言

现在数据科学家、人工智能和机器学习工程师使用多种语言来完成工作,最常用的语言是Python、R语言、Java、Julia和SQL等,也可以使用许多其他语言,笔者列出的是最常用的语言,原因有很多:

· 它们是开源的,可以免费使用。
· 它们能用更少的代码做更多的事情。
· 如果花费足够的时间学习并坚持,它们学起来容易,进步也很快。
· 它们有一个优秀可靠的团体,在你遇到任何问题时提供帮助和支持。
· 它们拥有你作为一个数据科学家,人工智能或机器学习工程师将会需要的几乎所有的库和包。

在最开始学习编程语言时必须慢慢来,尽可能不要同时学习一种以上的语言,这会使人感到混乱,还可能在一段时间内迷失方向。不要着急,一次学习一门语言,确保只学语言中你的工作需要的那部分。

笔者建议在学习其他语言之前先学习python,它是一种相对容易理解的语言。笔者还建议在学习用于数据科学和人工智能/机器学习的python之前先学习综合的python。

学习如何获取数据

通常,数据不会直接给到你,有时甚至根本就没有数据,但无论如何,你必须找到一种方法来获取可以使用的数据。你的公司可能有很好的数据收集系统,那就很方便了;如果没有,你必须找到获取数据的方法,不是任意的数据都行,而是可以用来实现目标的优质数据。

获取数据并不直接意味着挖掘数据,它是数据挖掘下的一个过程。可以在互联网上的许多地方获得免费和开源的数据,有时你需要从网站上抓取数据。网页抓取每个人都该学习一下,它可能出现在数据科学家,人工智能或机器学习工程师的整个职业生涯里。

数据也可以保存在数据库中,因此作为数据科学家、人工智能或机器学习工程师,必须了解一些数据库管理知识,以便能够连接到数据库并直接从中工作。在这个阶段,SQL的知识是非常重要的。

技术图片
图源:unsplash

学习如何处理数据

这通常被称为数据整理:这个过程包括清理已有的数据,可以通过对已有的数据执行一些探索性数据分析并删除数据中不需要的部分来完成。这个过程还涉及到将已有的数据结构化为可以使用的表单。

在进行数据科学、人工智能或机器学习的项目时,这是最消磨精力的部分。学习过程中使用到的大多数示例数据都经过了预处理,但是现实世界中的数据可能没有经过任何处理阶段。

如果渴望在这个领域做得好,你应该找到一些真实世界的数据并以此展开工作。虽然真实世界的数据几乎可以在任何地方找到,但是Kaggle是一个可以从全球各大公司获得真实世界数据的神奇地方。数据处理是一项极其累人的任务,但只要持之以恒,它就会成为一件非常有趣的事情。

学习如何可视化数据

技术图片
图源:unsplash

作为一名数据科学家、人工智能或机器学习工程师,不一定你的公司里或团队中的每个人都能够理解你所在领域的技术细节,或者能够从原始数据中做出推断。这就是为什么我们需要学习可视化数据。

数据可视化基本上是指将数据以图形的形式呈现出来的过程,以便让所有人了解数据是关于什么的,无论他们是否了解数据科学、人工智能或机器学习。

有许多可视化数据的方法。作为程序员,编写代码来可视化数据是万能方法,既快速又无需成本。编写能够将数据可视化的代码,可以用编程语言附带的许多免费和开源库来完成,Matplotlib、Seaborn和Bokeh都是可以用来可视化数据的python库。

另一种方法是使用封闭源代码工具,比如Tableau。有许多用于数据可视化的封闭源工具,可以用来制作更简练、更复杂的可视化,但是要收费。Tableau是最常见的一个,也是笔者经常使用的一个工具。

人工智能和机器学习

人工智能和机器学习更像是数据科学的子集,因为它们都是由数据驱动的,指的是通过向机器或其他无生命的物体输入处理好的数据,训练它们,使其表现得像人类一样的过程。

技术图片
图源:unsplash

通过逐步地教导和引导机器,它们可以做许多人类做的事情。你可以把机器想象成完全没有知识的婴儿,它逐渐学会识别物体、说话、从错误中学习然后变得更好。机器也可以用同样的方式接受教导去做大部分事情。

人工智能和机器学习通过使用数学算法给机器带来生命,其全部潜力仍然未知,这是一个不断改进的领域。目前,人工智能和机器学习广泛应用于认知功能,如物体检测和识别、面部识别、语音识别和自然语言处理、欺诈和垃圾邮件检测等。

学习如何将机器学习模型应用到互联网上

使用机器学习构建的模型可以通过部署让网络上的每个人找得到。要做到这一点,需要对网页开发有良好的理解,你需要创建一个或一组网页来容纳模型。

网站的前端也需要与包含模型的后端通信。为此,你还需要知道如何构建和集成APIs来处理网站前端和存放机器学习模型的后端之间的通信。如果你想要通过pipeline或docker容器将机器学习模型部署到云服务器上,那么你可能需要对云计算和DevOPs有很好的理解。

部署机器学习模型有很多方法,但首先,笔者建议学习使用python web框架Flask部署机器学习模型。

给自己找个导师

技术图片
图源:unsplash

自学不意味着闭门造车,没有什么比直接向行业内专业人士学习更好的了,这样你才能学习到真实生活中的概念和其他只有亲身经历才能教授的东西。

拥有一位导师有很多好处,但并不是每个导师都能对你的职业或生活产生有效的影响,一个好的导师很重要。NotitiaAI是一个把数据科学、人工智能和机器学习领域的初学者培养成专家的平台,平台会给你指派一位个人导师,亲自专业地帮助你在所选领域成长。它是我能找到的最实惠的虚拟培训和指导平台。

请注意,仅仅通过学习课程和在线资源并不足以让你成为数据科学家、人工智能或机器学习工程师。你还必须获得这些领域的机构认证,有些职位还有学历要求。花时间学习,获得证书或学位,你才准备好了进入这个行业。

但毫无疑问,互联网让学习变得简单,你离数据科学前所未有的近。

留言点赞发个朋友圈

我们一起分享AI学习与发展的干货

编译组:蔡漫祺、蔡雪莲
相关链接:
https://towardsdatascience.com/the-self-learning-path-to-becoming-a-data-scientist-ai-or-ml-engineer-9ab3a97ca635

如转载,请后台留言,遵守转载规范

推荐文章阅读

ACL2018论文集50篇解读
EMNLP2017论文集28篇论文解读
2018年AI三大顶会中国学术成果全链接
ACL2017论文集:34篇解读干货全在这里
10篇AAAI2017经典论文回顾

长按识别二维码可添加关注
读芯君爱你

技术图片

自学是一门艺术:踏上数据科学、人工智能和机器学习的自学之路

标签:产生   写代码   获得   概念   mat   抓取数据   注意   pip   tis   

原文地址:https://blog.51cto.com/15057819/2565158

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!