机器学习算法与实践 课件 第11、12章 半监督学习、神经网络_第1页
机器学习算法与实践 课件 第11、12章 半监督学习、神经网络_第2页
机器学习算法与实践 课件 第11、12章 半监督学习、神经网络_第3页
机器学习算法与实践 课件 第11、12章 半监督学习、神经网络_第4页
机器学习算法与实践 课件 第11、12章 半监督学习、神经网络_第5页
已阅读5页,还剩58页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十一章半监督学习半监督学习(Semi-SupervisedLearning,SSL)是模式识别和机器学习领域研究的重点问题,是监督学习与无监督学习相结合的一种学习方法。许多实例采用无监督标记来提高预测精度和学习算法的速度;通过引入加权系数动态调整无类标签样例的影响,提高了分类准确度;建立每类中具有多个混合部分的模型,使贝叶斯偏差减小。半监督学习使用大量的未标记数据,同时使用标记数据来进行模式识别工作。111.1未标记样本

如果图中有一个样本恰好位于正负实例中间,可以在图中看到大体上类似于随机猜测。如果观察到图中的未标记样本,则可以基于聚类假设来利用未标记样本,由于待预测样本与正例样本通过未标记样本的“撮合”聚集在一起,与相对分离的反例样本相比,可以将该样本判定为正例。211.1未标记样本

311.2半监督学习方法半监督学习可进一步划分为纯半监督学习和直推学习,前者假设训练数据中的样本不显著,而后者则假定学习过程中所考虑的未标记样本恰好是待预测数据,学习目的就是在这些未标记样本中获得最优泛化性能。4

11.2.1生成式方法

5

11.2.1生成式方法6

(11-2)

11.2.1生成式方法7

11.2.1生成式方法8

生成式方法简单,易于实现,在有标记数据极少的情形下往往比其他方法性能更好。

然而,此类方法中模型假设必须准确,即假设的生成式模型必须与真是数据分布吻合,否则未用未标记数据反倒会降低泛化性能。现实任务中,除非拥有充分可靠的领域知识,否则往往很难事先做出准确的模型假设。

11.2.2半监督SVM半监督支持向量机(Semi-SupervisedSupportVectorMachine,简称S3VM),S3VM是一种在半监督学习上推广的广义支持向量机。在不考虑未标记样本的情况下,支持向量机尝试寻找最大间隔划分超平面。在考虑未标记样本后,S3VM尝试寻找能够划分开两类有标记样本,且可以通过低密度区域分割将它们分开的超平面,如图所示,其中“+”和“-”分别表示有标记的正例和反例,蓝色点表示未标记样本。9

11.2.2半监督SVM10

在传统的支持向量机有监督学习中,我们试图找到超平面的分割点,使得两个半监督学习点之间的距离很小。S3VM考虑了超平面通过区域的情况,S3VM的主要思想是将每个标记样本分为阳性样本和阴性样本。首先利用标记样本集和初始支持向量机进行训练,然后利用机器对未标记样本进行标记,使所有样本稳定然后采用局部迭代搜索最优策略。

11.2.3图半监督学习基于图的半监督学习方法是一种利用数据集的图结构进行学习的技术。其主要思想是通过构建一个图来表示数据集,其中节点代表标记和未标记的数据点,边表示数据点之间的相似性或关联关系。通过赋予边权重来度量数据点的相似性,权重越大表示相似性越高。在该方法中,如果两个样本之间的相似度较高,就可以将它们映射到相应的节点上。通过给已标记的样本节点着色,未标记的样本节点不着色,可以观察到节点的颜色分布情况,从而进行半监督学习。11

11.2.3图半监督学习基于图的半监督学习方法通常包括以下步骤:1)构建图:根据数据集的相似性,构建一个图结构,其中节点表示数据点,边表示相似性关系。2)赋权重:为图中的边赋予权重,以度量数据点之间的相似性,常用的距离度量有欧几里德距离、马氏距离、切比雪夫距离等。3)标记节点:将已标记的样本节点着色,表示其已知类别信息。4)扩散过程:通过图的结构和节点的颜色信息,将标记信息扩散到未标记的节点上,以获得它们的预测标签。5)分类或回归:使用已标记和预测标记的节点进行分类或回归任务。12

11.2.4基于分歧的方法基于分歧的方法使用多学习器,而学习器之间的“分歧”的决策,就需要用到未标记数据。在某些应用任务中,一个数据集可能包含多个属性集,此时每个数据样本同时拥有多个特征向量描述;这里的每个属性集即被称为数据的一个“视图(View)”。基于分歧的半监督学习的起源、也是最著名的代表性方法是“协同训练法”,由于最初的设计是针对多视图数据的,所以也被看作是多视图学习的代表。协同训练法要求数据具有两个充分冗余且满足条件独立性的视图,“充分”是指每个视图都包含足够产生最优学习器的信息,此时对其中任一视图来说,另一个视图则是“冗余”的;同时,对类别标记来说这两个视图条件独立。13

11.2.4基于分歧的方法协同训练法的学习过程:首先分别在每个视图上利用有标记样本训练一个分类器,然后,每个分类器从未标记样本中挑选若干标记置信度(即对样本赋予正确标记的置信度)高的样本进行标记,并把这些“伪标记”样本(即其标记是由学习器给出的)加入另一个分类器的训练集中,以便对方利用这些新增的有标记样本进行更新。这个“互相学习、共同进步”的过程不断迭代进行下去,直到两个分类器都不再发生变化,或达到预先设定的学习轮数为止。1411.3半监督聚类半监督聚类是一种结合了无监督学习和半监督学习思想的聚类方法。它利用有限的标记数据和大量的未标记数据,通过将样本分组成不同的簇来发现隐藏在数据中的结构和模式。传统的聚类算法通常只利用未标记数据进行无监督学习,而半监督聚类则通过引入标记数据的先验知识或约束条件来指导聚类过程,从而提高聚类的准确性和鲁棒性。15这类方法使用用户提供的标签或先验知识作为约束条件来指导聚类过程。常见的约束条件包括“必连”和“勿连”关系,即将两个样本标记为必须属于同一簇或不能属于同一簇。基于约束的方法通常通过优化目标函数来确保尽量满足约束条件。具体可以分为如下几种:

11.3.1基于约束的方法让样本无条件满足给定的约束条件引入惩罚因子(或罚参数)施加独立的类标签(或种子集)作为约束16约束K均值聚类算法的基本过程:1)初始化:选择初始的K个聚类中心。2)聚类分配:根据当前的聚类中心,将每个样本分配到最近的聚类中心所代表的簇。3)约束调整:根据给定的约束信息,对聚类结果进行调整。可以根据约束条件来判断当前的聚类结果是否满足要求,并对不符合约束的样本进行调整。调整的具体方式可以根据具体约束的特点而定,例如将不满足约束的样本重新分配到合适的簇中。4)更新聚类中心:根据调整后的聚类结果,更新每个簇的聚类中心。5)重复步骤2至步骤4,直到满足停止条件(例如达到最大迭代次数或聚类结果不再变化)。

11.3.1基于约束的方法17基于距离的半监督聚类方法是一种常见的半监督聚类算法,它结合了无标签数据和有标签数据中的距离信息,来指导聚类过程。通常情况下,已知标签数据会提供一些关于簇之间相对位置或距离的先验知识,从而有助于更准确地分配无标签数据到相应的簇中。

11.3.2基于距离的方法18基于距离的半监督聚类方法的一般步骤:1)初始化:选择初始的聚类中心。2)聚类分配:根据当前的聚类中心,将每个无标签样本分配到最近的聚类中心所代表的簇。3)标签约束:使用已知标签数据来调整聚类结果。可以通过计算带标签数据和无标签数据之间的距离,然后将这些距离作为约束引入聚类过程。可以根据已知标签数据的信息,对聚类中心进行调整,或者调整样本之间的距离度量方式,以更好地满足先验的标签约束。4)更新聚类中心:根据调整后的聚类结果,更新每个簇的聚类中心。5)重复步骤2至步骤4,直到满足停止条件(例如达到最大迭代次数或聚类结果不再变化)。

11.3.2基于距离的方法19常见的基于距离的半监督聚类方法可以分为以下三种:基于凸优化问题调整样本间的距离基于最短路径算法调节样本之间的距离基于谱聚类方法,通过约束信息来控制样本之间的距离

11.3.2基于距离的方法20

11.3.2基于约束和距离的方法快速K均值算法(FastK-means)该方法使用已知标签数据的信息来调整样本之间的距离,从而改善聚类结果。具体而言,该方法通过引入距离约束,将已知标签数据限制在其对应的簇附近,并根据这些约束来更新聚类中心。这样可以更好地利用已知标签的信息,提高聚类的准确性。21

11.3.2基于约束和距离的方法快速K均值算法的基本过程:

1)随机选择k个样本作为初始聚类中心;2)根据当前的聚类中心,计算每个样本与聚类中心的距离,并将样本分配给距离最近的聚类中心所对应的簇;3)对每个簇,计算簇内所有样本的均值,并将该均值作为新的聚类中心;4)重复执行步骤2,步骤3直到收敛,即簇的分配不再改变或达到最大迭代次数5)在步骤4中将每个样本的簇分配结果进行记录。22

11.3.2基于约束和距离的方法度量学习半监督聚类(MetricLearningforSemi-SupervisedClustering)

该方法旨在通过学习一个合适的距离度量来改善聚类质量。该方法使用已知标签数据的信息来训练一个度量函数,使得同一类别样本之间的距离较小,不同类别样本之间的距离较大。通过优化度量函数,可以调整样本之间的距离,从而更好地聚类数据。23

11.3.2基于约束和距离的方法度量学习半监督聚类算法的基本过程:

1)根据样本距离矩阵D构建簇关联矩阵A;2)将簇关联矩阵A规范化得到拉普拉斯矩阵L;3)对拉普拉斯矩阵L进行特征分解,得到特征值和特征向量;4)根据前k个最小的特征值对应的特征向量构建新的数据表示Z;5)使用K-means聚类算法对新的数据表示Z进行聚类,得到聚类结果C。24

11.4本章小结本章主要介绍了半监督学习算法,给出了未标记样本的定义,并介绍了常见的半监督学习方法及半监督聚类。。半监督学习是监督学习和非监督学习的混合体,训练数据包括标注数据和非标注数据。本章首先介绍了半监督学习的定义及基于的假设等相关基本概念,描述了未标记样本。在此基础上,详细介绍了常见的几种半监督学习算法,生成式方法、半监督SVM、图半监督学习及基于分歧的方法等。最后介绍了常见的半监督聚类方法,分析了每种方法的特点。25第十二章神经网络人工神经网络(ArtificialNeuralNetworks,简称ANNs)也称为神经网络(NNs)或称为连接模型(ConnectionModel)。神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所做出的交互反应。2612.1人工神经网络概述生物神经元

生物神经系统由大量名为神经元的基本单元通过某种方式构成,其工作原理如下图所示:

树突是神经元的分支,负责接收其他神经元的信号。轴突是神经元的传递通道,负责将信号传递给其他神经元。其工作原理维:轴突接收其他神经元的“信号”,当这些“信号”叠加达到一定“阈值”时,会导致神经元的电位发生变化,那么此神经元会“兴奋”起来,把新的“信号”通过轴突传递给其他神经元。2712.1人工神经网络概述M-P神经元

2812.1人工神经网络概述激活函数①阶跃函数

阶跃函数具有不连续,不光滑等性质,对后续模型的求解不利。2912.1人工神经网络概述②Sigmoid函数

3012.1人工神经网络概述Sigmoid函数变型

3112.1人工神经网络概述人工神经网络

人工神经网络由相互连接的M-P神经元(也称为节点或者处理单元)构成。生物神经元的连接和连接的强弱,在人工神经网络中以节点间的连线以及连接权重来表示。根据网络的层数可分为两层神经网络、三层及以上的神经网络或多层神经网络。3212.1人工神经网络概述33

如右图所示。图中椭圆表示节点,有向线段表示节点之间的连接。人工神经网络一般分为输入层、隐藏层、输出层,隐藏层可以有也可以没有,也可以有多层。如右图,只有输入层和输出层,没有隐藏层,即为最简单的神经网络结构,感知机(Perception)模型。

感知机能力有限,需要通过很多神经元协作完成复杂的功能。通过一定的链接方式或信息传递方式进行协作的多个神经元可以看作一个神经网络,称为人工神经网络,也简称为神经网络。到目前为止,研究者已经发明了各种各样的神经网络结构。本章主要介绍“多层前馈神经网络”(Multi-LayerFeedforwardNeuralNetworks),也可称为多层感知机(MultipleLayersPerception,简记为MLP)。12.1人工神经网络概述34如左图所示,其中输入层负责接收外界信号输入,隐藏层和输出层负责对信号进行处理,最后由输出层输出,其中隐藏层可以是单层也可以是多层,分别称为“单隐层前馈网络”和“多隐层前馈网络”。多层前馈神经网络能够解决复杂的分类和回归问题。12.2

感知机

感知机是一种最基本的前馈式神经网络模型,仅由输入层和输出层构成。

感知机模型原理

3512.2

感知机

感知机模型的几何解释感知机模型的适用性(1)对于线性可分问题感知机为线性模型,可以解决线性可分问题,例如逻辑与、或、非运算

3612.2

感知机它们都可以通过只有两个输入节点的简单感知机模型实现:

3712.2

感知机(2)对于非线性可分问题感知机原理简单容易理解,但能力有限,不能解决非线性问题。比如逻辑异或。

此问题非线性可分,不存在直线可以将正负类分开,需要多层神经网络解决。

3812.2

感知机感知机的学习策略

3912.2

感知机1)我们可以通过随机梯度下降法极小化目标函数

4012.2

感知机2)我们可以通过对偶法极小化目标函数

4112.2

感知机感知机随机梯度下降法步骤

4212.2

感知机感知机对偶算法步骤

4312.3多层前馈神经网络基本结构

4412.3多层前馈神经网络45

12.3多层前馈神经网络

多层前馈神经网络的表示能力非常强大,例如可以轻松解决逻辑“异或”问题46

12.3多层前馈神经网络误差传播算法

前馈神经网络表示能力非常强,但随着隐藏层的层数以及神经元的个数的增加,需要确定的参数也会增加。训练如此多的参数需要强大的学习算法,误差传播(ErrorBackPropagation,简称BP)算法是目前最成功的神经网络学习算法。(1)标准BP算法

4712.3多层前馈神经网络

48结合Sigmoid函数的性质得

12.3多层前馈神经网络

49

并且各参数的更新公式如下:

12.3多层前馈神经网络(2)累积BP算法

累积BP算法在读取整个训练集后才对参数进行更新,其参数相对标准BP算法来说更新的频率低得多。但是,当累积误差下降到一定程度时,下降速度会变得非常缓慢,此时标准BP算法会更快得到问题得解,尤其当训练集为大规模数据集时。

5012.3多层前馈神经网络正则化(Regularization)

由于BP神经网络表示能力非常强,在实际使用过程中经常出现过拟合问题,常用的方法有“早停”(EarlyStopping)和“正则化”(Regularization)。早停(EarlyStopping)

指将数据分成训练集和验证集。训练集用来训练网络参数,更新权重和阈值,验证集用来估计误差。在训练过程中,当训练集误差降低但验证集误差升高时,停止训练,同时返回权重和阈值。

在目标函数上增加正则项,用来描述网络的复杂程度,在目标函数和正则项之间设置不同权重,用来折中误差和网络复杂度。例如设置目标函数为:

5112.3

多层前馈神经网络BP算法步骤

5212.4其他神经网络介绍

12.4.1常用神经网络记忆网络(MemoryNetworks)

也称为反馈网络,是一种用于自然语言处理(NLP)任务的神经网络模型。其中的神经元不但可以接收其他神经元的信息,也可以接收自己的历史信息,具有记忆功能,在不同时刻具有不同的状态。其在问答系统、机器翻译、阅读理解等任务中取得了显著的成果,并且在处理具有不确定性和复杂上下文的自然语言问题方面具有很大的潜力。

5312.4.1常用神经网络输入模块(InputModule):将输入文本转换为向量形式,并存储到外部存储器中。通常使用词嵌入(WordEmbedding)技术将单词表示为连续向量。记忆模块(MemoryModule):通过查询内存存储的信息来获取答案。它将查询向量与存储的键进行匹配,并使用注意力机制(AttentionMechanism)来加权选择相关的值。

输出模块(OutputModule):把从记忆模块中检索到的信息进行整合和处理,并生成最终的输出。常见的方法是使用全连接层或逻辑回归等。更新模块(UpdateModule):根据查询和输出的结果,更新外部存储器中的信息。

记忆网络的训练过程常常采用端到端的方式,通过最小化预测与真实答案之间的损失来优化模型参数。

记忆网络包含循环神经网络、Hopfield网络,波尔兹曼机、受限波尔兹曼机等。此外,为了提高记忆网络的性能,还可以使用额外的技术,如多层结构、注意力机制和长短期记忆(LSTM)单元等,称为记忆增强神经网络(MemoryAugmentedNeuralNetwork,简称MANN)54

基本结构由输入模块(InputModule)、记忆模块(MemoryModule)、输出模块(OutputModule)、更新模块(UpdateModule)四个主要组件组成。12.4.1常用神经网络图网络(GraphNeuralNetwork,简称GNN)

GNN是一类用于处理图结构数据的神经网络模型。与传统的神经网络主要处理向量和序列数据不同,图网络能够捕捉和利用图中节点之间的关系和拓扑结构。

输入数据被表示为图的形式,由节点(或称为顶点)和边组成。每个节点可以包含与之相关的特征或属性信息,每个节点都由一个或一组神经元构成。

实现方式包括图卷积网络(GraphConvolutionalNetwork,GCN)、图注意力网络(GraphAttentionNetwork,GAT)、消息传递神经网络(MessagePassingNeuralNetwork,MPNN)等。5512.4.1常用神经网络GNN的设计目标是对每个节点进行聚合和更新,以综合其相邻节点的信息,并将这些信息反馈给下一层的节点。这种迭代的过程使得网络能够逐步地获取全局图结构的信息。通常由以下几个关键组件构成:

输入编码(InputEncoding):将节点和边的特征转换为向量的形式,常见的方法包括使用词嵌入、图像特征提取等技术。

图卷积层(GraphConvolutionalLayer):图卷积层用于聚合节点的邻居信息。通过考虑节点特征和邻居节点特征之间的关系,可以有效地更新节点的表示。

节点更新(NodeUpdate):根据聚合的邻居信息来更新节点的表示。这些更新可以采用不同的函数和操作,如加权求和、非线性激活函数等。

输出预测(OutputPrediction):根据图网络中得到的节点表示,可以进行各种任务的预测,如节点分类、图分类、链接预测等。56图池化(GraphPooling):有时候,为了减少图的规模或提取图的关键信息,需要对图进行汇聚操作。图池化可以将一个图缩减为一个更小的子图,保留重要的节点和边。12.4.2

深度神经网络57为了学习一种好的表示,需要构建具有一定“深度”的模型,并通过学习算法来让模型自动学习出好的特征表示(从底层特征,到中层特征,再到高层特征),从而最终提升预测模型的准确率。所谓“深度”是指原始数据进行非线性特征转换的次数。理论上来说,参数越多的模型复杂度越高、"容量"(capacity)越大。这意味着它能完成更复杂的学习任务。但一般情形下,复杂模型的训练效率低,易陷入过拟合,因此难以受到人们青睐。而随着云计算、大数据时代的到来,计算能力的大幅提高可缓解训练低效性,训练数据的大幅增加则可降低过拟合风险,因此,以“深度学习”(DeepLearning)为代表的复杂模型开始受到人们的关注,典型的深度学习模型就是很深层的神经网络。本小节介绍几种常用的深度学习模型。12.4.2

深度神经网络58全连接层用于将特征图与输出进行连接,进行分类或预测任务。它将所有特征图中的神经元连接到每个输出神经元,实现输入与输出之间的全连接。全连接层通常使用softmax函数进行多分类预测,或者使用线性激活函数得到回归预测。总的来说,卷积神经网络能够自动学习到输入数据中的空间和位置信息,具有对平移和缩放的鲁棒性。它在图像处理和计算机视觉任务中表现出色,在许多挑战性的数据集上取得了优异的性能。卷积神经网络(ConvolutionalNeuralNetworks,CNN)CNN广泛应用于图像识别和计算机视觉任务。主要由卷积层、池化层和全连接层组成.

卷积层是CNN的核心组件,它通过卷积操作对输入进行特征提取。卷积操作使用一个滤波器(也称为卷积核)在输入数据上滑动,计算每个位置的局部乘积,并将其求和得到输出特征图。通过多个卷积核的并行计算,CNN能够学习到输入数据的不同特征表示。卷积操作还具有权值共享的特性,即同一个卷积核在输入的不同位置共享相同的参数,大大减少了模型的参数数量。

池化层用于减小特征图的尺寸并保留重要的特征。常见的池化操作有最大池化和平均池化,它们分别选择局部区域中的最大值或平均值作为输出。通过降低特征图的维度,池化层能够提高模型的计算效率,并增强模型对输入的平移和缩放不变性。12.4.2

深度神经网络循环神经网络(RecurrentNeuralNetworks,RNN)

RNN是一种常用于处理序列数据的深度学习模型,它主要用于自然语言处理、语音识别等任务。通过引入递归的结构来建模序列数据之间的依赖关系。

RNN的基本结构是一个循环单元,它包含一个隐藏状态和一个输入。在处理序列数据时,RNN会根据当前的输入和前一时刻的隐藏状态计算出当前时刻的隐藏状态。这样,RNN可以在时间维度上共享权重,并捕捉到序列数据的上下文信息。同时,为了有效解决RNN梯度消失和梯度爆炸问题,提出了门控循环单元(GRU),它将LSTM的输入门和遗忘门合并为一个更新门,并引入候选隐藏状态。GRU相对于LSTM具有更简化的结构,在某些情况下能够取得与LSTM相当的性能。5912.4.2

深度神经网络长短期记忆网络(LongShort-TermMemory,LSTM)

LSTM是一种特殊类型的循环神经网络,专门用于解决传统RNN难以处理长期依赖问题的挑战。LSTM通过引入门控机制来解决模型无法有效地“记住”较早期的信息这一问题,并在序列数据中选择性地存储和遗忘信息。已经在自然语言处理、语音识别、机器翻译等多个领域取得

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论