我如何成为数据科学家——没有计算机科学学位,没有训练营

原文:towardsdatascience.com/how-i-became-a-data-scientist-no-cs-degree-no-bootcamp-82c321904986

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/8591768ec10bf5b6f4931e0afab14426.png


毫无疑问,成为数据科学家(以我谦逊的观点来看)可能是目前最酷的工作之一,尤其是在今年 AI 的热潮中。

在这篇文章中,我想带您回顾我成为数据科学家的整个过程,为您提供一些关于如何成为数据科学家的见解和建议!

当然,成为数据科学家的最佳方法并不存在,条条大路通罗马。然而,我相信有一些强烈推荐的策略可以增加你获得理想第一份工作的可能性。

简要说明:我的目标是成为一名专注于机器学习的数据科学家。数据科学在不同的公司意味着不同的东西,因此了解你想要成为什么样的人很重要。然而,对于初级职位来说,这里有很多很多(这是一个英国的说法)。

cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FQbeY0_y2C54%3Ffeature%3Doembed&display_name=YouTube&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DQbeY0_y2C54&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FQbeY0_y2C54%2Fhqdefault.jpg&key=a19fcc184b9711e1b4764040d3dc5c07&type=text%2Fhtml&schema=youtube

我的背景

我来自一个数学和科学背景非常深厚的家庭。

我的妈妈有数学学位,我的祖父母研究物理学,我的曾祖父是一位工程师。您可以看到我的道路已经铺好了。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/d2679f7314554b7305082b9b65883a83.png

11 岁时的我。

“自然而然”地,我倾向于物理学,主要是从 12 岁时看《生活大爆炸》这部电视剧开始的!

幸运的是,我在数学和物理学方面相当出色,取得了 4 个 A*(数学、高等数学、物理和化学),3 个 A 和 5 个 B。还不错,但显然我不是一个天才。

此外,我的职业道德很低,而我的傲慢却很高。这不是一个好的组合。

考虑到我的成绩,我选择了数学、高等数学、物理和化学作为我的 A-levels 课程。如果你是美国人,这些课程相当于你高中最后两年的课程。

在那个阶段,我梦想成为 20 世纪初突破浪潮中某个顶尖机构的理论物理研究员。

由于有些幻想,我申请了世界上最有争议的大学之一,牛津大学学习物理学。

LOL。

显然,我没有通过他们的入学考试,因为我几乎没有准备,并且认为我会仅仅凭借我的纯粹,或者说缺乏,智力通过。

在英国,你通过一个叫做 UCAS 的系统申请,你可以选择最多五所大学申请。我的选择都是(所有都是学习物理):

  • 牛津

  • 伦敦帝国理工学院

  • 诺丁汉

  • 曼彻斯特

  • 南安普顿

所以,牛津和帝国理工学院因为明显的原因拒绝了我,但我得到了剩余三个学校的录取通知。我的首选是曼彻斯特,我需要 AAA,我的保底选择是南安普顿,需要 AAA。

在你的 A-Level 第二年,你放弃一门科目,并将三门科目带到你的最后一年。尽管我在第一年取得了 AAAB 的成绩,物理得了 B,我还是把数学、进阶数学和物理带到了最后一年,放弃了化学。

因此,我至少需要 AAA 才能进入我选择的两个大学。你知道我得到了什么吗?

ABC(分别是数学、进阶数学、物理)*

虽然很沮丧,但我并不太惊讶,考虑到我在这些考试上投入的工作很少,尽管它们是我迄今为止生活中最重要的考试。

你可能想知道接下来发生了什么?

嗯,在英国,我们有一种叫做 clearing 的系统,学生如果错过了他们的目标大学,可以申请其他大学的一些空余课程。

尽管物理是我最差的科目,但我仍然决心学习物理。

几所大学有一些空缺,但只会接受我学习数学。可以理解。然而,幸运的是,萨里大学为我提供了一个学习核天体物理学物理的机会!

对物理失去兴趣

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/9cd185a7db2f3c3f1ccf0187a24dfd42.png

图片由Jon TysonUnsplash提供

在我大学期间,以及从我在学校的失败中,我学到了,无论你认为自己有多聪明,真正没有替代品的是努力工作。

一个令人尴尬的陈词滥调,但这是真的。

我在前两年取得了优等成绩,并被物理硕士项目录取。在这个时候,我仍然希望成为一名物理研究人员,并申请攻读博士学位。

在我的第三年,我们必须作为硕士论文和学位的一部分进行一个研究年。这有点像迷你博士。

我的这一年是在伦敦的国家物理实验室度过的,我的研究重点是使用声学温度计(使用声音来测量温度)进行计量学(测量的科学)。

我多少有点享受这一年,但至少在物理学中,研究的步伐是痛苦地缓慢。根本不像我设想的 20 世纪初的“黄金时代”。

这相当令人沮丧,因为直到那时,我唯一想做的就是成为一名研究人员,但我不能忽视我的直觉告诉我的事情。

我的问题是:接下来是什么?

发现数据科学

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/d740852f1bf389370f553127a563c40c.png

图片由 Joonas SildUnsplash 提供

我至今仍记得我是如何发现数据科学的,或者更具体地说,是机器学习。

有一天下班后,在我的 YouTube 主页上有人推荐了一个视频。

AlphaGo – The Movie

对于那些不知道的人来说,这是一部关于 DeepMind 的 AI AlphaGo 击败世界最佳围棋选手的纪录片。大多数人认为人工智能永远不可能擅长围棋。

从视频中,我开始深入了解人工智能的工作原理,并学习有关神经网络、强化学习和深度学习的所有知识。

我发现这一切都如此有趣,类似于 20 世纪初的物理学研究。

自然地,我深入挖掘并发现数据科学家使用人工智能和机器学习算法来解决问题。我立刻想加入其中。

学习数据科学

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/548f2676750ecdf49c726f8324b2c8e1.png

图片由 Scott GrahamUnsplash 提供

和大多数人一样,我有一个古老的问题(对于一些人来说)我该如何学习数据科学?

数据科学涉及许多领域:计算机科学、统计学和数学是主要的。乍一看可能令人感到压倒,但一旦分解成小块,实际上是非常可行的。

我甚至在攻读物理学硕士学位的最后一年期间完成了所有这些学习。

数学与机器学习

由于我的背景是物理学,我几乎拥有了所有需要的数学知识:

  • 线性代数:矩阵、特征值等

  • 微分和积分(微积分)

  • 基础统计学:概率分布,线性回归

这非常幸运,所以我可以立即开始专注于理解机器学习的内部机制。

我上的第一门课程是 Andrew Ng 的机器学习专项课程。我是在它还是 2012 年版的时候上的,那时的编码练习是在 Octave/Matlab 中进行的。

最近,它已经更新并增加了更多前沿主题,如推荐系统和强化学习,所有练习都在 Python 中进行。

这门课程教了我所有机器学习算法的基础。在我甚至开始用代码实现它们之前,这些都是这样的。我认为建立算法背后的直觉是非常宝贵的。

Python 或 R?

在那个时期,Python 和 R 是数据科学家使用的两种编程语言。我找到的大多数工作和在线资源都说,对于入门级工作来说,你了解哪一种并不重要,所以我选择了 Python,因为它是更实用的语言。

在我的物理学学位期间,我学会了用 Fortran 编程。对于那些不熟悉的人来说,Fortran 是 20 世纪 50 年代发明的最古老的“高级”编程语言。然而,我们却在 2017 年被教授它。

Fortran 几乎不适合初学者,并且是我学到的第一种语言。它立刻让我讨厌编程。然而,如果我要成为一名数据科学家,我需要编程。

尽管我不喜欢 Fortran,但它确实教会了我如何使用代码进行思考和解决问题。Fortran 非常基础,几乎像 C 语言一样,所以我学到了很多信息和最佳实践。

当涉及到 Python 时,我发现它非常直观,因为它是高级的,而且几乎有针对所有事情的包。

我通过给一位运行计算物理模块的物理教授发电子邮件,并请求他提供课程笔记来学习 Python。

我还参加了其他在线课程,例如Tutorial Sprint.坦白说,任何 Python 入门课程都是足够的。需要了解的主要事情是:

  • 基本语法和数学运算符

  • 控制流程:循环、if 语句

  • 函数

  • 基本数据结构:列表、字典、数组

之后,我从Andrew Ng 的深度学习课程Kaggle提供的课程中学习了数据科学特定的包。一般来说,需要了解的关键包包括:

  • Numpy

  • Pandas

  • Sci-Kit Learn

  • Matplotlib

你只需掌握这四个就能走得很远。

SQL

我认为 SQL 比 Python 不那么重要,但这确实取决于你想要成为哪种类型的数据科学家。尽管如此,它仍然是你的箭袋中不可或缺的一支。

相比 Python,SQL 的学习相对容易,或者至少变得熟练是容易的。我几乎所有的 SQL 技能都是从以下两门课程中学习的:

如果你上这两门课,你将几乎知道足够多的 SQL,以应对任何数据科学面试或测试。

项目

现在是时候尝试一些项目了!

这被称赞为学习任何编程知识的最佳方式。我学到了足够的知识,这是关键点,开始做一些基本的建模项目。

我在 Kaggle 上找到了一些随机的数据集,并开始拟合基本模型。你可以在 GitHub 上查看我的一些早期 项目

回顾过去,与现在的能力相比,这些项目并不很好。但它们让我有机会亲自动手。当我申请工作时,我有一些可以展示给面试官的东西!

获得第一份工作

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/2900f91dc6f648700e32e2504e08d613.png

图片由 Cytonn PhotographyUnsplash 提供

最困难的部分是获得第一份工作。你花了那么多时间学习数学、机器学习、统计学和编码,希望它能得到回报,你能够获得第一份工作。

当我说我在大学最后一年申请了 300+ 个工作,307 个具体来说,我并不是在开玩笑。它们并不都是数据科学相关的,但大部分是。

这并不是要让你气馁,而且我可能并没有采取最好的方法,但获得第一份工作确实是一场数字游戏。这个规则有例外,但我们中的大多数人需要经过几次面试才能得到第一份工作。

我的第一份工作是在一家汽车和家居保险公司担任数据科学实习生。它不是 FAANG 或一些花哨的对冲基金。我在第一份工作中学到了很多,并与一些了不起的人共事。所以,对于你的第一份工作,尽量找到一些扎实的东西。如果你成功进入了一家大科技公司,那很好。如果没有,你仍然可以在你喜欢的行业中找到一份工作。

我作为数据科学家的成长大部分来自于为新项目做志愿者、在旁边学习以及一些日常工作之外的热情项目,因为我热爱它。

我坦率的建议

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/f0eb36f852264d29ef9a6c14af1cfab3.png

图片由 LinkedIn Sales SolutionsUnsplash 提供

我想为那些想要进入数据科学领域的人提供一些建议。

我的旅程是从 2021 年 1 月开始学习数据科学,到 2021 年 7 月获得第一份工作邀请,一共六个月多一点。

现在,我并不是在做白日梦,我意识到我有一些优势,因为我有物理学硕士学位,这意味着我已经掌握了大部分数学知识,并且有一些 Fortran 编码的先前经验。

然而,这些并不是我获得第一份工作的唯一原因。

Python 还是 R?

Python,Python,Python,Python,Python

人们可能会不同意我,但就目前而言,学习 R 进行数据分析有点浪费时间。

我认识的每一位数据科学家都在使用 Python,每家公司都在使用 Python。尤其是在如今,数据科学家越来越多地与生产和软件工程方面交织在一起,Python 在这方面比 R 更适合。

Python 也更加有用,因为你可以用它来构建网站和做后端基础设施。所以,如果你曾经想要过渡到另一个技术角色,那就容易多了。

避免教程地狱

无论你做什么,都不要陷入教程地狱。在以下领域选择一门课程:

  • 机器学习

  • Python

  • SQL

  • 统计学和数学(如果你不是 STEM 背景出身)

然后立即开始做一些简单的项目。学习足够多的东西来开始,这就是你应该这样思考的方式。

我计划做一个完整的“学习数据科学路线图”,其中我会链接所有有用的课程,所以请保持关注!

如何脱颖而出

在我看来,你脱颖而出的方式是通过记录你正在学习或已经做的事情。这里有一些选择:

  • GitHub 个人资料 -> 创建并丰富你的 GitHub 个人资料(如果你需要一些灵感,可以看看我的)。至少添加一个仓库,可以是任何你完成的项目或一些编码挑战。这表明你对数据科学感兴趣。

  • 写博客文章 -> 这真是太简单了,我惊讶为什么更多的人不做这件事。我会直接告诉你写什么。了解主题 X,然后写一篇关于主题 X 的短文。例如,了解 Python 中的函数,然后写一篇关于 Python 中函数的博客文章。目标不是走红,而是让它成为你可以向雇主展示的公开学习日志。

  • Kaggle 竞赛 -> 这一项有点难,但如果你能参加一个 Kaggle 竞赛并有一个不错的解决方案,那就真的很不错。大多数 Kaggle 竞赛旨在解决现实世界的商业问题,这正是你作为实践中的数据科学家将要做的。

主要是做任何其他人都不做的事情,以展示你对这个领域的兴趣。这是经典的帕累托法则,做 20%的事情会给你带来 80%的优势。

回顾

成为数据科学家是一个永无止境的过程,因为总有新的领域去探索和学习。我只是在职业生涯的第二年,只是刚刚开始用数据解决商业问题。

我的故事不是绝对指南,不要把它当作圣经。然而,它确实展示了成为数据科学家的一种方式,并希望它已经激励了你的旅程。


总结一下,这是我的顶级建议:

  • 确保学习机器学习算法背后的理论,这是无价的,并且从长远来看会得到回报。

  • 学习足够的 Python(不是 R)和 SQL 以开始你的项目,这是你真正学习的方式。

  • 尝试做一些别人不会在申请职位时做的事情,以脱颖而出。想法包括写博客、参加 Kaggle 竞赛,甚至是一个活跃的 GitHub 个人资料。

另一件事!

我提供一对一的辅导通话,我们可以讨论你需要的一切——无论是项目、职业建议,还是只是确定你的下一步。我在这里帮助你前进!

与 Egor Howell 的一对一辅导通话

职业指导、工作建议、项目帮助、简历审查topmate.io](https://topmate.io/egorhowell/1203300)

与我建立联系

基于径向基函数神经网络RBFNN的自适应滑模控制学习(Matlab代码实现)内容概要:本文介绍了基于径向基函数神经网络(RBFNN)的自适应滑模控制方法,并提供了相应的Matlab代码实现。该方法结合了RBF神经网络的非线性逼近能力和滑模控制的强鲁棒性,用于解决复杂系统的控制问题,尤其适用于存在不确定性和外部干扰的动态系统。文中详细阐述了控制算法的设计思路、RBFNN的结构与权重更新机制、滑模面的构建以及自适应律的推导过程,并通过Matlab仿真验证了所提方法的有效性和稳定性。此外,文档还列举了大量相关的科研方向和技术应用,涵盖智能优化算法、机器学习、电力系统、路径规划等多个领域,展示了该技术的广泛应用前景。; 适合人群:具备一定自动控制理论基础和Matlab编程能力的研究生、科研人员及工程技术人员,特别是从事智能控制、非线性系统控制及相关领域的研究人员; 使用场景及目标:①学习和掌握RBF神经网络与滑模控制相结合的自适应控制策略设计方法;②应用于电机控制、机器人轨迹跟踪、电力电子系统等存在模型不确定性或外界扰动的实际控制系统中,提升控制精度与鲁棒性; 阅读建议:建议读者结合提供的Matlab代码进行仿真实践,深入理解算法实现细节,同时可参考文中提及的相关技术方向拓展研究思路,注重理论分析与仿真验证相结合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值