阿勒泰地区网站建设_网站建设公司_Spring_seo优化
2025/12/21 0:04:51 网站建设 项目流程

原文:towardsdatascience.com/how-id-learn-machine-learning-if-i-could-start-over-c68d697e6a8a

    我已经作为一名数据科学家工作了两年多。随着时间的推移,我学习和主要研究机器学习(ML)。对我来说,这可能是工作中最迷人的部分。

    机器学习是一个领域,有很多东西要学习和理解。然而,一步一步来会使整个过程不那么令人畏惧,并且更容易处理。

    在这篇文章中,我想回顾一下如果我要从头开始学习机器学习,我会采取哪些步骤。让我们开始吧!

    cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F5m3jsWhRCZU%3Fstart%3D160%26feature%3Doembed%26start%3D160&display_name=YouTube&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D5m3jsWhRCZU&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F5m3jsWhRCZU%2Fhqdefault.jpg&key=a19fcc184b9711e1b4764040d3dc5c07&type=text%2Fhtml&schema=youtube

    数学

    机器学习围绕着算法,这些算法本质上是一系列数学运算。这些算法可以通过各种方法和多种编程语言实现,但它们的底层数学原理是相同的。

    一个常见的论点是,你不需要数学知识来学习机器学习,因为大多数现代库和包都抽象了算法背后的理论。

    然而,我认为如果你想要成为一名顶级机器学习工程师或数据科学家,你至少需要了解线性代数、微积分和统计学的基础。

    当然还有更多的数学要学习,但最好从基础知识开始,你总是可以在以后丰富你的知识。

    你不需要对这些概念有硕士水平以上的理解,但应该能够回答诸如什么是导数、如何乘矩阵以及什么是最大似然估计等问题。

    我刚才列出的清单几乎是每个机器学习算法的基础,因此拥有这个坚实的基础将使你在长期内取得成功。

    我推荐你学习的一些关键内容包括:

    • 多元微积分

    • 矩阵及其运算

    • 特征向量和特征值

    • 概率分布

    • 统计不确定性(置信区间、预测区间等)

    现在,有许多课程可供选择,你可以学习所有必需的数学知识。为了全面了解,我推荐观看**freeCodeCamp上的线性代数微积分统计学**的视频。

    你还可以使用像**Khan AcademyBrilliant**这样的网站,这些网站在这些主题上拥有丰富的资源。它们还有广泛的其它领域,所以请随意探索!

    Khan Academy | 免费在线课程、课程与实践

    Brilliant | 互动学习

    我的主要建议是找到一门课程,完成它并继续前进。如果你在知识上有所欠缺,或者甚至可以使用谷歌来查找信息!

    Python

    Python 是机器学习的黄金标准和首选编程语言。

    初学者常常陷入所谓的“最佳学习 Python 方法”的困境。实际上,任何入门课程都足够了,因为它们会教授所有相同的内容。

    我推荐的是**tutorialspointw3schoolsfreeCodeCamp**。我曾在某个时候使用过所有这些资源,它们非常有用,尤其是对于那些对这门语言完全陌生的人来说。

    你想要学习的主要内容包括:

    • 原生数据结构(字典、列表、集合和元组)

    • for 和 while 循环

    • if-else 条件语句

    • 函数和类

    • 一些基本的数学函数

    Python 教程

    在学习任何 Python 入门课程时,我最重要的建议是与课程一起编码。你需要动手实践,以便让关键概念深入人心。所以,确保你在做练习。

    机器学习库

    在掌握基本的 Python 技能之后,是时候学习一些更具体的数据科学和机器学习包了。我推荐的是:

    • NumPy –这个库是为科学计算设计的,提供了许多数学函数和矩阵支持。它用 C 语言开发,具有优化的计算,这对于处理大型模型和大数据特别有益。一如既往,我推荐freeCodeCamp课程*。

    • *Pandas –这是 Python 中加载、操作和数据处理的首选库。它非常适合几乎任何数据分析任务,并且易于使用。freeCodeCamp pandas 速成课程。

    • Matplotlib– 作为一名数据科学家,你需要可视化你的数据或结果。Matplotlib 由于其广泛的功能,是 Python 中的主要可视化包。freeCodeCamp 课程.**

    我还推荐学习和安装**Anaconda,这是一个用于科学计算的 Python 和 R 的软件发行框架。它基本上是一个一站式商店,用于数据科学和机器学习,并附带所有必要的包,包括 Python、Jupyter Notebooks和环境管理器。再次推荐这个freeCodeCamp 视频,它详细介绍了如何安装和使用 Anaconda**。

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

    与前面的部分一样,不要在这个部分花费太多时间,也不要陷入教程地狱。学习基础知识,然后继续下一步,这可能是最激动人心的!

    机器学习算法与理论

    这就是乐趣开始的地方!

    前三个步骤都是关于为应对机器学习做好准备你的基础。这些基础任务不应该花费太多时间,可能一个月左右。

    然而,由于课程长度,机器学习理论部分可能需要一些时间。重要的是不要急于求成,因为每个后续步骤和模型通常都是基于前面的内容构建的。

    我在旅程开始时选择的课程,以及我推荐你从它开始的课程是 Coursera 上的**安德鲁·吴的机器学习专项课程。我是在 2020 年上这门课,当时它还在使用 Octave!然而,它已经进行了更新。其中包含了一些前沿主题,例如推荐系统强化学习**,更不用说编码教程现在都是用 Python 编写的了!

    机器学习

    这门课程将教你机器学习的方方面面,并让你通过使用专门的机器学习包(如**Sci-Kit LearnXGBoostTensorFlow**)在 Python 中实际操作这些知识。

    尽管这门课程是入门级别的,但它将涵盖你在机器学习面试中可能遇到的所有问题,尤其是如果你正在申请初级职位。

    我推荐的下一门课程是 Andrew Ng 的**深度学习专项课程。这是机器学习专项课程的后续课程,将教你关于深度学习所需了解的一切。它甚至触及了大型语言模型 (LLMs)**!

    深度学习

    虽然这两门课程将涵盖你需要的几乎所有机器学习理论,但请随时进行研究和补充你的学习。有如此多的细分领域和专业,在这里列出所有这些领域及其课程将是一项浩大的工程。

    例如,我最近参加的一门课程是**Andrey Karpathy 的神经网络:从零到英雄**。它从零开始构建神经网络,相当基础。然而,在最后一集中,我们构建了自己的生成预训练转换器(GPT),这是驱动 ChatGPT 和最近 AI 热潮的大多数模型!

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

    练习

    学习任何东西的最佳方式是实践并获取实际操作经验。这无疑是学习机器学习最重要的步骤,因为它真正巩固了你的理解。

    Kaggle

    我建议首先参加一些**Kaggle**的比赛。唯一的目标不是赢得比赛和赚钱,而是学习如何将机器学习算法应用于现实世界的问题。本质上,这就是机器学习在工业界的使用方式,用于解决商业问题。

    尝试参加各种比赛,以在多个领域获得经验。其中一些最常见的是时间序列预测、计算机视觉和语言建模。这将扩大你的知识面,并帮助你了解你将来想要专精的方向!

    从零开始学习机器学习

    我还使用的方法是使用基本的 Python 和像 NumPy 这样的包从头开始实现机器学习算法。能够从第一原理编写算法是学习它的最佳方式之一。

    你可以从简单的**线性回归梯度下降开始。然后过渡到更难的内容,最终逐步提升到浅层的神经网络**!

    你可以查看我的git 仓库,我在那里从头开始编写了一些这些算法。

    GitHub – egorhowell/ML-Algorithms-From-Scratch: 从第一原理推导机器学习算法…

    如何“真正”脱颖而出

    如果你想将事情提升到下一个层次,那么你需要展示你的工作。这是一个不对称的系统。投入额外的 20%将使你领先于 80%的人

    博客

    开始的最简单方式是拥有一个博客。写关于机器学习概念和算法的文章将提高你的理解,并向潜在雇主展示你的工作。很少有人会这样做,所以你将成为实践者中的顶尖人物。

    你可以从写任何东西开始。例如:神经网络是如何工作的,或者什么是**马尔可夫链。我发现写一系列关于一个主题的博客很有用。例如,这是我的卷积神经网络系列**。

    卷积神经网络

    随着时间的推移,你可以写更复杂的话题,并开始发展一个可以帮助你定位求职方向的专长。尽管,在职业生涯的早期,这可能不太可能。

    研究论文

    要更进一步,你可以重新实现一篇研究论文。这取决于你选择哪篇论文,但这非常困难。我之前尝试过,发现很难匹配论文中给出的结果。尽管如此,这是学习机器学习的巅峰,你将在过程中获得宝贵的知识。

    要找到论文,我建议订阅并关注每周机器学习论文。他们有一个 时事通讯 和 Twitter 账号,每周都会发送出该周发布的最大 AI 论文及其关键链接。

    cdn.embedly.com/widgets/media.html?type=text%2Fhtml&key=a19fcc184b9711e1b4764040d3dc5c07&schema=twitter&url=https%3A//twitter.com/dair_ai/status/1749103950677111162&image=

    要理解和实现论文,我建议以下步骤:

    • 阅读与消化– 仔细阅读,确保你理解了作者的目标、模型和结果。

    • 数据– 如果可能的话,尝试获取论文中使用的相同数据。以你自己的速度阅读和分析数据。

    • 研究模型架构– 审查模型及其结构,尝试并学习作者为何为他们的问题选择这种特定的架构。

    • 实施– 开始构建模型并生成结果。一步一步来,缓慢迭代简单的步骤。

    记录这项工作也同样重要。你可以在任何地方做这件事,比如在 Twitter/X、LinkedIn、GitHub 个人资料,甚至是一篇博客文章。重新实现一篇论文是脱颖而出的一种最佳方式,尤其是如果你想从事机器学习研究。

    摘要

    如果我必须从头开始学习机器学习,我会采取以下步骤。重要的是要注意,没有一种方法适合所有人,你需要根据你的背景和经验来定制你的学习。我列出的部分课程和教程可能不适合你,这没关系。主要的收获是简单地学习基础知识,以及足够多的知识,以便开始深入研究真正的机器学习问题和项目。

    快乐学习!

    另一件事!

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

    [1:1 与 Egor Howell 的辅导通话

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

    与我联系

    • YouTube

    • LinkedIn

    • Instagram

    • 网站

    需要专业的网站建设服务?

    联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

    立即咨询