机器学习系统与优化 课件 第四章 随机森林系统、深度学习系统与优化_第1页
机器学习系统与优化 课件 第四章 随机森林系统、深度学习系统与优化_第2页
机器学习系统与优化 课件 第四章 随机森林系统、深度学习系统与优化_第3页
机器学习系统与优化 课件 第四章 随机森林系统、深度学习系统与优化_第4页
机器学习系统与优化 课件 第四章 随机森林系统、深度学习系统与优化_第5页
已阅读5页,还剩123页未读 继续免费阅读

下载本文档

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

文档简介

第四章随机森林系统、深度学习系统与优化目录content01基本概述02决策树03随机森林系统04深度学习系统01PARTONE基础概述决策树随机森林深度学习

决策树在机器学习与深度学习领域,决策树、随机森林以及深度学习各自占据着独特且重要的地位,它们的发展和应用极大地推动了相关技术的进步。决策树是基于树结构、应用广泛的机器学习算法,可用于分类和回归。其构建从根节点(承载全部训练数据)开始,按自顶向下原则,借助信息增益等指标挑选最优特征递归划分数据,内部节点为特征判断条件,叶节点呈现分类标签或回归值,节点满足样本同属一类等终止条件时停止划分,叶节点依多数样本类别(分类)或均值(回归)确定。它模型直观、无需复杂预处理,但易过拟合,常需剪枝优化以提升稳定性和准确性。

随机森林随机森林是集成学习代表,通过数据随机采样(Bootstrap抽样,有放回选子集训练树,袋外数据用于评估)和特征随机选择(节点分裂仅考虑部分特征)两大核心机制,提升整体性能。分类时用投票法、回归时取平均预测值,以“集体决策”减少单树过拟合。还可利用Gini重要性等分析特征重要性。它擅长处理高维及不平衡数据,鲁棒性强,容忍异常值和噪声,在金融风控等多领域广泛应用,是工业级常用算法。

深度学习深度学习是机器学习前沿技术,基于深层神经网络,通过多层非线性变换自动学习复杂特征,开启人工智能新篇章。其神经网络架构多样,前馈神经网络数据单向流动,隐藏层提取特征;卷积神经网络处理网格数据,卷积、池化、全连接层协作;循环神经网络有“记忆”,处理时间依赖数据;Transformer靠自注意力机制处理序列,解决长距离依赖且支持并行。训练依赖大数据和算力,用反向传播优化参数,能自动分层学习特征,在多领域性能卓越,但存在解释性差、需大量资源、易过拟合等问题,常以正则化等技术应对。它与其他学习方法结合,拓展应用边界,是人工智能核心技术。

02PARTTWO决策树4.2.1概念4.2.2特征选择4.2.3ID3算法例4.1

4.2.1概念决策树(DecisionTree)是一种监督学习算法,既可以用于分类任务,也可以用于回归任务。其基本思想是通过一系列“是/否”的判断将数据逐步分裂成小的子集,直到大部分数据属于同一类别。决策树的核心组成包括根节点(起始点,代表整个数据集)、内部节点(特征判断条件,根据特征值进行分裂)和叶节点(分类结果,表示数据属于某一类别)。根节点:决策树的起始点,代表整个数据集。内部节点:特征判断条件,根据特征值进行分裂。叶节点:分类结果,表示数据属于某一类别。4.2.2特征选择

4.2.3ID3算法ID3算法(IterativeDichotomiser3)是决策树生成的经典算法,核心是基于信息增益准则的贪心递归划分,通过自顶向下的贪心策略选择最优特征,逐步构建决策树,直到无法继续分裂为止。其核心步骤严格遵循“特征选择→数据集划分→递归终止”的逻辑,具体步骤如下:1.初始化:创建决策树的根节点,并将全部训练数据集放置于该根节点。训练数据集涵盖了众多样本,每个样本都包含若干特征以及对应的类别标签。2.特征选择:此步骤旨在从当前节点所拥有的所有可用特征里,挑选出最适宜的特征用于数据集的划分,计算当前节点的信息熵,遍历所有可用特征,计算每个特征的信息增益,选择信息增益最大的特征作为当前节点的分裂特征。4.2.3ID3算法

例4.1银行需要根据客户的特征(如信用评分、收入水平、是否有抵押物等)决定是否批准其贷款申请(二分类问题:批准或不批准)。通过构建决策树模型,银行可以自动化、透明化审批流程。使用ID3算法,基于信息增益准则选择最优分裂特征,递归构建决策树。1.数据集例4.1

例4.1

例4.13.代码运行结果决策树先依“工作年限”分裂,编码值≤0.5对应“<5年”,将样本分两类。工作年限<5年的进一步依“月收入”细分,此群体月收入低时拒绝率66.7%;工作年限≥5年的依“抵押物”二次判断,无抵押物时拒绝率80%,有抵押物则全批准。该模型呈现的银行风控策略倾向工作年限≥5年及有抵押物的申请人,工作年限是关键判定特征,抵押物为次要依据。03PARTTHREE随机森林系统4.3.1相关基础知识4.3.2算法流程例4.24.3.1相关基础知识随机森林是一种集成学习方法,通过构建多个决策树并聚合它们的预测结果来提升模型性能。它基于决策树算法,由多棵决策树组成,这些决策树通过对数据进行有放回抽样(即Bagging)得到不同训练子集,并且在每个节点分裂时随机选取部分特征进行最优特征选择。在处理分类任务时,随机森林采用投票法,选择多数树支持的类别作为最终结果;对于回归任务,则通过平均所有树的预测值来降低方差。随机森林的随机性体现在数据采样和特征选择两方面。数据采样采用Bootstrap抽样,从原始数据集中有放回地随机抽取多个样本子集,每个子集都用于训练一棵决策树。由于抽样的随机性,部分样本可能多次被选中,部分样本可能未被选中(袋外数据,可用于模型评估)。特征选择方面,在每棵决策树的每个节点分裂时,不是考虑所有特征,而是随机选取一部分特征,然后在这些随机选取的特征中选择最优特征进行分裂。这使得决策树之间具有差异性,降低了单棵树的过拟合风险,提升了整体模型的泛化能力和稳定性。4.3.1相关基础知识

随机森林具有诸多优势。它能处理高维数据,对异常值和噪声有较好的容忍度,在不平衡数据集上也表现优异。同时,它可以通过特征重要性分析(如Gini重要性或排列重要性)对数据特征进行量化评估,帮助理解数据中各特征对模型预测的贡献程度。不过,随机森林也存在一定局限性,比如在某些噪音较大的分类或回归问题上可能出现过拟合,对于有不同级别属性的数据,级别划分较多的属性会对模型产生更大的影响,导致其产出的属性权值不可信。4.3.2算法流程随机森林的流程步骤如下:1.数据准备收集和整理用于训练和测试的数据集,确保数据集中包含特征变量(用于预测的变量)和目标变量(需要被预测的变量)。如果数据存在缺失值、异常值等问题,可能需要进行相应的预处理,如填补缺失值、处理异常值等。不过随机森林对缺失值和异常值有一定的容忍度,预处理相对简单。2.Bootstrap抽样从原始数据集中有放回地随机抽取多个样本子集,每个子集的大小与原始数据集相同。由于是有放回抽样,部分样本可能在子集中多次出现,而部分样本可能未被选中,未被选中的样本称为袋外数据(OOB),可用于模型评估。4.3.2算法流程3.构建决策树对于每个样本子集,分别构建决策树。在构建决策树的过程中,对于每个节点的分裂:(1)特征随机选择:从所有特征中随机选取一部分特征作为当前节点分裂的候选特征集。(2)选择最优分裂特征:在候选特征集中,根据一定的准则(如基尼指数、信息增益等)选择最优的特征进行分裂,将数据集划分为两个子节点。(3)递归分裂:重复上述过程,对每个子节点继续进行特征选择和分裂,直到满足一定的停止条件,如节点中的样本数量小于某个阈值、树的深度达到预设值、节点的不纯度低于某个阈值等,从而构建出一棵决策树。4.3.2算法流程4.集成决策树重复步骤2和3,构建多个决策树,形成随机森林。每棵决策树都可以看作是一个弱分类器(对于分类问题)或弱回归器(对于回归问题)。5.预测(1)分类问题:对于新的待预测样本,将其输入到随机森林中的每棵决策树进行分类预测,每棵树会给出一个预测类别。最后通过投票法,统计所有决策树预测结果中出现次数最多的类别,将其作为随机森林的最终预测类别。(2)回归问题:将新样本输入到每棵决策树进行回归预测,得到每棵树的预测值。然后计算所有决策树预测值的平均值,作为随机森林的最终预测结果。4.3.2算法流程6.模型评估使用袋外数据或独立的测试数据集对随机森林模型进行评估。对于分类问题,可以使用准确率、精确率、召回率、F1值等指标;对于回归问题,可以使用均方误差(MSE)、平均绝对误差(MAE)、决定系数(R²)等指标来衡量模型的性能。7.特征重要性评估随机森林可以计算每个特征在模型中的重要性。通常通过计算特征在决策树分裂过程中对降低不纯度的贡献程度来评估其重要性。重要性较高的特征对模型的预测结果影响较大,有助于理解数据中不同特征对目标变量的影响程度,也可以用于特征选择,去除不重要的特征,简化模型。例4.2使用随机森林算法对鸢尾花数据集进行分类分析,根据一些特征,例如花瓣的长,宽,花萼的长,宽来预测植株的种类。1.数据集

鸢尾花数据集是一个经典的数据集,包含150个样本,每个样本具有4个特征(花萼长度、花萼宽度、花瓣长度、花瓣宽度),并分属于3个类别(山鸢尾、变色鸢尾、维吉尼亚鸢尾)。在R语言中,可以直接使用data(iris)加载内置的鸢尾花数据集。若从外部下载该数据集,可从Kaggle上下载,网址是/uciml/iris。2.代码例4.23.代码运行结果模型对setosa类别的预测完全准确(35个样本全部正确分类,无混淆)。versicolor类别有37个正确预测,仅有1个被误判为virginica。Virginica类别中33个正确分类,但有3个被误判为versicolor。整体来看,setosa因其独特的特征最容易区分,而versicolor和virginica之间存在少量混淆(共4个错误分类),这可能源于两物种的部分特征重叠。04PARTFOUR深度学习系统4.4.1FNN4.4.2CNN4.4.3RNN4.4.4LSTM4.4.5GRU4.4.6Transformer4.4.7GCN4.4.8强化学习4.4.1FNN1.相关基础知识2.流程例4.31.相关基础知识(1)定义与结构前馈神经网络(FeedforwardNeuralNetwork,FNN)是深度学习中一种基础的神经网络架构。它由输入层、隐藏层(可包含多个)和输出层组成,各层神经元分层排列。在FNN中,数据单向流动,从输入层进入,经过隐藏层处理后传递到输出层,层与层之间没有反馈连接。这种结构使得FNN在处理数据时具有明确的方向性和顺序性。①输入层:

负责接收外部输入数据,将其传递给隐藏层进行处理。输入数据的维度和形式取决于具体的应用场景,比如在图像识别中,输入层可能接收图像的像素值;在文本分类中,输入层接收经过编码后的文本特征向量。1.相关基础知识

1.相关基础知识

1.相关基础知识

1.相关基础知识

1.相关基础知识

1.相关基础知识

1.相关基础知识③

小批量算法(Mini-Batch):是SGD算法与批量算法的混合形式。首先选出一部分数据集,然后用批量算法训练这个数据集。这样,它就是用选出的数据集来计算一次权重的更新值,然后再用平均权重更新值来调整该神经网络。这种算法结合了前两者的优点,既保证了一定的计算速度,又能使更新方向相对稳定。2.流程

2.流程

2.流程

2.流程

2.流程

2.流程(7)重复训练重复步骤3-6,对训练集中的所有样本进行一轮训练,称为一个epoch。在训练过程中,可以定期使用验证集评估模型的性能,观察损失值和准确率等指标的变化情况。如果在验证集上的性能不再提升(如损失值不再下降,准确率不再上升),则认为模型可能出现了过拟合,此时可以停止训练或者调整超参数重新训练。(8)模型评估

使用测试集对训练好的模型进行评估,计算模型在测试集上的准确率、召回率、均方误差等指标,以衡量模型的泛化能力和性能表现。如果模型性能不满足要求,可以进一步调整超参数或重新收集数据进行训练,直到达到满意的效果。例4.3例4.3利用单隐藏层前馈神经网络(FNN)用于MNIST手写数字识别任务。1.数据集选用MNIST数据集进行模型的训练与测试。MNIST数据集是一个经典的用于图像识别的数据集,其中包含了0-9的手写数字灰度图像,共计60000张训练图像和10000张测试图像,每张图像的大小为28×28像素。MNIST数据集可从官网/exdb/mnist/进行下载。2.代码例4.33.代码运行结果训练过程显示,经过5个epoch后,模型在测试集上达到了92.65%的准确率。从训练日志可以看到,损失值在0.15-0.44之间波动(如Epoch2最低为0.1590,Epoch5最高为0.4430),最终测试精度表明模型能有效识别手写数字,该结果验证了即使简单的全连接网络也能在MNIST任务上取得较好效果。4.4.2CNN1.相关基础知识2.流程例4.41.相关基础知识1.定义与概念

卷积神经网络(ConvolutionalNeuralNetwork,简称CNN)是专门为处理具有网格结构数据(如图像、音频)而设计的深度学习模型。它通过卷积层、池化层和全连接层等组件,自动提取数据的特征,实现高效的分类、检测和分割等任务。CNN的核心在于卷积操作,通过卷积核在输入数据上滑动,对局部区域进行加权求和,从而提取出数据的特征。这种局部感知的特性使得CNN在处理图像等数据时,能够有效捕捉局部信息,减少参数数量,降低计算量,同时提高模型的泛化能力。1.相关基础知识

1.相关基础知识③

池化层

主要用于降低特征图的空间维度,减少计算量,并提取主要特征。常见的池化方式有最大池化(max-pooling)和平均池化(average-pooling)。最大池化是在每个局部区域中选择最大值作为输出,平均池化则是计算局部区域的平均值作为输出。池化操作增强了模型的平移不变性,即对图像中物体的位置变化具有一定的鲁棒性。常见方法:最大池化(max-pooling)和平均池化(average-pooling)1.相关基础知识最大池化示意图:将整个矩阵分为多个子区域,取每个子区域的最大值作为新矩阵的对应元素。平均池化示意图:与最大池化不同的是,它是取每个子区域的平均值作为新矩阵中的对应元素。1.相关基础知识池化层的主要作用:

减少特征图的尺寸。从上面的分析可知,特征图在经过池化后,尺寸减小了,这对于减少计算量和防止过拟合是非常有利的。引入不变性。比如最常用的最大池化是选取特征图子区域中最大的那个值,所以这个最大值无论在子区域的哪个位置,通过最大池化运算总会选到它;所以这个最大值在这个子区域内的任何位移对运算结果都不会产生影响,相当于对微小位移的不变性。注:最大化池化由ALEX提出,相比平均池化,最大化池化是一种非线性运算。④

全连接层将经过卷积层和池化层处理后的特征图展平为一维向量,然后通过权重矩阵进行线性组合,再应用激活函数,最终输出分类或回归结果。全连接层的作用是对提取到的特征进行综合判断,完成最终的任务。1.相关基础知识(3)优势①

自动特征提取CNN能够自动从数据中学习到有效的特征表示,无需手动设计特征,大大减少了特征工程的工作量。在图像识别任务中,CNN可以自动学习到图像中不同物体的特征,如形状、纹理等。②

参数共享卷积层中的卷积核在整个输入数据上共享参数,这意味着无论卷积核在图像的哪个位置进行卷积操作,其权重都是相同的。这种参数共享机制大大减少了模型的参数数量,降低了计算量,同时也提高了模型的泛化能力,减少了过拟合的风险。③

局部感知CNN通过局部卷积操作,只关注输入数据的局部区域,能够有效捕捉局部特征。这种局部感知特性符合人类视觉系统的工作方式,对于图像等数据的处理非常有效。1.相关基础知识(4)卷积神经网络与全连接神经网络的区别①

架构上的区别全连接神经网络为“平面网络”,主要由输入层、激活函数、全连接层组成。卷积神经网络为“立体网络”,其组成包括输入层、卷积层(可能有多个)、激活函数(可能有多个)、池化层(可能有多个)、全连接层。②

功能上的区别全连接神经网络:无法对输入量进行特征提取。卷积神经网络:可以实现特征自动提取功能。2.流程在卷积神经网络(CNN)中,流程可以概括为以下几个关键步骤,这些步骤共同构成了CNN的运作机制:(1)输入层输入层负责接收输入数据,在图像识别等场景中常为图像等网格结构数据,如图像数据一般以三维数组形式输入,包含高度、宽度和通道数(如RGB图像通道数为3)。对输入数据进行预处理十分关键,常用的归一化操作将像素值缩放到0-1区间,能加速模型训练收敛、提升泛化能力,调整尺寸操作也很常见,可使数据符合后续网络层要求,保障数据在网络中顺利传递处理。(2)卷积层卷积层是CNN的核心,通过卷积核(小权重矩阵)在输入数据上进行滑动窗口操作提取局部特征,不同卷积核可捕捉图像边缘、纹理等低级特征,如3×3卷积核与图像对应区域像素值相乘求和。卷积操作后常应用ReLU等激活函数引入非线性,打破线性关系,增强模型学习和表达复杂数据特征的能力。2.流程

2.流程(4)多层堆叠CNN强大在于可重复堆叠卷积层和池化层来深入挖掘数据特征。前几层提取边缘、简单纹理等基础局部特征,随着层数增加,后续层基于低级特征组合抽象出物体形状、结构等复杂高级特征,实现对输入数据全面深入的理解分析。(5)全连接层多层卷积和池化后,需将最后一层输出展平为一维向量,以适配全连接层。全连接层在CNN中起分类或回归作用,接收展平特征后,通过权重矩阵进行线性组合(输入向量元素与权重矩阵元素相乘求和并加偏置),还会应用激活函数(如分类任务中在softmax前可能先使用ReLU)处理数据,为最终输出做准备。2.流程(6)输出层输出层设计取决于具体任务。分类任务常用Softmax激活函数,将全连接层输出转为概率分布,各值代表输入属对应类别的概率,总和为1,便于分类判断;回归任务则直接输出实数值,用于预测连续目标变量,如物体尺寸、温度等。(7)训练与优化CNN训练需定义损失函数衡量预测与真实标签差异,分类任务常用交叉熵损失,最小化该损失可使预测接近真实标签。借助反向传播算法计算损失对各参数的梯度,依据梯度信息确定参数更新方向。使用SGD、Adam等优化器更新参数,如SGD沿梯度反方向按学习率更新,经迭代减小损失、提升性能。训练中还会采用L1和L2正则化、Dropout等正则化技术防过拟合,确保泛化能力。例4.4例4.4使用卷积神经网络(CNN)对CIFAR-10数据集进行图像分类任务。1.数据集CIFAR-10数据集包括飞机、汽车、鸟、猫、鹿、狗、青蛙、马、船和卡车十个类别。CIFAR-10数据集包含10个不同类别的60000张32×32彩色图像,每个类别有6000张图像,其中50000张用于训练,10000张用于测试。CIFAR-10数据集可以通过tensorflow.keras.datasets.cifar10.load_data()函数自动下载,CIFAR-10数据集的官方下载网址是:/~kriz/cifar.html2.代码例4.43.代码运行结果该模型在CIFAR-10数据集上实现了78.7%的测试准确率,证明了这项多类图像分类任务的合理性能。训练曲线显示训练和验证准确性稳步提高和收敛,表明学习有效,没有严重的过拟合。预测可视化显示,大多数示例(标记为蓝色)都进行了正确分类,但存在一些错误(红色),例如将“鹿”错误分类为“狗”,考虑到CIFAR-10的32×32分辨率,这是意料之中的。4.4.3RNN1.相关基础知识2.流程例4.51.相关基础知识(1)定义与特点循环神经网络(RecurrentNeuralNetwork,RNN)是一种用于处理数据序列的神经网络架构。与FNN不同,RNN具有“记忆”功能,能够处理具有时间依赖性的数据,适用于时间序列、自然语言等领域。在处理序列数据时,记住之前时间步的信息,并利用这些信息来影响当前的输出。例如,在自然语言处理中,RNN可以根据前文的语境来理解当前词汇的含义,从而更好地进行语言翻译、文本生成等任务;在时间序列预测中,RNN能够依据历史数据的趋势来预测未来的值。(2)基本结构①

输入层接收输入数据,例如一个时间步的数据等。输入数据通常是一个二维数组,一个维度代表数据序列的长度,另一个维度表示每个序列元素中存在的特征数。以自然语言为例,输入层接收的可能是编码后的单词向量,向量的维度反映单词特征数量。1.相关基础知识②

隐藏层包含循环结构,用于存储和处理历史信息。隐藏层通过循环连接在时间维度上传递信息,其核心是隐藏状态,用于保存历史信息。隐藏层就像是一个记忆单元,它在每个时间步都会根据当前输入和上一时刻的隐藏状态进行更新,从而积累和传递序列中的重要信息。③

输出层生成最终的输出结果,例如预测下一个单词、分类结果等。输出层根据隐藏层的输出进行计算,得到最终的预测或分类结果。在不同的应用场景中,输出层的计算方式和输出形式会有所不同,如在文本分类任务中,输出层可能通过Softmax函数输出每个类别的概率;在时间序列预测中,输出层直接输出预测的数值。1.相关基础知识

2.流程

2.流程

2.流程

2.流程

2.流程

例4.5例4.5使用简单循环神经网络完成时间序列预测任务。模型通过合成数据(带噪声的正弦波序列)学习时序模式,预测每个序列最后一个时间步的值。1.数据集由generate_time_series函数生成,包含1000条长度为50的时间序列。2.代码例4.53.运行结果

训练损失和验证损失均从初始高位(约0.012)快速下降,约2.5个epoch后趋于平缓,最终测试损失为​​0.0001​​,验证损失稳定在约​​0.0005​​。模型高效收敛,且验证损失略高于训练损失但差距极小,表明模型泛化能力强,未出现过拟合。预测值(橙色)与真实值(蓝色)整体趋势高度一致,但在局部峰值和谷值处存在轻微偏差(如样本25、75附近),模型能有效捕捉正弦波的主趋势,但对噪声引入的短期波动敏感度有限。4.4.4LSTM1.相关基础知识2.流程例4.61.相关基础知识(1)定义长短时记忆网络(LongShort-TermMemory,简称LSTM)是一种特殊的循环神经网络(RecurrentNeuralNetwork,RNN),旨在解决传统RNN在处理长序列数据时存在的梯度消失或梯度爆炸问题,从而能够更好地捕捉和学习长期依赖关系。LSTM通过引入门控机制(输入门、遗忘门和输出门)来控制信息的流动和保留,使其在序列建模任务中表现出色。在自然语言处理的机器翻译任务中,LSTM能够有效处理长句子中前后单词之间的依赖关系,准确翻译句子含义;在时间序列预测如股票价格预测中,它能记住长时间范围内的价格趋势信息,提高预测准确性。1.相关基础知识(2)基本结构LSTM网络由一系列门控单元组成,这些门控单元能够控制信息的流动,从而实现对序列数据的长期记忆和选择性遗忘。其主要包括输入门、遗忘门、输出门和细胞状态。①

输入门控制着新输入数据进入细胞状态的程度。它包括一个Sigmoid激活函数,用于决定应该更新哪些信息,以及一个tanh激活函数,用于创建一个新的候选值,以便加入到细胞状态中。Sigmoid函数输出值在0到1之间,0表示不更新对应信息,1表示完全更新,tanh函数则对新信息进行变换,使其在-1到1之间,为细胞状态提供多样化的信息来源。1.相关基础知识②

遗忘门决定了上一个时间步的细胞状态中哪些信息应该被遗忘。它通过一个Sigmoid激活函数来输出一个介于0和1之间的数值,表示应保留的信息量。当遗忘门输出接近0时,对应信息将被大量遗忘;接近1时,则保留大部分信息。③

输出门控制着当前时间步的输出。它使用Sigmoid函数来确定应输出的部分,并将细胞状态通过tanh函数进行缩放,以确保输出在合理范围内。这样可以根据当前需求,有选择性地输出细胞状态中的信息。1.相关基础知识④

细胞状态LSTM网络中的核心,负责传递和存储序列数据中的长期信息。它在每个时间步都会根据输入门、遗忘门和输出门的控制进行更新和调整。细胞状态就像一个信息传送带,在序列处理过程中持续传递信息,同时根据门控信号进行信息的更新和筛选。1.相关基础知识(3)工作原理LSTM的核心是细胞状态,它贯穿LSTM单元的整个链条,能够在序列的处理过程中长时间地保存和传递信息,并且能够选择性地更新和遗忘信息,从而实现对长期依赖的建模。在每个时间步,LSTM单元接收当前的输入和上一时刻的隐藏状态,然后通过遗忘门、输入门和输出门的操作来更新细胞状态和产生当前时刻的输出。具体来说,遗忘门根据当前的输入和上一时刻的隐藏状态决定从细胞状态中丢弃哪些信息;输入门决定将哪些新信息添加到细胞状态中;输出门决定细胞状态的哪些部分将作为当前时刻的输出。相较于RNN,LSTM在长序列数据中能更好地捕捉和记忆长期依赖关系,有效缓解梯度消失/爆炸问题。因此,LSTM在自然语言处理、语音识别、时间序列预测等诸多领域取得了巨大的成功。1.相关基础知识

2.流程LSTM的基本处理流程如下:(1)输入层接收序列数据,如文本、时间序列等。每个时间步的输入通常是一个向量。(2)隐藏状态和细胞状态初始化在开始处理序列之前,初始化隐藏状态(hiddenstate)和细胞状态(cellstate)。这些状态将在整个序列处理过程中不断更新。(3)时间步循环对于序列中的每一个时间步t,执行以下步骤:2.流程

2.流程

2.流程

例4.6例4.6情感分析是自然语言处理中的常见任务,旨在判断文本的情感倾向(如正面或负面)。LSTM由于其处理序列数据的能力,在情感分析任务中表现出色。以下是使用LSTM进行IMDb电影评论情感分析的示例。1.数据集IMDb数据集包含50000条电影评论,其中25000条用于训练,25000条用于测试。每条评论被标记为正面(positive)或负面(negative)。IMDb数据集可以从下面网址进行下载:/yashdogra/imdb-dataset2.代码例4.63.运行结果该模型实现了86.01%的测试准确率,测试损失为0.383,表明IMDb情感分析任务表现良好。训练曲线显示,训练和验证准确率在epoch中稳步提高,到最后一个epoch分别达到约94%和86%左右。结果证实了LSTM模型有效地学会了将电影评论分类为正面或负面。4.4.5GRU1.相关基础知识2.流程例4.71.相关基础知识(1)定义门控循环单元(GatedRecurrentUnit,简称GRU)是一种改进的循环神经网络(RecurrentNeuralNetwork,RNN),旨在解决传统RNN在处理长序列数据时存在的梯度消失和梯度爆炸问题,同时简化了长短期记忆网络(LSTM)的结构。GRU通过引入更新门(updategate)和重置门(resetgate)来控制信息的流动和保留,从而有效地捕捉序列数据中的长期依赖关系。1.相关基础知识

1.相关基础知识

1.相关基础知识(2)与其他RNN变体的比较①

与LSTM的比较GRU和LSTM都旨在解决传统RNN的长期依赖问题,但GRU的结构更为简单,它将LSTM中的输入门、遗忘门和输出门简化为重置门和更新门,减少了参数数量,因此在训练速度上通常更快。然而,LSTM在一些复杂任务中可能具有更强的表达能力,因为它的细胞状态机制能够更精细地控制信息的流动。②

与传统RNN的比较传统RNN在处理长序列时容易出现梯度消失或梯度爆炸问题,导致无法有效学习长期依赖关系。而GRU通过门控机制能够更好地控制信息的流动和保留,从而在长序列任务中表现更优。1.相关基础知识(4)应用场景①

自然语言处理GRU对文本序列进行建模,捕捉文本语义信息,从而实现对文本的分类任务,如情感分析、新闻分类等。通过学习文本中的长期依赖关系,GRU能够更好地理解文本的整体含义,提高分类的准确性。GRU用于编码源语言句子,将其转换为一个固定长度的向量表示,然后再通过解码器生成目标语言句子。门控机制使得GRU处理句子的依赖关系,提高翻译质量。GRU根据给定的上下文信息生成后续的文本内容,如故事生成、对话系统等。它能够学习到语言的模式和规律,生成连贯、合理的文本。1.相关基础知识②

时间序列预测通过对历史股票价格序列进行建模,GRU可以捕捉价格的变化趋势和长期依赖关系,从而预测未来的股票价格走势。这对于投资者进行决策具有重要的参考价值。GRU可以处理气象数据的时间序列,如温度、湿度、气压等,预测未来的天气情况。门控机制有助于模型更好地应对气象数据中的复杂变化和长期趋势。在语音识别任务中,GRU可以对语音信号的时间序列进行处理,将语音转换为文本。它能够学习到语音信号中的特征和模式,提高语音识别的准确率,尤其是在处理长语音序列时表现出色。2.流程

2.流程

2.流程

2.流程

例4.7例4.7以下是一个使用Python和TensorFlow/Keras构建简单GRU模型进行时间序列预测的案例。1.数据集使用合成生成的时间序列数据,模拟一个具有周期性变化的数据集。2.代码例4.73.运行结果训练损失和验证损失均随epoch增加快速下降,最终稳定在较低值(训练损失约0.05,验证损失约0.02)。两条曲线收敛趋势一致,且验证损失低于训练损失,表明模型​​未过拟合​​且泛化能力良好。测试集损失为0.00302(图1),说明模型在未见数据上表现优异。预测值(橙色)与真实值(蓝色)在测试集上整体趋势高度一致,仅在局部细节存在微小偏差。该模型成功捕捉了正弦波加噪声的时间序列模式,验证了GRU对时序数据的建模能力。4.4.6GRU1.相关基础知识2.流程例4.81.相关基础知识Transformer是一种基于自注意力机制(Self-Attention)的深度学习模型,抛弃了传统的RNN和CNN结构,完全依赖注意力机制处理序列数据,解决了长距离依赖问题,并支持并行计算。由编码器和解码器组成。编码器负责提取输入序列的上下文信息,解码器基于编码器输出逐步生成目标序列。编码器和解码器都由多个相同层堆叠而成,每层包含多个子层。Transformer的相关研究和发展,可参考下面文献,该文献对深度学习领域包括Transformer的发展有重要推动作用。1.相关基础知识

1.相关基础知识

1.相关基础知识②

多头注意力多头注意力将点积注意力机制扩展到多个不同的头(Head)上。每个头使用不同的线性变换将查询、键和值投影到不同的子空间中,然后分别计算注意力输出,最后将所有头的输出拼接起来并进行线性变换,得到最终的多头注意力输出。多头注意力机制使得模型能够在不同的表示子空间中关注输入序列的不同部分,从而捕捉到更丰富的信息。③

位置编码

由于Transformer本身无内置序列位置信息,通过将每个位置映射到一个向量,用正弦和余弦函数生成位置编码,加入到词向量中,为模型提供位置信息。1.相关基础知识④残差连接和层归一化残差连接将子层输入直接添加到输出,使每层可直接访问输入信号,加速模型收敛;层归一化对每层输出标准化,减少内部协变量偏移,稳定训练过程。⑤

前馈神经网络是简单的两层全连接神经网络,在每个位置独立操作,对位置表示进行进一步非线性变换。1.相关基础知识(2)基本结构①

编码器(Encoder)编码器由多个相同的编码层堆叠而成,每个编码层包含两个子层:多头自注意力机制(Multi-HeadSelf-Attention)和前馈神经网络(Feed-ForwardNetwork)。多头自注意力机制允许模型在不同的表示子空间中关注输入序列的不同部分,从而捕捉到更丰富的信息。前馈神经网络则对自注意力机制的输出进行非线性变换,增强模型的表达能力。在每个子层之后,都使用了层归一化(LayerNormalization)来加速训练过程和提高模型的稳定性。②

解码器(Decoder)解码器同样由多个相同的解码层堆叠而成,每个解码层包含三个子层:多头自注意力机制、编码器-解码器注意力机制(Encoder-DecoderAttention)和前馈神经网络。编码器-解码器注意力机制允许解码器在生成输出时,关注编码器的输出,从而将输入序列的信息融入到输出序列的生成中。与编码器类似,解码器的每个子层之后也使用了层归一化。1.相关基础知识(3)优势①

并行计算能力与传统的RNN及其变体不同,Transformer完全摒弃了循环结构,采用了自注意力机制,因此可以在整个序列上进行并行计算,大大提高了训练效率。②

长距离依赖捕捉能力自注意力机制允许模型在处理序列时,直接关注序列中的任意位置,从而能够更好地捕捉长距离依赖关系,避免了RNN在处理长序列时的梯度消失或梯度爆炸问题。③通用性Transformer架构具有很强的通用性,可以应用于多种自然语言处理任务,如机器翻译、文本分类、问答系统等,也可以扩展到计算机视觉等其他领域。2.流程

2.流程

2.流程

2.流程

2.流程

例4.8例4.8使用PyTorch实现简化的Transformer模型,完成英文到中文的机器翻译任务。1.数据集示例中使用随机生成的模拟数据进行训练演示。2.代码例4.83.运行结果运行结果表示模型在单次训练步骤后计算出的交叉熵损失值约为10.06。这一较高的初始损失值反映了模型在首次迭代时预测结果与目标标签之间的巨大差异,符合模型参数随机初始化且输入数据为随机生成(无实际语义关联)的预期。由于模型尚未学习到有意义的语言模式,且模拟数据中源语言(英语)和目标语言(中文)词符之间缺乏真实对应关系,损失值无法有效下降。4.4.7GCN1.相关基础知识2.流程例4.91.相关基础知识在现实世界中,存在着大量如社交网络、生物分子网络之类的图结构数据。这类数据由节点和边构成,节点代表着实体,边则体现了实体之间的关系。与像图像、文本序列这类传统的欧式数据不同,图数据呈现出不规则、非结构化的特性,不存在固定的顺序和位置关系。这种独特的结构使得传统的深度学习方法难以直接对其进行处理。

图卷积网络(GraphConvolutionalNetwork,简称GCN)是一种专门用于处理图数据的深度学习模型,它将卷积操作从欧式空间推广到图结构数据上。其核心思想是通过聚合节点的邻居信息来更新节点的特征表示,从而学习到图中节点的潜在特征和结构信息。具体来说,GCN利用图的邻接矩阵来表示节点之间的连接关系,并通过一系列的卷积层对节点特征进行加权聚合和非线性变换,以提取图的特征。2.流程

2.流程

2.流程(5)输出层根据具体任务需求,设计输出层。例如,节点分类任务通常在最后一层应用Softmax激活函数,生成每个节点的类别概率。(6)训练与优化定义适合任务的损失函数,如交叉熵损失用于分类任务,均方误差用于回归任务。通过反向传播算法计算损失函数对各层参数的梯度。使用优化器(如Adam、SGD)更新模型参数,以最小化损失函数,提高模型性能。例4.9例4.9本案例使用图卷积网络(GCN)对Cora数据集中的节点进行分类。1.数据集Cora数据集是一个引文网络数据集,包含2733个节点(论文),每个节点有1433个特征(词向量),节点之间有5429条边(引用关系)。数据集分为三个部分:训练集、验证集和测试集,分别包含140、500和1000个节点。2.代码例4.93.运行结果运行结果显示了模型在训练过程中

温馨提示

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

评论

0/150

提交评论