《人工智能》之《机器学习》

教材:《人工智能及其应用》,蔡自兴等,2016m清华大学出版社(第5版)

参考书:
在这里插入图片描述

如何开发一个人工智能系统?
在这里插入图片描述

1 机器学习的定义与发展历程

1.1 机器学习的定义

通俗地讲,机器学习(Machine Learning,ML)就是让计算机从数据中进行自动学习,得到某种知识(或规律)。

作为一门学科,机器学习通常指一类问题以及解决这类问题的方法,即如何从观测数据 (样本)中寻找规律,并利用学习 到的规律(模型)对未知或无法观测的数据进行预测。

机器学习是对能通过经验自动改进的计算机算法的研究。
——汤姆·米切尔(Tom Mitchell)[Mitchell, 1997]

1.2 机器学习的发展历程

  • 神经元模型研究
    20世纪50年代中期到60年代初期,也被称为机器学习的热烈时期,最具有代表性的工作是罗森勃拉特1957年提出的感知器模型。
  • 符号概念获取
    20世纪60年代中期到70年代初期。其主要研究目标是模拟人类的概念学习过程。这一阶段神经学习落入低谷,称为机器学习的冷静时期。
  • 知识强化学习
    20世纪70年代中期到80年代初期。人们开始把机器学习与各种实际应用相结合,尤其是专家系统在知识获取方面的需求,也有人称这一阶段为机器学习的复兴时期。温斯顿的概念学习和昆兰的决策树ID3算法。
  • 连接学习和混合型学习
    20世纪80年代中期至今。把符号学习和连接学习结合起来的混合型学习系统研究已成为机器学习研究的一个新的热点。

1.3 机器学习的主要策略

按照学习中使用推理的多少,机器学习所采用的策略大体上可分为4种:

  • 机械学习(记忆学习)
  • 示教学习
  • 类比学习
  • 示例学习

机械学习

在这里插入图片描述
示教学习

学生从环境(教师或其它信息源如教科书等)获取信息,把知识转换成内部可用的表示形式,并将新的知识和原有知识有机地结合。

类比学习

类比学习就是通过类比推理,即通过对相似事物进行比较所进行的一种学习。
在这里插入图片描述
示例学习

在这里插入图片描述
基于学习方式,机器学习所采用的策略大体上可分为3种:

  • 有导师学习(监督学习):输入数据中有导师信号,以概率函数、代数函数或人工神经网络为基函数模型,采用迭代计算方法,学习结果为函数。
  • 无导师学习(非监督学习):输入数据中无导师信号,采用聚类方法,学习结果为类别。典型的无导师学习有发现学习、聚类、竞争学习等。
  • 强化学习(增强学习):以环境反馈(奖/惩信号)作为输入,以统计和动态规划技术为指导的一种学习方法。

监督学习

从标记的训练数据集学习一个模型,再用此模型对测试样本集进行预测。
在这里插入图片描述
典型应用:
在这里插入图片描述
无监督学习

直接对输入数据进行建模,提取数据有效的信息探索数据的整体结构。

典型应用:
在这里插入图片描述
强化学习

智能体以“试错”的方式进行学习,通过与环境进行交互获得的奖赏指导行为,目标是使智能体获得最大的奖赏。

典型应用:
在这里插入图片描述
基于学习目标,机器学习所采用的策略大体上可分为5种:

  • 概念学习:即学习的目标和结果为概念,或者说是为了获得概念的一种学习。典型的概念学习有示例学习。
  • 规则学习:即学习的目标和结果为规则,或者说是为了获得规则的一种学习。典型的规则学习有决策树学习。
  • 函数学习:即学习的目标和结果为规则,或者说是为了获得函数的一种学习。典型的函数学习有神经网络学习。
  • 类别学习:即学习的目标和结果为对象类,或者说是为了获得类别的一种学习。典型的类别学习有聚类分析。
  • 贝叶斯网络学习:即学习的目标和结果是贝叶斯网络,或者说是为了获得贝叶斯网络的一种学习。其又可分为结构学习和参数学习。

1.4 传统的机器学习

传统的机器学习主要关注如何学习一个预测模型。一般需要首先将数据表示为一组特征(Feature), 特征的表示形式可以是连续的数值、 离散的符号或其他形式。然后将这些特征输入到预测模型,并输出预测结果。这类机器学习可以看作浅层学习(Shallow Learning)。

浅层学习的一个重要特点是不涉及特征学习, 其特征主要靠人工经验或特征转换方法来抽取 。

在这里插入图片描述

1.5 表示学习

为了提高机器学习系统的准确率, 我们就需要将输入信息转换为有效的特征, 或者更一般性地称为表示(Representation)。如果有一种算法可以自动地学习出有效的特征, 并提高最终机器学习模型的性能, 那么这种学习就可以叫作表示学习( Representation Learning)。

在机器学习中, 经常使用两种方式来表示特征:

  • 局部表示(Local Representation)
  • 分布式表示(Distributed Representation)

局部表示

在这里插入图片描述

分布式表示

在这里插入图片描述
在这里插入图片描述
词嵌入

在这里插入图片描述

1.6 深度学习

为了学习一种好的表示,需要构建具有一定“深度”的模型,并通过学习算法来让模型自动学习出好的特征表示(从底层特征,到中层特征,再到高层特征),从而最终提升预测模型的准确率。

我们就需要一种学习方法可以从数据中学习一个“深度模型”, 这就是深度学习(Deep Learning,DL)。 深度学习是机器学习的一个子问题, 其主要目的是从数据中自动学习到有效的特征表示。

在这里插入图片描述

2 函数学习

机器学习约等于构建一个映射函数。
在这里插入图片描述

2.1 机器学习的基本流程

在这里插入图片描述

假设空间

在这里插入图片描述

机器学习的三要素

  • 模型:线性方法,广义线性方法
  • 学习准则:期望风险
  • 优化:梯度下降

线性模型

在这里插入图片描述

非线性模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

损失函数

损失函数是一个非负实数函数,用来量化模型预测和真实标签之间的差异。

常用的损失函数有:0-1损失函数、平方损失函数、交叉熵损失函数。

0-1损失函数

最直观的损失函数是模型在训练集上的错误率,即0-1损失函数。

在这里插入图片描述
平方损失函数

平方损失函数经常用在预测标签y为实数值的任务中,定义为:在这里插入图片描述

平方损失函数一般不适用与分类问题。

交叉熵损失函数

在这里插入图片描述
在这里插入图片描述

学习准则

在这里插入图片描述
在这里插入图片描述

优化:梯度下降法

在这里插入图片描述
在这里插入图片描述
模型在训练集上错误率很低,但是在未知数据上错误率很高。这就是所谓的过拟合(Overfitting)。这是由于训练数据少和噪声以及模型能力强等原因造成的。

模型不能很好地拟合训练数据,即在训练集上的错误率比较高。这就是所谓的欠拟合(Underfitting)。这是由于模型能力不足造成的。

机器学习泛化能力

机器学习的目标是使得学到的模型能很好的适用于“新样本”, 而不仅仅是训练集合,我们称模型适用于新样本的能力为泛化(generalization)能力

通常假设样本空间中的样本服从一个未知分布 D,样本从这个分布中独立获得,即“独立同分布”(i.i.d)。一般而言训练样本越多越有可能通过学习获得强泛化能力的模型。

性能度量

信息检索、Web搜索等场景中经常需要衡量正例被预测出来的比率或者预测出来的正例中正确的比率,此时查准率和查全率比错误率和精度更适合。

统计真实标记和预测结果的组合可以得到“混淆矩阵”。
在这里插入图片描述
错误率:分错样本占样本总数的比例

精度:分对样本占样本总数的比率
在这里插入图片描述
在这里插入图片描述

3 Logistic回归

一维数据的二分类问题:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其中 𝑔(⋅) 通常称为激活函数(Activation Function),其作用是把线性函数的值域从实数区间“挤压”到了(0, 1)之间,可以用来表示概率。

在这里插入图片描述
在这里插入图片描述
Logistic回归采用交叉熵作为损失函数,并使用梯度下降法来对参数进行优化。

在这里插入图片描述
在这里插入图片描述
采用梯度下降法,Logistic回归的训练过程为:

初始化 𝒘0←0,然后通过下式来迭代更新参数:
在这里插入图片描述

4 前3节总结

在这里插入图片描述

5 决策树学习

5.1 ID3算法的数学基础

信息论原理简介

  • 信息论是应用数学的一个分支,主要研究的是对一个信号包含信息的多少进行量化。
  • 被发明是用来研究在一个含有噪声的信道上用离散的字母表来发送消息,例如通过无线电传输来通信,由于不确定性是由随机性引起的。
  • 在机器学习中,通常要把与随机事件相关信息的期望值进行量化,此外还要量化不同概率分布之间的相似性。在这两种情况下,香农熵都被用来衡量概率分布中的信息内容。
  • 香农熵是以信息论之父 Claude Shannon 的名字命名的,也称为信息熵或微分熵(连续)

信息

信息是用来消除不确定性的度量。信息量的大小,由所消除的不确定性的大小来计量(香农)。

由于不确定性是由随机性引起的,所以用概率来描述和计量。

熵(entropy)

熵是最早是物理学的概念,用于表示一个热力学系统的无序程度。在信息论中,熵用来衡量一个随机事件的不确定性。

自信息(self-information)

自信息表示一个随机事件所包含的信息量。

一个随机事件发生的概率越高,其自信息越低。

如果一个事件必然发生,其自信息为0。

对于一个随机变量 𝑋(取值集合为 𝒳,概率分布为 𝑝(𝑥), 𝑥 ∈ 𝒳),当 𝑋 = 𝑥 时的自信息𝐼(𝑥)定义为:
在这里插入图片描述

对数的底可以使用 2、自然常数 𝑒 或是 10。
当底为 2 时, 自信息的单位为bit;
当底为𝑒时,自信息的单位为nat。

函数 I(𝑝) 的自信息如下图所示:
在这里插入图片描述

小概率对应着较高的自信息,反之亦然。

在这里插入图片描述

香农熵

在这里插入图片描述
信息熵反应的是信源每发出一个信息所提供的平均信息量。 熵越高,则随机变量的信息越多;熵越低,则随机变量的信息越少。

香农熵泛化到连续域,是一种微分熵,对于连续的随机变量 x 及其概率密度函数 p(x),香农熵定义如下:
在这里插入图片描述
香农熵只依赖于X的分布,与X的具体取值无关,通常用: H(𝑝) = H(X)。

熵编码

例:计算英文(26个字母、空格,共27个字符)信息源的熵。

  1. 假设27个字符等概率出现
  2. 英文字母的概率分布如表所示:
    在这里插入图片描述

解:

  1. 等概率出现情况:
    在这里插入图片描述
  2. 实际情况:
    在这里插入图片描述

考虑了英文字母和空格实际出现的概率后,英文信源的平均不确定性,比把字母和空格看作等概率出现时英文信源的平均不确定性要小。

联合熵和条件熵

在这里插入图片描述

互信息

互信息(Mutual Information)是衡量已知一个变量时,另一个变量不确定性的减少程度。

两个离散随机变量 𝑋 和 𝑌 的互信息定义为:
在这里插入图片描述
互信息的一个性质为:
在这里插入图片描述
如果变量 𝑋 和 𝑌 互相独立,它们的互信息为零。

交叉熵(cross entropy)

对于分布为𝑝(𝑥)的随机变量,熵𝐻(𝑝)表示其最优编码长度。

交叉熵(Cross Entropy)是按照概率分布𝑞的最优编码对真实分布为𝑝的信息进行编码的长度,定义为:
在这里插入图片描述

  • 在信息论中,这个量指的是:如果用「错误」的编码方式 q 去编码服从 p 分布的事件,我们所需要的 bit 数。
  • 在机器学习中,这是一个衡量概率分布相似性的有用工具,而且经常作为一个损失函数。

比如含有4个字母(A,B,C,D)的数据集中,真实分布p=(1/2,1/2,0,0),即A和B出现的概率均为1/2,C和D出现的概率都为0。计算H(𝑝)为1,即只需要1位编码即可识别A和B。

如果使用分布q=(1/4,1/4,1/4,1/4)来编码,则得到H(p, q)=2,即需要2位编码来识别A和B(当然还有C和D)。

尽管C和D并不会出现,因为真实分布p中C和D出现的概率为0,这里就钦定概率为0的事件不会发生)

交叉熵经常出现在(神经网络)机器学习的损失函数中。
p表示真实的分布,q则为训练后的模型的预测标记分布。例如,在分类问题中,通常使用交叉熵损失度量标签的真实分布和由分类器预测的分布之间的差异。每个数据点的真实分布将概率1分配给该数据点所属的类,将0分配给所有其他类。在这种情况下,交叉熵与负对数似然成正比,最小化负对数似然等价于最小化交叉熵:
在这里插入图片描述

KL散度(Kullback-Leibler diverge)

KL散度(相对熵、信息增益):是用概率分布 𝑞 来近似 𝑝 时所造成的信息损失量。

KL散度是按照概率分布 𝑞 的最优编码对真实分布为 𝑝 的信息进行编码,其平均编码长度(即交叉熵)𝐻(𝑝, 𝑞) 和 𝑝 的最优平均编码长度(即熵)𝐻(𝑝) 之间的差异。
在这里插入图片描述
KL散度的性质:

  • KL散度总是非负的,KL(𝑝, 𝑞) ≥ 0,可以衡量两个概率分布之间的距离。
  • KL 散度只有当𝑝 = 𝑞时,KL(𝑝, 𝑞) = 0。
  • 如果两个分布越近,KL散度越小;
  • 如果两 个分布越远,KL散度就越大。
  • KL散度的非对称性: KL(𝑝, 𝑞) ≠ KL(𝑞, p)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

奥卡姆剃刀原理(Occam’s Razor, Ockham’s Razor)

解决问题的法则:“如无必要,勿增实体” (Entities should not be multiplied unnecessarily)

奥卡姆剃刀的一种形式化是最小描述长度(Minimum Description Length,MDL)原则,即对一个数据集𝒟,最好的模型 𝑓∈ℱ 会使得数据集的压缩效果最好,即编码长度最小。

最小编码长度

最小描述长度也可以通过贝叶斯学习的观点来解释。

模型 𝑓 在数据集 𝒟 上的对数后验概率为:
在这里插入图片描述
log 𝑝(𝑓)是模型 𝑓 的编码长度。
log 𝑝(𝒟|𝑓) 是在该模型下数据集 𝒟的编码长度。

也就是说,不但要使得模型 𝑓 可以编码数据集 𝒟,也要使得模型 𝑓 尽可能简单。

5.2 ID3算法及举例

归纳学习

归纳学习是指以归纳推理为基础的学习,其任务是要从关于某个概念的一系列已知正例和反例中归纳出一个一般的概念描述。

  1. 示例学习
    归纳学习的一种特例。它给学习者提供某一概念的一组正例和反例,学习者归纳出一个总的概念描述,并使这个描述适合于所有的正例,排除所有的反例。
  2. 决策树学习
    一种以示例为基础的归纳学习方法,目前最流行的归纳学习方法之一。在现有的各种决策树学习算法中,影响较大的是ID3算法。本节主要讨论决策树的概念和决策树学习的ID3算法。

决策树

决策树是一种由节点和边构成的用来描述分类过程的层次数据结构。树的根节点表示分类的开始,叶节点表示一个实例的结束,中间节点表示相应实例中的某一属性,而边则代表某一属性可能的属性值。

在决策树中,从根节点到叶节点的每一条路径都代表一个具体的实例,并且同一路径上的所有属性之间为合取关系,不同路径(即一个属性的不同属性值)之间为析取关系。

决策树的分类过程就是从这棵树的根节点开始,按照给定的实例的属性值去测试对应的树枝,并依次下移,直至到达某个叶节点为止。

在这里插入图片描述
上图是一个非常简单的描述对鸟类进行分类的决策树:

  1. 根节点包含各种鸟类,叶节点是所能识别的各种鸟的名称
  2. 中间节点是鸟的一些属性,边是鸟的某一属性的属性值
  3. 从根节点到叶节点的每一条路径都描述了一种鸟,它包括该种鸟的一些属性及相应的属性值

决策树还可以表示成规则的形式。上图的决策树可表示为如下规则集:
IF 鸟类会飞 AND 是家养的 THEN 该鸟类是和平鸽
IF 鸟类会飞 AND 不是家养的 THEN 该鸟类是海鸥
IF 鸟类不会飞 AND 会游泳 THEN 该鸟类是企鹅
IF 鸟类不会飞 AND 不会游泳 THEN 该鸟类是鸵鸟

决策树学习过程实际上是一个构造决策树的过程。当学习完成后,就可以利用这棵决策树对未知事物进行分类。

ID3算法

ID3算法是昆兰(J.R.Quinlan)于1979年提出的一种以信息熵(entropy)的下降速度作为属性选择标准的一种学习算法。其输入是一个用来描述各种已知类别的例子集,学习结果是一棵用于进行分类的决策树。

ID3算法的学习过程:

  1. 首先以整个例子集作为决策树的根节点S,并计算S关于每个属性的条件熵;
  2. 然后选择能使S的条件熵为最小的一个属性对根节点进行分裂,得到根节点的一层子节点;
  3. 接着再用同样的方法对这些子节点进行分裂,直至所有叶节点的熵值都下降为0为止。
  4. 这时,就可得到一棵与训练例子集对应的熵为0的决策树,即ID3算法学习过程所得到的最终决策树。该树中每一条从根节点到叶节点的路径,都代表了一个分类过程,即决策过程。

ID3 算法的核心是在决策树各个结点上应用信息增益准则选择特征,递归地构建决策树。

ID3算法实例

假设将决策y分为以下3类:
y1:必修AI
y2:选修AI
y3:不修AI

做出这些决策的依据有以下3个属性:
x1:学历层次 x1=1 研究生,x1=2 本科
x2:专业类别 x2=1 电信类,x2=2 机电类
x3:学习基础 x3=1 修过AI,x3=2 未修AI

下表给出了一个关于选课决策的训练例子集S:
在这里插入图片描述
在该表中,训练例子集S的大小为8。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6 神经网络学习

6.1 感知机与多层网络

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.2 误差逆传播算法

误差逆传播算法(Error BackPropagation,简称BP)是最成功的训练多层前馈神经网络的学习算法。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7 深度学习

7.1 卷积神经网络(Convolutional Neural Networks,CNN)

卷积神经网络是人工神经网络的一种,已成为当前语音分析和图像识别领域的研究热点。它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。

该优点在网络的输入是多维图像时表现的更为明显,使图像可以直接作为网络的输入,避免了传统识别算法中复杂的特征提取和数据重建过程。

卷积网络是为识别二维形状而特殊设计的一个多层感知器,这种网络结构对平移、比例缩放、倾斜或者共他形式的变形具有高度不变性。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
假设一种卷积核只提取出图像的一种特征,所以一般要多个卷积核来提取不同的特征,所以每一层一般都会有多张Feature map。

同一张Feature map上的神经元共用一个卷积核,这大大减少了网络参数的个数。

图像卷积可以提取图像的特征:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.2 卷积神经网络的经典例子:文字识别系统LeNet-5

在这里插入图片描述
LeNet-5共有7层,接受输入图像大小为32 × 32 = 1024,输出对应 10个类别的得分。

  1. C1层是卷积层,使用6个5×5的卷积核,得到6组大小为28×28 = 784的特征映射。因此,C1 层的神经元数量为 6 × 784 = 4704,可训练参数数量为6 × 25 + 6 = 156,连接数为156 × 784 = 122 304(包括偏置在内,下同)。

  2. S2 层为下采样层,采样窗口为 2 × 2,使用平均采样.神经元个数为 6 × 14 × 14 = 1176,可训练参数数量为 6 × (1 + 1) = 12,连接数为6 × 196 × (4 + 1) = 5880。

  3. C3 层为卷积层。我们很容易得到C3层的大小为10x10,不过,C3层有16个10x10网络! 我们只需要按照一定的规则来组合S2的特征图。具体的组合规则在 LeNet-5 系统中给出了下面的表格:输入和输出特征映射之间的连接关系
    在这里插入图片描述

  4. S4 层是在C3层基础上进行下采样,前面已述。
    C5 层是一个卷积层;F6是全连接层;最后是输出层。

经过计算,LeNet-5系统总共需要大约13万个参数,这与前面提到的全连接系统每个隐藏层就需要百万个参数有着天壤之别,极大地减少了计算量。

在以上的识别系统中,每个特征图提取后都紧跟着一个用来求局部平均与二次提取的子采样层。这种特有的两次特征提取结构使得网络对输入样本有较高的畸变容忍能力。也就是说,卷积神经网络通过局部感受野、共享权值和子采样来保证图像对位移、缩放、扭曲的鲁棒性。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UestcXiye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值