0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

我想学习机器学习和人工智能,该从哪开始呢?

倩倩 来源:lq 作者:机器之心Pro 2019-09-20 10:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

都说做一件事情最好的时机就是「现在」,但是从何开始往往会难倒一大批人,更不用说是想要入门数据科学和机器学习的朋友了。本文是一篇科普扫盲文章,作者以初学者的视角,为同样想「入坑」的读者们提供了一些建议,还有一些可以获得的学习资源。

「我想学习机器学习和人工智能,该从哪开始呢?」

从这里开始。

两年前,我开始在网上自学机器学习,并且通过 YouTube 和博客分享了我的学习过程。我并不知道我在做什么,在决定开始学习机器学习之前我从没写过代码。

当人们发现我的作品,他们通常会私信并提问。我不一定知道所有的答案,但我会尽量回复。人们最常问的问题是:「该从哪开始?」,其次是:「我需要多少数学基础?」

今天早上我就回答了一堆这样的问题。

有人告诉我他已经开始学习 Python 并打算学习机器学习了,但不知道下一步该做什么。

「我已经学习了 Python,下一步该做什么?」

我回复了一系列学习的步骤,并且复制到了这里。如果你想成为一个机器学习从业者,却不知道怎么写代码的话,可以把本文当作一个大纲。我的学习风格是代码优先:先把代码运行起来,再根据需要学习理论、数学、统计以及概率等方面的东西,而不是一开始就学理论。

记住,开始学习机器学习你会面临很多阻碍。别急,慢慢来。把这篇文章添加到收藏夹,以便随时参考。

我倾向于使用 Python,因为我是从 Python 开始的,并且一直在持续使用它。你也可以用其他语言,但本文的所有步骤都是基于 Python 的。

学习 Python、数据科学工具和机器学习概念

问我问题的那些邮件作者们说他们已经学了一些 Python。但这一步也同样适用于新手。花几个月的时间学习 Python 编程和不同的机器学习概念。这两部分知识你都会需要。

在学习 Python 编程的同时,练习使用 Jupyter 和 Anaconda 等数据科学工具。花几个小时来研究一下,它们是用来做什么的以及为什么要使用它们。

学习资源

人工智能要素 (https://www.elementsofai.com/)—人工智能和机器学习主要概念概述。Coursera 上的 Python 教程—(https://bit.ly/pythoneverybodycoursera) 从头学习 Python。通过 freeCodeCamp 学习 Python (https://youtu.be/rfscVS0vtbw)—一个视频涵盖了 Python 所有主要概念。Corey Schafer 的 Anaconda 教程 (https://youtu.be/YJC6ldI3hWk)—一个视频学会 Anaconda(数据科学和机器学习需要的配置环境)。Dataquest 的新手 Jupyter Notebook 教程 (https://www.dataquest.io/blog/jupyter-notebook-tutorial/)—一篇文章学会启动和运行 Jupyter Notebook。Corey Schafer 的 Jupyter Note 教程 (https://www.youtube.com/watch?v=HW29067qVWk)—一个视频学会使用 Jupyter Notebook。

学习通过 Pandas、Numpy 和 Matplotlib 进行数据分析、操作和可视化

一旦你已经掌握了一些 Python 技巧,就会开始想要学习如何处理和操作数据,为了实现这一目的,你需要熟悉 Pandas、Numpy 和 Matplotlib。

Pandas 可以帮助你处理二维数据,类似 Excel 文件里的信息表,包含行和列。这类数据被称为结构化数据。Numpy 可以帮助你进行数值计算。机器学习把你能想到的所有东西都转化成数字,进而在这些数字中寻找模式。Matplotlib 可以帮助你绘制图形和可视化数据。理解表格中的一堆数字对人类来说可能很困难。我们更喜欢看到有一条线穿过的图。可视化可以更好得传达你的发现。

学习资源

Cousera 上的 Python 应用数据科学 (http://bit.ly/courseraDS)—开始打磨数据科学方向的 Python 技能。10 分钟入门 pandas (https://pandas.pydata.org/pandas-docs/stable/gettingstarted/10min.html)—快速概览 pandas 库及其部分最有用的函数。Codebasics 的 Python pandas 教程 (https://youtu.be/CmorAWRsCAw)—该 YouTube 系列介绍了 pandas 的所有主要功能。freeCodeCamp 的 NumPy 教程 (https://youtu.be/QUT1VHiLmmI)—一个 YouTube 视频学会 NumPy。Sentdex 的 Matplotlib 教程 (https://www.youtube.com/watch?v=q7Bo_J8x_dw&list=PLQVvvaa0QuDfefDfXb9Yf0la1fPDKluPF)—YouTube 系列助你学会 Matplotlib 所有最有用的功能。

借助 scikit-learn 学习机器学习

现在你已经掌握了操作和可视化数据的技能,是时候学习在数据中寻找模式了。scikit-learn 是一个 Python 库,它内置了许多有用的机器学习算法供你使用,它还提供了许多其他有用的函数来探究学习算法的学习效果。

重点在于学习都有什么样的机器学习问题,比如分类和回归,什么样的算法最适合解决这些问题。现在还不需要从头开始理解每个算法,先学习如何应用它们。

学习资源

Data School 的基于 scikit-learn 的 Python 机器学习 (https://www.youtube.com/watch?v=elojMnjn4kk&list=PL5-da3qGB5ICeMbQuqbbCOQWcS6OYBr5A)—一个 YouTube 播放列表教你 scikit-learn 的所有主要函数。Daniel Bourke 对探索性数据分析的简要介绍 (https://towardsdatascience.com/a-gentle-introduction-to-exploratory-data-analysis-f11d843b8184)—把你在上述两个步骤中学到的知识融合在一个项目中。提供代码和视频,助你开始第一个 Kaggle 竞赛。Daniel Formosso 的基于 scikit-learn 的探索性数据分析笔记 (https://github.com/dformoso/sklearn-classification)—以上资源的更深入版本,附带了一个实践上述内容的端到端项目。

学习深度学习神经网络

深度学习和神经网络在没有太多结构的数据上最有效。二维数据虽然有结构,图像、视频、音频文件和自然语言文本也有,但不会太多。

小贴士:在大多数情况下,你会想对结构化数据使用一组决策树(随机森林或 XGBoost 之类的算法),而对于非结构化数据,你会想使用深度学习或迁移学习(使用预先训练的神经网络并将其用于你的问题)。

你可以开始把这样的小贴士用一张便条记录,然后边学习边收集这些信息。

学习资源

Cousera 上 Andrew Ng 的 deeplearning.ai (https://bit.ly/courseradl) (https://bit.ly/courseradl)—商业上最成功的从业者之一讲授的深度学习课程。Jeremy Howard 的 fast.ai 深度学习课程 (https://course.fast.ai/) (https://bit.ly/courseradl)—工业界最好的实践者之一讲授的深度学习实际操作方法。

其他课程和书籍

在学习过程中,最理想的情况是你可以用自己的小项目来练习所学的东西。这不必是复杂的,需要改变世界的事情,但你可以说「我用 X 做了这个」。然后通过 github 或博客分享你的工作。github 用于展示你的代码,博客文章用于展示你如何表达自己所做的工作。你应该为每个项目都发布一下这些内容。申请一份工作的最好方法是你已经做完了工作要求做的事情。分享你的工作是向未来的潜在雇主展示你能力的好方法。

在你熟悉了如何使用不同的机器学习和深度学习框架之后,你可以尝试通过从头开始构建它们来巩固你的知识。你不必总是在生产或从事机器学习时这样做,但是从内部了解事情是如何工作的将有助于你建立自己的工作。

学习资源

Daniel Bourke 的如何开始你自己的机器学习工程 (https://towardsdatascience.com/how-to-start-your-own-machine-learning-projects-4872a41e4e9c)—开始你自己的工程可能会很难,这篇文章可以给你一些指引。Jeremy Howard 的 fast.ai 深度学习基础 (https://course.fast.ai/part2)—自上而下学习后,本课程将帮助你从下往上填补空白。Andrew Trask 的 Grokking Deep Learning (https://amzn.to/2H497My)—这本书将教你如何从头开始构建神经网络,以及为什么你应该知道如何构建。Daniel Bourke 推荐的机器学习书籍 (https://www.youtube.com/watch?v=7R08MPXxiFQ)—该 YouTube 视频整理了一些机器学习最佳书籍。

答疑

每一步需要多长时间?

你可能会花 6 个月或更长的时间。别着急,学习新事物需要时间。作为一名数据科学家或机器学习工程师,你正在培养的主要技能是如何针对数据提出好的问题,然后使用你的工具来尝试寻找答案。

有时候你会觉得自己什么都没学到。甚至倒退。忽略它。不要以天为单位来衡量,看看你一年后有什么样的进步。

我在哪里可以学到这些技能?

我在上面列出了一些资源,它们都是在线的,而且大部分都是免费的,类似的资源还有很多。

DataCamp (http://bit.ly/datacampmrdbourke) 是一个很好学习网站。另外,我的 Machine Learning and Artificial Intelligence resources database (https://bit.ly/AIMLresources) 整理了免费和付费的学习资料

记住,作为数据科学家或机器学习工程师,很大一部分工作是要解决问题。通过你的第一个作业探索这里的每一个步骤,并创建你自己的课程来帮助学习。

如果你想知道一个自我引导的机器学习课程的例子是什么样子的,看看我的 Self-Created AI Masters Degree (https://bit.ly/aimastersdegree)。这是我在过去 9 个月内从零编码变成机器学习工程师的过程。它不是完美的,但是我的真实经历,因此你可以试试。

统计怎么办?数学怎么办?概率呢?

实践过程中你会学到这些东西的。先从代码开始。把代码运行起来。在运行代码之前,尝试学习所有的统计、数学、概率知识,就像是在试图煮沸大海。它会让你退缩。

如果代码不运行,统计、数学和概率都不重要。先运行起来,然后用你的研究技巧来验证它是否正确。

证书?

证书很好,但你不是为了证书而学习,而是为了提高技能。不要和我犯同样的错误,不要认为证书越多代表技能越多,并不是这样的。通过上述课程和资源建立知识基础,然后通过自己的项目完善专业知识(这些是课程无法传授的知识)。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    67

    文章

    8571

    浏览量

    137436
  • python
    +关注

    关注

    59

    文章

    4892

    浏览量

    90437
  • 数据科学
    +关注

    关注

    0

    文章

    168

    浏览量

    10836
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    人工智能深度学习系统班13期

    人工智能深度学习13期:零基础转行AI高薪不用走弯路 站在2026年的当下,人工智能的浪潮已经彻底重塑了全球就业市场的版图。对于程序员而言,这既是前所未有的职业危机,也是实现阶层跃迁的最佳窗口。传统
    的头像 发表于 05-07 16:46 257次阅读

    人工智能多模态与视觉大模型开发实战 - 2026必会

    视觉大模型特训:原理到部署一站式学会 在科技飞速发展的当下,视觉大模型已成为人工智能领域的一颗璀璨明星,广泛应用于安防监控、自动驾驶、医疗影像分析等众多领域,深刻改变着我们的生活与工作方式。如今
    发表于 04-15 16:06

    人工智能机器学习在这些行业的深度应用

    人工智能机器学习问世以来,多个在线领域的数字化格局迎来了翻天覆地的变化。这些技术诞生之初就为企业赋予了竞争优势,而在线行业正是受其影响最为显著的领域。
    的头像 发表于 02-04 14:44 791次阅读

    机器学习和深度学习中需避免的 7 个常见错误与局限性

    无论你是刚入门还是已经从事人工智能模型相关工作一段时间,机器学习和深度学习中都存在一些我们需要时刻关注并铭记的常见错误。如果对这些错误置之不理,日后可能会引发诸多麻烦!只要我们密切关注
    的头像 发表于 01-07 15:37 413次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>和深度<b class='flag-5'>学习</b>中需避免的 7 个常见错误与局限性

    如何深度学习机器视觉的应用场景

    深度学习视觉应用场景大全 工业制造领域 复杂缺陷检测:处理传统算法难以描述的非标准化缺陷模式 非标产品分类:对形状、颜色、纹理多变的产品进行智能分类 外观质量评估:基于学习的外观质量标准判定 精密
    的头像 发表于 11-27 10:19 407次阅读

    如何在机器视觉中部署深度学习神经网络

    图 1:基于深度学习的目标检测可定位已训练的目标类别,并通过矩形框(边界框)对其进行标识。 在讨论人工智能(AI)或深度学习时,经常会出现“神经网络”、“黑箱”、“标注”等术语。这些概念对非专业
    的头像 发表于 09-10 17:38 1133次阅读
    如何在<b class='flag-5'>机器</b>视觉中部署深度<b class='flag-5'>学习</b>神经网络

    挖到宝了!人工智能综合实验箱,高校新工科的宝藏神器

    应用场景。数据采集,到模型推理,都能完整且自如地参与,轻松解锁人工智能全流程实训,让你深度体验AI技术的魅力 。 四、九门课程全覆盖,满足多元学习需求 对于高校教学或者技术学习来说,
    发表于 08-07 14:30

    挖到宝了!比邻星人工智能综合实验箱,高校新工科的宝藏神器!

    应用场景。数据采集,到模型推理,都能完整且自如地参与,轻松解锁人工智能全流程实训,让你深度体验AI技术的魅力 。 四、九门课程全覆盖,满足多元学习需求 对于高校教学或者技术学习来说,
    发表于 08-07 14:23

    超小型Neuton机器学习模型, 在任何系统级芯片(SoC)上解锁边缘人工智能应用.

    Neuton 是一家边缘AI 公司,致力于让机器 学习模型更易于使用。它创建的模型比竞争对手的框架小10 倍,速度也快10 倍,甚至可以在最先进的边缘设备上进行人工智能处理。在这篇博文中,我们将介绍
    发表于 07-31 11:38

    人工智能在汽车行业中的应用

    人工智能(AI)是许多行业和应用领域的热门话题。但对于汽车行业而言,这并非一个新概念。人工智能,尤其是机器学习——即通过数据让机器
    的头像 发表于 07-31 11:07 2277次阅读

    人工智能学习17问:入门到避坑,新手最关心的问题全在这

    问:学人工智能,光看书就行?答:不行。AI是“练出来”的,不是“看出来”的。书能教理论,但写代码、调模型、解决实际问题的能力,必须靠动手练。利用学习平台把书本知识拆解成可操作的步骤,跟着练3次,比看
    的头像 发表于 07-30 14:18 905次阅读
    <b class='flag-5'>人工智能</b><b class='flag-5'>学习</b>17问:<b class='flag-5'>从</b>入门到避坑,新手最关心的问题全在这

    人工智能究竟对电子产业产生哪些的影响?

    人工智能已彻底改变了全球技术格局,在众多工业领域得到广泛应用。在电子产业中,它正成为实现新功能、提升效率以及优化制造流程的关键推动力。例如,嵌入式行业受益于将人工智能集成到电子设备中,机器学习
    的头像 发表于 07-28 18:26 1424次阅读
    <b class='flag-5'>人工智能</b>究竟对电子产业产生哪些的影响?

    FPGA在机器学习中的具体应用

    随着机器学习人工智能技术的迅猛发展,传统的中央处理单元(CPU)和图形处理单元(GPU)已经无法满足高效处理大规模数据和复杂模型的需求。FPGA(现场可编程门阵列)作为一种灵活且高效的硬件加速平台
    的头像 发表于 07-16 15:34 3188次阅读

    最新人工智能硬件培训AI 基础入门学习课程参考2025版(大模型篇)

    人工智能大模型重塑教育与社会发展的当下,无论是探索未来职业方向,还是更新技术储备,掌握大模型知识都已成为新时代的必修课。职场上辅助工作的智能助手,到课堂用于学术研究的智能工具,大模
    发表于 07-04 11:10

    机器学习赋能的智能光子学器件系统研究与应用

    与应用 在人工智能与光子学设计融合的背景下,科研的边界持续扩展,创新成果不断涌现。理论模型的整合到光学现象的复杂模拟,数据驱动的探索到光场的智能分析,
    的头像 发表于 06-04 17:59 823次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>赋能的<b class='flag-5'>智能</b>光子学器件系统研究与应用