五个给机器学习和数据迷信入门者的学习建议
作者头像
  • 黑科技数码
  • 2019-10-13 14:17:07 2

大家常说,抓住机会的最佳时机就是“现在”,但对于许多人来说,真正迈出第一步却往往是最困难的事情,尤其是对于想要涉足数据科学和机器学习的人来说。本文旨在为那些希望入门数据科学和机器学习的人提供指导和建议,并推荐一些学习资源。

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

从这里开始。

两年之前,我开始在网上自学机器学习,并通过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 Notebook教程(https://www.youtube.com/watch?v=HW29067qVWk):学习如何使用Jupyter Notebook。

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

当你掌握了一些Python技能后,可能会想要学习如何处理和操作数据。为此,你需要熟悉Pandas、NumPy和Matplotlib。

  • Pandas可以帮助你处理二维数据,类似于Excel中的表格数据。
  • NumPy用于数值计算,机器学习中的许多操作都是基于数字的。
  • Matplotlib可以帮助你绘制图表和可视化数据,使数据更容易被理解。

学习资源

  • Coursera上的Python数据科学教程(https://bit.ly/courseraDS):学习数据科学方向的Python技能。
  • Pandas简介(https://pandas.pydata.org/pandas-docs/stable/gettingstarted/10min.html):快速了解Pandas库及其常用函数。
  • Codebasics的Pandas教程(https://youtu.be/CmorAWRsCAw):涵盖Pandas的主要功能。
  • freeCodeCamp的NumPy教程(https://youtu.be/QUT1VHiLmmI):学习NumPy。
  • Sentdex的Matplotlib教程(https://www.youtube.com/watch?v=q7BoJ8xdw&list=PLQVvvaa0QuDfefDfXb9Yf0la1fPDKluPF):学习Matplotlib的主要功能。

利用scikit-learn学习机器学习

现在你已经掌握了数据处理和可视化的技能,可以开始学习如何在数据中寻找模式。scikit-learn是一个Python库,提供了许多有用的机器学习算法以及评估模型性能的工具。

重点在于了解不同类型的机器学习任务,例如分类和回归,以及哪种算法最适合解决这些问题。不需要一开始就深入研究每个算法,而是先学会如何使用它们。

学习资源

  • Data School的scikit-learn教程(https://www.youtube.com/watch?v=elojMnjn4kk&list=PL5-da3qGB5ICeMbQuqbbCOQWcS6OYBr5A):学习scikit-learn的主要功能。
  • Daniel Bourke的探索性数据分析简介(https://towardsdatascience.com/a-gentle-introduction-to-exploratory-data-analysis-f11d843b8184):将你所学应用于实际项目。
  • Daniel Formosso的探索性数据分析笔记(https://github.com/dformoso/sklearn-classification):更深入地探讨探索性数据分析。

学习深度学习和神经网络

深度学习和神经网络在处理非结构化数据时最为有效,如图像、视频、音频文件和自然语言文本。

小贴士

在大多数情况下,你会想对结构化数据使用决策树(如随机森林或XGBoost),而对于非结构化数据,则使用深度学习或迁移学习(即使用预训练的神经网络)。

你可以把这些小贴士记录下来,随着学习不断积累这些信息。

学习资源

  • Coursera上的deeplearning.ai课程(https://bit.ly/courseradl):由一位成功的深度学习从业者讲授。
  • Jeremy Howard的fast.ai深度学习课程(https://course.fast.ai/):专注于实践操作的深度学习课程。

其他课程和书籍

在学习过程中,最好的方法是通过实际项目来应用所学知识。这不一定是复杂的项目,但可以是你能够展示出来的成果。通过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):介绍一些优秀的机器学习书籍。

答疑

每一步需要多长时间?

你可能需要花费6个月或更长时间。请耐心等待,学习新技能需要时间。作为一名数据科学家或机器学习工程师,你的主要技能是提出好的问题,并使用工具寻找答案。

有时你可能会觉得自己毫无进展,甚至倒退。不要担心,不要以天为单位衡量进步,看看一年后你的提升。

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

我在下面列出了一些在线资源,其中大部分是免费的。还有许多其他类似的资源。

  • DataCamp(https://bit.ly/datacampmrdbourke):一个很好的学习平台。
  • Machine Learning and Artificial Intelligence资源数据库(https://bit.ly/AIMLresources):收集了免费和付费的学习材料。

记住,作为数据科学家或机器学习工程师,大部分工作是解决问题。通过实际项目来探索单个步骤,并创建自己的课程来帮助学习。

如果你想了解一个自我引导的机器学习课程是什么样子,可以看看我的Self-Created AI Masters Degree(https://bit.ly/aimastersdegree)。这是我过去9个月内从零开始成为机器学习工程师的经历。它并不是完美的,但它记录了我的真实经历,你可以参考。

关于统计、数学和概率

在实际操作中,你会逐渐掌握这些知识。先从代码开始。运行代码。试图在运行代码前掌握所有的统计、数学和概率知识,就像是试图煮沸大海一样。这会让你感到压力山大。

如果代码不能正常运行,统计、数学和概率知识都没有意义。先运行代码,然后用你的研究技能来验证它是否正确。

证书

证书很好,但你学习的目的应该是提升技能,而不是为了证书本身。不要陷入追求更多证书的误区,这并不能证明你的技能。通过上述课程和资源建立知识基础,然后通过实际项目来完善你的专业知识。

    本文来源:图灵汇
责任编辑: : 黑科技数码
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
入门者学习迷信机器建议数据
    下一篇