Skip to content

Latest commit

 

History

History
151 lines (76 loc) · 12 KB

intro-machine-learning-ai.md

File metadata and controls

151 lines (76 loc) · 12 KB

基于高中知识的机器学习和 AI 简介

原文:www.kdnuggets.com/2020/02/intro-machine-learning-ai.html

评论

介绍

今天,人工智能(AI)无处不在。

然而,这是一个复杂的主题,无论是教学还是学习。

在本文中,我概述了一种方法,通过仅凭高中知识,你可以了解人工智能、机器学习(ML)和深度学习(DL)。本文后半部分基于简单的高中数学——这应该在 GCSE 水平(15 岁左右)时比较熟悉。即使数学对你不熟悉,你仍然可以通过本文的前半部分了解机器学习和人工智能。

背景

任何关于 AI 的讨论通常会引发‘终结者’类型的讨论(机器人是否会接管人类?)。虽然媒体对 AI 感到兴奋,但现实却更加平淡。所以,在继续之前,让我们考虑一下本文将采用的一些定义。

  • 人工智能: 指能够以某种程度的自主性进行推理的机器。

  • 广义人工智能: 涉及那些几乎具有完全自主性的机器。广义人工智能确实是科幻小说中的内容(因此不是本文的重点)

  • 狭义人工智能: 指的是能够在特定背景下学习任务的机器或系统——例如——一个能够自主(无需明确训练)拾取和排序物品的机器人手臂。

  • 机器学习: 具有正式定义。汤姆·米切尔 将机器学习定义为:“机器学习领域关心的问题是如何构造能够随着经验自动改进的计算机程序。” 这个定义可以表达为:“一个计算机程序被认为是从经验(E)中学习的,涉及某一任务类别(T)和性能测量(P),如果其在任务 T 中的表现(通过 P 测量)随着经验(E)的增加而提高。”。机器学习被应用于多种场景,如垃圾邮件检测、信用卡欺诈检测、客户细分等。

  • 深度学习: 我们将深度学习定义为*“具有自动特征检测的机器学习应用程序。”* 我们将在下文中更详细地解释这个定义。

什么是学习?

让我们从问题开始:“什么是学习?(在机器学习的背景下)”

在米切尔的定义中,我们将**‘学习’**一词解释为获得执行任务的能力。例如,如果我们想让系统识别一个对象,那么识别对象的能力就是任务。为了获得这种能力,我们可以采取两种对立的方法:

  1. 我们可以显式地编写规则来识别特定对象,或者

  2. 我们可以编程系统,使其通过训练过程学习识别对象的能力。

前者(基于规则的方法)在实际中不可行,因为我们必须手动编写所有可能场景的规则。因此,另一种极端的方法更具可行性。我们可以从数据中发现规则,而不是手动创建规则,然后将这些规则应用于未见过的问题。这种从训练数据集中学习的想法是大多数机器学习方法的基础(监督学习)。训练过程包括向系统提供一组示例,这些示例代表了感兴趣的特征集合。从这些示例中,系统创建一个模型——这个模型随后用于识别未见过的对象。在这种情况下,模型的简化定义是一个在数据集上训练的算法(例如:分类算法)。

以预测房价为例。房价可能受到许多因素(特征)的影响,例如卧室数量、靠近学校、靠近公共交通等。基于这些特征预测房价就是结果。这些特征是监督学习模型的输入,它可以预测房价(结果变量)。机器学习解决的问题类型包括:

  • 分类:数据被分配到一个类别——例如垃圾邮件/非垃圾邮件或欺诈/非欺诈等。

  • 回归:预测数据的值——例如预测股票价格、房价等。

最后,我们如何知道系统是否能执行给定任务?要测试模型的性能,我们必须使用特定于任务的定量度量来评估其输出。对于分类任务,模型的性能可以通过分类的准确率来衡量。

深度学习

那么,这与人工智能和深度学习有什么关系?记住,我们将深度学习描述为“自动特征检测”。让我们重新考虑预测房价的例子。为了确定算法的特征(例如:卧室数量、靠近优质学校等),你需要了解应用领域(领域知识)。对于复杂的应用——例如在医疗保健、基因组学等领域,领域知识可能难以获得且成本高昂。此外,使用图像、视频、序列或音频数据的应用使用层次特征。人类检测这些特征是不切实际的。

如果我们能够理解数据的结构和特征(即:在没有人工干预的情况下跟踪数据的基本表示),会怎样?

这种能力是通过一组称为表示学习的机器学习技术实现的。表示学习是一组方法,允许机器处理原始数据,并自动发现分类等算法所需的表示。

深度学习方法可以被归类为表示学习方法,这些方法具有多个表示层。这些层从原始输入开始,每一层将数据转换为更高级别的表示——作为下一层的输入。例如,最低层可能检测像素;下一层可能从像素中检测图像的边缘;再下一层可能基于边缘检测轮廓,等等。因此,神经网络中的每一层都基于前一层的表示。通过许多这样的简单变换,机器可以学习复杂的层次性概念。神经网络模型的高级表示可以区分概念的微小变化,即相似但不完全相同的概念。例如,网络可以区分狼和“看起来像狼的狗”(哈士奇、萨摩耶和德国牧羊犬)。同样的技术可以应用于实际问题,如肿瘤检测和其他数据类型——例如——面部检测或基因组数据。

更一般来说,深度学习技术用于处理非有限域的问题。例如,国际象棋是一个有限域的问题,因为国际象棋有 64 个格子,每个棋子都有一个定义好的动作。相比之下,从一张图片中识别狗对一个孩子来说很容易。但计算机不能轻易地从一张狗的图片中识别狗。识别狗的图片不是有限域的问题,因为在图片中有许多类型的狗,配置各异(例如:有项圈、尾巴被剪短等)。

为了总结这个观点,人工智能主要基于深度学习技术。

建模作为函数估计

我们现在可以基于基础数学来解决这个问题。

我们在上一节介绍的建模过程包括找到一个表示数据的函数(例如,预测房价的函数)。该函数可以表示为一个方程,并用于对未知数据进行预测。拟合模型的过程包括让算法学习预测变量(特征)与结果之间的关系。一旦算法确定了特征与结果变量之间的功能关系,它就可以预测未知特征的结果变量值。因此,最佳拟合的算法具有参数,这些参数能够最好地描述当前问题,并且能够对未见的数据点进行预测。当然,模型的强大之处在于对未见数据进行预测。

建模是一个迭代过程。最初涉及使用像散点图这样的机制找到变量之间的趋势和关系。有些关系是可以预测的;例如,年龄和经验是相关的。

线性回归

在最简单的情况下,该函数是线性的,如线性关系所示。

什么是线性关系?

线性关系意味着你可以用一条直线表示两个变量集之间的关系。线性关系可以表示许多现象。例如,拉伸橡皮筋所涉及的力是线性关系,因为更大的力会导致橡皮筋的拉伸量成比例增加。我们可以用线性方程来表示这种关系:

其中“m”是直线的斜率,“x”是直线上的任何点(输入或 x 值),而“c”是直线与 y 轴的交点。在线性关系中,自变量的任何变化都会导致因变量的相应变化。线性回归用于预测许多问题,如销售预测和分析客户行为。

该关系可以表示如下:

为什么从线性回归开始?

因为这是一个许多人甚至在高中水平上都熟悉的概念,并且它也允许我们将思维扩展到更复杂的想法。拟合模型的过程旨在找到参数 m 和 c 的最佳值。我们识别出一条最符合现有数据点的直线。一旦我们拟合了模型,我们可以根据输入(x 轴)来预测结果(y 轴)。模型训练涉及寻找参数,以便模型最符合数据。预测值和观察值之间的总误差最小的直线称为最佳拟合线或回归线

在如上所述的普通最小二乘(OLS)线性回归中,我们的目标是找到最小化垂直偏移的直线(或超平面)。换句话说,我们将最佳拟合线定义为最小化**平方误差总和(SSE)**的线。

图:普通最小二乘回归。图片来源

在这种情况下,需要最小化的总误差是

图:平方误差总和。

相同的概念可以扩展到多个特征。实际上,对于房价示例,我们已经在使用多个特征(x 值)来预测结果(y 值),即房价。因此,方程由 y = mx + c 变为如下形式:

因此,可以使用基础的 GCSE 数学来理解构建和训练模型的基本原理。

结论

在这篇文章中,我们探讨了如何使用基础的高中知识开始机器学习和深度学习。本文基于即将出版的书籍,我们计划与有限数量的英国教师分享免费副本。我是牛津大学人工智能:云和边缘实现课程的课程主任,如果您是教师并对这些理念感兴趣,请在 LinkedIn 上与我联系,提到这篇文章。文中表达的观点仅代表个人,不代表我所属的任何组织。

相关:


我们的前三个课程推荐

1. 谷歌网络安全证书 - 快速进入网络安全职业。

2. 谷歌数据分析专业证书 - 提升您的数据分析水平

3. 谷歌 IT 支持专业证书 - 支持您组织的 IT


更多相关主题