机器学习教程:从零开始学习机器学习

已发表: 2022-02-17

人工智能 (AI) 和机器学习 (ML) 解决方案的部署继续推进各种业务流程改善客户体验是最重要的用例。

今天,机器学习有着广泛的应用,其中大部分是我们每天都会遇到的技术。 例如,Netflix 或类似的 OTT 平台使用机器学习为每个用户提供个性化建议。 因此,如果用户经常观看或搜索犯罪惊悚片,平台的机器学习推荐系统将开始推荐更多类似类型的电影。 同样,Facebook 和 Instagram 根据用户经常互动的帖子个性化用户的提要。

在本 Python 机器学习教程,我们将深入了解机器学习的基础知识。 我们还包括一个简短的深度学习教程,向初学者介绍这个概念。

目录

什么是机器学习?

“机器学习”一词是 1959 年由计算机游戏和人工智能的开拓者 Arthur Samuel 创造的。

机器学习是人工智能的一个子集。 它基于软件(程序)可以从数据中学习、破译模式并在最少人为干扰的情况下做出决策的概念。 换句话说,ML 是一个计算科学领域,它使用户能够将大量数据提供给算法,并让系统根据输入数据进行分析并做出数据驱动的决策。 因此,ML 算法不依赖于预先确定的模型,而是直接从输入的数据中“学习”信息。

机器学习算法

资源

这是一个简化的例子——

我们如何编写一个基于颜色、花瓣形状或其他属性来识别花朵的程序? 虽然最明显的方法是制定核心识别规则,但这种方法不会制定适用于所有情况的理想规则。 然而,机器学习采取了一种更实用、更稳健的策略,而不是制定预先确定的规则,而是通过向系统提供不同花朵的数据(图像)来训练系统。 因此,下次系统显示玫瑰和向日葵时,它可以根据先前的经验对两者进行分类。

阅读如何学习机器学习 - 一步一步

机器学习的类型

机器学习分类基于算法如何学习变得更准确地预测结果。 因此,机器学习有三种基本方法:监督学习、无监督学习和强化学习。

监督学习

在监督机器学习中,算法提供有标记的训练数据。 另外,用户定义他们希望算法评估的变量; 目标变量是我们要预测的变量,特征是帮助我们预测目标的变量。 所以,这更像是我们向算法展示鱼的图像并说“它是一条鱼”,然后我们展示一只青蛙并指出它是一只青蛙。 然后,当算法在足够多的鱼和青蛙数据上进行训练时,它将学会区分它们。

无监督学习

无监督机器学习涉及从未标记的训练数据中学习的算法。 因此,只有特征(输入变量),没有目标变量。 无监督学习问题包括聚类,其中具有相同特征的输入变量被分组并关联以破译数据集中有意义的关系。 聚类的一个例子是将人们分为吸烟者和非吸烟者。 相反,发现使用智能手机的客户也会购买手机壳是一种联想。

强化学习

强化学习是一种基于提要的技术,机器学习模型学习根据他们收到的行动反馈做出一系列决策。 对于每一个好的动作,机器都会得到正反馈,对于每一个坏动作,它都会得到惩罚或负反馈。 因此,与监督机器学习不同,强化模型使用反馈而不是任何标记数据自动学习。

另请阅读,什么是机器学习及其重要性

为什么使用 Python 进行机器学习?

机器学习项目与传统软件项目的不同之处在于前者涉及不同的技能集、技术堆栈和深入研究。 因此,实施一个成功的机器学习项目需要一种稳定、灵活并提供强大工具的编程语言。 Python 提供了一切,因此我们主要看到基于 Python 的机器学习项目。

平台独立性

Python 的流行很大程度上是因为它是一种独立于平台的语言,并且受到大多数平台的支持,包括 Windows、macOS 和 Linux。 因此,开发人员可以在一个平台上创建独立的可执行程序并将它们分发到其他操作系统,而无需 Python 解释器。 因此,训练机器学习模型变得更易于管理且成本更低。

简单性和灵活性

每个机器学习模型的背后都是复杂的算法和工作流程,这些算法和工作流程可能会让用户感到恐惧和不知所措。 但是,Python 简洁易读的代码让开发人员可以专注于机器学习模型,而不用担心语言的技术问题。 此外,Python 易于学习,可以处理复杂的机器学习任务,从而可以快速构建和测试原型。

广泛的框架和库选择

Python 提供了广泛的框架和库选择,可显着减少开发时间。 此类库具有开发人员用来完成一般编程任务的预先编写的代码。 Python 的软件工具库包括用于机器学习的 Scikit-learn、TensorFlow 和 Keras、用于通用数据分析的 Pandas、用于数据分析的 NumPy 和 SciPy,以及用于科学计算、用于数据可视化的 Seaborn 等等。

还要学习机器学习中的数据预处理:7 个简单的步骤

实施 Python 机器学习项目的步骤

如果您不熟悉机器学习,那么与项目达成协议的最佳方式是列出您需要涵盖的关键步骤。 完成这些步骤后,您可以将它们用作后续数据集的模板,在您进入高级阶段时填补空白并修改您的工作流程。

以下是如何使用 Python 实现机器学习项目的概述:

  1. 定义问题。
  2. 安装 Python 和 SciPy。
  3. 加载数据集。
  4. 总结数据集。
  5. 可视化数据集。
  6. 评估算法。
  7. 作出预测。
  8. 呈现结果。

什么是深度学习网络?

深度学习网络或深度神经网络 (DNN) 是基于模仿人脑的机器学习的一个分支。 DNN 包含组合多个输入以产生单个输出的单元。 它们类似于通过突触接收多个信号并向其神经元发送单个动作电位流的生物神经元。

深度神经网络

资源

在神经网络中,类似大脑的功能是通过由一个输入层、一个或多个隐藏层和一个输出层组成的节点层来实现的。 每个人工神经元或节点都有一个相关的阈值和权重并连接到另一个。 当一个节点的输出高于定义的阈值时,它被激活并将数据发送到网络中的下一层。

DNN 依赖于训练数据来随着时间的推移学习和微调其准确性。 它们构成了强大的人工智能工具,可以高速进行数据分类和聚类。 深度神经网络最常见的两个应用领域是图像识别和语音识别。

前进之路

无论是使用面部 ID 解锁智能手机、浏览电影还是在 Google 上搜索随机主题,现代数字驱动的消费者都需要更精巧的推荐和更好的个性化。 无论在哪个行业或领域,人工智能已经并将继续在提升用户体验方面发挥重要作用。 此外,Python 的简单性和多功能性使人工智能项目的开发、部署和维护跨平台变得方便高效。

从世界顶级大学学习 ML 课程。 获得硕士、Executive PGP 或高级证书课程以加快您的职业生涯。

如果您发现这个面向初学者的 Python 机器学习教程很有趣,请通过upGrad 的机器学习与人工智能理学硕士课程深入了解该主题 该在线课程专为希望学习高级 AI 技能(如 NLP、深度学习、强化学习等)的在职专业人士而设计。

课程亮点:

  • LJMU 硕士学位
  • 来自 IIIT 班加罗尔的执行 PGP
  • 750 多个小时的内容
  • 40+ 场直播
  • 12+ 案例研究和项目
  • 11个编码作业
  • 深入涵盖 20 种工具、语言和库
  • 360 度职业协助

1. Python 对机器学习有好处吗?

Python 是实现机器学习模型的最佳编程语言之一。 Python 因其简单、灵活和温和的学习曲线而吸引了开发人员和初学者。 此外,Python 独立于平台,可以访问库和框架,从而更快、更轻松地构建和测试机器学习模型。

2. 用 Python 进行机器学习难吗?

由于 Python 作为通用编程语言的广泛流行及其在机器学习和科学计算中的应用,查找 Python 机器学习教程非常容易。 此外,Python 温和的学习曲线、可读性和精确的代码使其成为一种对初学者友好的编程语言。

3.人工智能和机器学习是一样的吗?

尽管 AI 和机器学习这两个术语经常互换使用,但它们并不相同。 人工智能 (AI) 是计算机科学分支的总称,它处理能够执行通常由人类完成的任务的机器。 但机器学习是人工智能的一个子集,其中机器被输入数据并被训练以根据输入数据做出决策。