(精选幻灯片)神经网络预测法.ppt_第1页
(精选幻灯片)神经网络预测法.ppt_第2页
(精选幻灯片)神经网络预测法.ppt_第3页
(精选幻灯片)神经网络预测法.ppt_第4页
(精选幻灯片)神经网络预测法.ppt_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

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

文档简介

数学建模系列讲座基于神经网络的预测与分类 万敏理学院 1 什么是数学建模 用于描述实际问题的数学结构 称为数学模型 建立数学模型并加以求解的整个过程称为数学建模 将实际问题翻译成一个数学问题 用数学方法及计算机工具加以求解 2 一 有导师学习神经网络的原理 matlab实现 BP RBF在预测 分类中的应用 PNN在分类中的应用 二 无导师学习神经网络的原理 matlab实现 竞争神经网络 SOFM在分类 聚类中的应用 3 人工神经网络产生背景 机器智能研究怎样用机器 计算机 模仿人脑从事推理 设计 思考 学习等思维活动 以解决和处理较复杂的问题 人工神经网络是机器智能的一部分 它模拟大脑的神经系统 更简单的说 就是人脑神经系统的一个数学模型 4 大脑神经系统 大脑内约含1000亿个神经元 神经系统是由这些神经元经过高度的组织与相互作用而构成的复杂的网络 特征 神经元 相互作用 5 神经元模型 神经元模型 神经元与神经元之间如何相互作用 传递信息 依赖于突触的联接 突触的联接会受外界信息的影响或自身生长过程的影响而变化 正是通过神经元及其突触联接的可变性 使得大脑具有学习 记忆和认知等各种智能 突触 突触 突触 突触 突触是可变的 连接权值w对应于突触 突触 6 输入 输出关系 多输入 权值 单输出 阈值 激活函数 其中 连接权值 求和单元 激活函数 净输入 完成输入 输出的非线性映射 有三个关键 7 常见的几类激活函数 这些非线性函数具有两个显著的特征 一是突变性 二是饱和性 这正是为了模拟神经细胞兴奋过程中所产生的神经冲动以及疲劳等特性 8 人工神经网络 神经元 连接 人工神经网络 9 神经网络的结构 前馈神经网络 递归神经网络 特点 神经元之间有反馈连接 输入 输出关系 10 输入 输出关系 多输入 权值 单输出 其中 净输入 单个神经元 11 单层前馈神经网络 12 多层前馈神经网络 输入层 隐含层 隐含层 输入 输出关系 权值 求和 激活函数 输出层 13 p a 神经网络 一 网络结构1 输入神经元数 输出神经元个数2 隐层数 每个隐层中神经元个数3 每个神经元的激活函数f 输入 输出关系 人工神经网络 14 二 前馈神经网络的学习 这类网络模型怎样实现分类 识别 预测等智能行为 通过学习 改变连接权值W 通过样本更新权值和阈值 15 p a 神经网络 以识别苹果和香蕉为例 关键 调整权值 期望输出t 1 苹果t 0 香蕉 输入 苹果或香蕉 训练样本 期望输出 输入 16 训练样本 有导师的学习 期望输出 向量 输入 向量 对样本对 输入和期望输出 进行学习 将样本的输入送至神经网络 计算得到实际输出 若实际输出与期望输出之间的误差不满足精度要求 则调整权值W和阈值b 逐渐减小误差 直至满足精度要求 基本思想 17 p a 神经网络 训练样本 学习过程 通过样本更新权值和阈值 输出目标 输入 W old W new 18 学习 网络的学习 通过样本不断调整权值学习好以后的网络 权值不再改变 所学的知识存储在权值中学习好以后的网络进行预测 分类等等 下面将给出三种典型的有导师学习的神经网络 BP RBF PNN 19 BP 反向传播 神经网络原理 一 结构 2 输入输出关系 激活函数通常采用S形函数 如logsig tansig函数 输出层激活函数多采用purelin函数 3 理论上 具有一个隐含层的BP网络可以以任意精度逼近任意非线性函数 1 多层前馈网络 前 后层之间各神经元实现全联接 同一层的神经元之间无联接 20 二 BP网络的学习算法 学习过程 信号前向传播 误差反向传播 BP网络的学习算法是典型的有导师学习算法 将样本输入神经网络 得到网络的实际输出 若输出值与期望输出之间的误差不满足精度要求 则从输出层反向传播该误差 从而调整权值及阈值 使得网络的输出和期望输出间的误差逐渐减小 直至满足精度要求 训练样本 21 p a BP神经网络 1 信号前向传播 二 BP网络的学习 22 2 误差反向传播 训练样本 均方误差 单输出 均方误差 多输出 梯度下降法 权值阈值的调整沿着误差函数下降最快的方向 负梯度方向 23 WeightUpdate BP网络的学习算法 梯度下降法 第m层的灵敏度 24 BP学习过程 Step1 选定样本 p 1 P 随机确定初始权矩阵W 0 Step2 利用误差反向计算每一层的sensitivty 更新权值和阈值 直到误差满足精度要求 利用样本计算网络输出 得到误差 Step3 25 BP网络学习算法的改进 BP算法缺点小结易形成局部极小而得不到全局最优 训练次数多使得学习效率低 收敛速度慢 隐节点的选取缺乏理论指导 训练时学习新样本有遗忘旧样本的趋势 针对上述问题 国内外已提出不少有效的改进算法 其中基于LM的改进算法是较常用的一种方法 26 基于Levenberg Marquardt法的BP改进算法 Levenberg Marquardt法实际上是梯度下降法和牛顿法的结合 它的优点在于网络权值数目较少时收敛非常迅速 应用Levenberg Marquardt优化算法比传统的BP及其它改进算法 如共轭梯度法 附加动量法 自适应调整法及拟牛顿法等 迭代次数少 收敛速度快 精确度高 但对于复杂问题 需要更大的存储空间MATLAB中的工具函数trainlm 即对应Levenberg Marquardt法的改进算法 27 BP网络的Matlab工具箱函数 1 BP神经网络创建函数 函数newff用于创建一个BP神经网络 其调用格式为 net newff P T S1S2 SN TF1TF2 TFN BTF BLF PF P 输入矩阵 每行对应于一个样本的输入向量T 输出矩阵 每行对应于该样本的期望输出Si 第i个隐含层的神经元个数 最后一个为输出层神经元个数TFi 第i个隐含层的激活函数 隐含层默认值为tansig 输出层默认值为purelin BTF 网络训练函数 默认值为trainlm BLF 权值 阈值学习函数 默认值为learngdm PF 性能函数 默认值为mse均方误差函数 训练函数确定算法的框架 全局 学习函数确定权值的调整 局部 28 样本 p1 t1 p2 t2 p50 t50 p1 0 1 0 2 t1 0 7 p2 0 98 0 75 t2 0 8 p50 0 87 0 6 t50 0 2如何创建一个三层BP神经网络学习样本 设隐含层神经元个数为6 例 P 0 1 0 2 0 98 0 75 0 87 0 6 每行为一样本的输入T 0 7 0 8 0 2 每行为对应样本的期望输出 Net newff P T 6 tansig purelin trainlm lerangdm mse 网络结构 2 6 1 net newff P T 6 29 BP神经网络的Matlab工具箱函数 2 BP神经网络训练函数 函数train用于训练已经创建好的BP神经网络 其调用格式为 net tr Y E train net P T P 输入矩阵 每行对应于一个样本的输入向量T 输出矩阵 每行对应于该样本的期望输出tr 训练记录 包括迭代次数和性能Y 网络输出矩阵E 网络误差向量 训练前的网络 newff产生的BP网络 训练好的BP神经网络 权值不再改变 30 BP神经网络的Matlab工具箱函数 3 BP神经网络的仿真函数 函数sim用于利用训练好的BP网络进行仿真预测 其调用格式为 Y E Perf sim net P Net 训练好的BP神经网络 train得到的网络P 输入向量 矩阵 每行对应于一个样本的输入向量Y 网络输出向量 矩阵 每行对应于该样本的预测输出E 网络误差向量Perf 网络的性能 31 BP神经网络用于预测 分类 产生训练集 测试集 创建 训练BP网络 创建 训练RBF网络 创建 训练PNN网络 仿真测试 性能评价 1 产生训练集 测试集 P tain T train P test T test 将样本分为训练集和测试集 训练样本用于网络训练 学习 测试样本用于测试网络的泛化能力 一般 训练集样本数量占总样本数量的2 3 3 4为宜 剩余的1 4 1 3作为测试集 训练集和测试集随机产生 32 要分析网络模型的泛化能力 应该也必须用非训练样本 称为测试样本 误差的大小来表示和评价 这也是将总样本分成训练样本和非训练样本主要原因之一 最直接和客观的指标是从总样本中随机抽取的非训练样本 测试样本 误差是否和训练样本的误差一样小或稍大 非训练样本误差很接近训练样本误差或比其小 一般可认为建立的网络模型已有效逼近训练样本所蕴含的规律 否则 若相差很多 如几倍 几十倍甚至上千倍 就说明建立的网络模型并没有有效逼近训练样本所蕴含的规律 而只是在这些训练样本点上逼近而已 33 2 创建 训练BP神经网络 newff train创建前需要确定网络的结构 隐层数含一个隐层的MLP网络能够以任意精度逼近任何有理函数 在设计BP网络时 应优先考虑3层BP网络 即有1个隐层 靠增加隐层节点数来获得较低的误差 隐层节点数确定隐层节点数的最基本原则 在满足精度要求的前提下取尽可能少的隐层节点数 最佳隐层神经元个数可参考如下公式 其中n为输入层神经元个数 l为隐藏层神经元个数 a为0 10之间的常数 34 3 仿真测试 T sim sim net P test 网络创建并训练完成以后 将测试集的输入变量送入网络 网络的输出即为预测结果 训练神经网络的根本任务是确保训练好的网络模型对非训练样本具有好的泛化能力 推广性 即有效逼近样本蕴含的内在规律 而不是看网络模型对训练样本的拟合能力 因此 仅给出训练样本误差的大小而不给出测试样本误差的大小是没有任何意义的 4 性能评价 通过计算测试集的预测值与真实值间的误差 对网络的性能 即 泛化能力 进行评价 相对误差 erro决定系数 R2 相对误差越小 说明模型的性能越好 决定系数越接近于1 说明模型的性能越好 越接近于0 表明越差 35 BP神经网络做预测 分类的步骤 样本采集 归一化 随机选择训练样本和测试样本BP网络构建 训练 newff train 性能评价 利用测试样本计算预测误差 用于评价网络的泛化能力若泛化能力达要求 则训练好的BP神经网络可进行预测 分类 否则 需要调整网络参数继续学习直到泛化能力达要求为止 36 例1 人口预测以下是从 北京统计年鉴 中得到的1983 2013年的北京城近郊区户籍人口统计结果 建立人工神经网络模型 预测2014年的北京城近郊区户籍人口 37 北京市人口数统计表 38 产生训练集 测试集 创建 训练BP网络 创建 训练RBF网络 创建 训练PNN网络 仿真测试 性能评价 利用神经网络预测 分类的思路 39 问题分析 我们可以通过训练一个BP网络来达到预测目的 用前四年的人数预测下一年的人数 也就是用2010 2013年的人数预测第2014年的人数 要使网络网络具有这个预测能力 输入 输出关系 需要通过样本对其进行训练 怎样构造样本 P1 83年人数 84年人数 85年人数 86年人数 t1 87年人数P2 84年人数 85年人数 86年人数 87年人数 t2 88年人数 P27 09年人数 10年人数 11年人数 12年人数 t27 13年人数 网络结构 4 6 1 40 数据处理后的样本数据 41 创建网络net newff minmax P train minmax T train 6 训练参数设置net trainParam epochs 1000 net trainParam goal 1e 5 net trainParam lr 0 15 net trainParam mc 0 9 训练网络net train net P train T tain 产生训练集 测试集 从总样本中随机选择 22 5 P train 22 4矩阵 T train 22 1矩阵 P test 5 4矩阵 T test 5 1矩阵 42 仿真测试T sim sim net P test 性能评价 计算测试样本的相对误差Erro abs T sim T test T test 模型评价 利用测试样本测试网络的泛化能力 测试结果显示2006 2007 2008 2009 2010年预测值为 0 7258 0 7340 0 7405 0 7460 0 7503 将结果还原即为 725 8 734 0 740 5 746 0 750 3 万人 实际值分别为 716 2 725 5 735 9 743 8 752 6 相对误差为 0 013 0 011 0 006 0 002 0 003 取最大的误差0 013 检验结果的误差较小 可以达到预测效果 即 可将训练好的网络用于预测 43 问题求解 Y sim net P 其中 P 07年人数 08年人数 09年人数 10年人数 将结果还原 得到753 4万 即 预测到2011年北京市人口为753 4万人 44 1981年生物学家格若根 W Grogan 和维什 W Wirth 发现了两类蚊子 或飞蠓midges 他们测量了这两类蚊子每个个体的翼长和触角长 数据如下 翼长触角长类别1 641 38Af1 821 38Af1 901 38Af1 701 40Af1 821 48Af1 821 54Af2 081 56Af 翼长触角长类别1 781 14Apf1 961 18Apf1 861 20Apf1 721 24Af2 001 26Apf2 001 28Apf1 961 30Apf1 741 36Af 例2 45 问 如果抓到三只新的蚊子 它们的触角长和翼长分别为 l 24 1 80 l 28 1 84 1 40 2 04 问它们应分别属于哪一个种类 问题分析 该问题是一个分类问题 可利用BP神经网络解决 飞蠓的数据作为输入 飞蠓的类型作为输出 研究输入 输出的关系 46 产生训练集 测试集 创建 训练BP网络 创建 训练RBF网络 创建 训练PNN网络 仿真测试 性能评价 利用神经网络预测 分类的思路 47 样本有15个 即 p 1 15 j 1 2 对应15个输出 期望输出 当t 1 0 9时表示属于Apf类 t 2 0 1表示属于Af类 为什么不令t 1 1 t 2 0作为期望输出 隐含层采用S形函数 输入值接近无穷时 输出才为0或1 因此会导致权值W趋于无穷 建模 输入层 隐含层 输出层 每层的元素应取多少个 建立神经网络 2 2 1 48 总样本有15个 p 1 78 1 14 t 0 9 p 1 96 1 18 t 0 9 p 2 08 1 56 t 0 1 Step1 构造样本 产生训练集 测试集 随机选择训练样本 测试样本 49 Step2 创建BP神经网络 newff 1 结构 2 2 1 2 每个神经元激活函数均为对数S形函数 Step3训练trainStep4性能评价Step5进行分类 模型求解sim 3 采用L M学习算法 trainlm 50 产生训练集 测试集 创建 训练BP网络 创建 训练RBF网络 创建 训练PNN网络 仿真测试 性能评价 利用神经网络预测 分类的思路 51 RadialBasisFunctionNetworks 径向基函数网络 只有一个隐含层 隐层单元采用径向基函数输出为隐层的线性加权求和输入 x1 xm xM 到隐层单元之间权值为1 隐单元 1 i N的激励函数为RBF 隐单元到输出单元 y1 yj yJ 之间的权值wij为可调且输出是各隐单元输出的线性求和的一种前馈网络 称为RBF网络 它是一种简化了计算且可实现任意非线性映射的三层前馈网络 RBF神经网络结构 52 输入层与隐含层之间没有权值 隐含层神经元个数以及激活函数由训练样本确定 即 隐含层的输出由训练样本确定 需要调整的仅是隐含层与输出层之间的权值 而输出为权值的线性函数 因此调整权值变为求解线性方程组 速度比BP快 RBF神经网络结构 中心 方差 53 RBF神经网络的MATLAB工具箱函数1 RBF网络的精确设计函数newrbe用于创建一个精确的RBF网络 隐含层神经元数目确定 与训练集样本数目相同 权值和阈值由线性方程组直接解出 其调用格式如下 net newrbe P T spread P T 输入矢量 目标矢量 spread 扩展常数 缺省为1 相当于 当输入向量个数过多时 产生的网络过于庞大 实时性变差 54 2 RBF网络的有效设计newrb用迭代方法设计RBF网络 隐含层神经元数目逐渐增加 每迭代一次就增加一个神经元 直到平方和误差下降到目标误差以下或神经元个数达到最大值时停止 调用格式如下 net newrb P T goal spread mn df goal 目标误差 mn 最大神经元个数 df 迭代过程的显示频率 注 这两个调用函数包括了创建RBF网络和训练RBF网络两步 因此matlab中 RBF网络没有额外的训练函数 55 Spread值的选择 Spread值越大 函数的拟合就越平滑 但过大的spread将需要非常多的神经元以适应函数的快速变化 若spread的值太小 则意味着需要许多神经元来适应函数的缓慢变化 从而导致网络性能不好 在网络设计过程中 需要用不同的spread值进行尝试 从而确定一个较优的值 Spread值代表了径向基函数的宽度 表示的是RBF神经元能产生响应的范围 56 概率神经网络 57 概率神经网络 通过训练集学习数据背后的统计规律 分布函数 训练好以后的网络进行分类 58 概率神经网络 许多研究已表明概率神经网络具有以下特性 1 训练容易 收敛速度快 从而非常适用于实时处理 2 可以完成任意的非线性变换 所形成的判决曲面与贝叶斯最优准则下的曲面相接近 3 各层神经元的数目比较固定 因而易于硬件实现 这种网络已较广泛地应用于非线性滤波 模式分类 联想记忆和概率密度估计当中 59 PNN的matlab工具箱函数 函数newpnn用于创建一个PNN 其调用格式如下 Net newpnn P T spread 其中 P为网络输入向量 T为网络目标向量 spread为径向基函数的扩展速度 默认值为0 1 net为创建好的PNN 注 这个调用函数包括了创建PNN网络和训练PNN网络两步 因此matlab中 PNN网络没有额外的训练函数 60 产生训练集 测试集 创建 训练BP网络 创建 训练RBF网络 创建 训练PNN网络 仿真测试 性能评价 利用有导师学习的神经网络预测 分类的思路 做预测时 BP RBF两种网络均可使用 各有优缺点 模型评价时给出两者的性能比较 测试集误差 即可 做分类时 BP RBF PNN均可使用 优先选择PNN 61 1 现给出一药品商店两年当中24个月的药品销售量 单位 箱 如下 185619952220205611231775190013891609142422761332205623952600229816341600187314871900150020461556要求用当前的所有数据预测下一个月的药品销售量 练习 62 问题分析 BP RBF网络均可达到预测目的 用前三个月的销售量预测下一个月的销售量 也就是用1 3月的销售量预测第4个月的销售量 用2 4个月的销售量预测第5个月的销售量 如此循环下去 直到用9 11月预测12月份的销售量 这样训练BP神经网络后 就可以用10 12月的数据预测来年一月的销售量 63 2 2000年全国竞赛A题 人类基因组计划中DNA全序列草图是由4个字符A T C G按一定顺序排成的长约30亿的字符序列 其中没有 断句 也没有标点符号 虽然人类对它知之甚少 但也发现了其中的一些规律性和结构 例如 在全序列中有一些是用于编码蛋白质的序列片段 即由这4个字符组成的64种不同的3字符串 其中大多数用于编码构成蛋白质的20种氨基酸 又例如 在不用于编码蛋白质的序列片段中 A和T的含量特别多些 于是以某些碱基特别丰富作为特征去研究DNA序列的结构也取得了一些结果 此外 利用统计的方法还发现序列的某些片段之间具有相关性 等等 这些发现让人们相信 DNA序列中存在着局部的和全局性的结构 充分发掘序列的结构对理解DNA全序列是十分有意义的 目前在这项研究中最普通的思想是省略序列的某些细节 突出特征 然后将其表示成适当的数学对象 作为研究DNA序列的结构的尝试 提出以下对序列集合进行分类的问题 1 请从20个已知类别的人工制造的序列 其中序列标号1 10为A类 11 20为B类 中提取特征 构造分类方法 并用这些已知类别的序列 衡量你的方法是否足够好 然后用你认为满意的方法 对另外20个未标明类别的人工序列 标号21 40 进行分类 把结果用序号 按从小到大的顺序 标明他们的类别 无法分类的不写入 2 同样方法对182个自然DNA序列 他们都较长 进行分类 像1 一样地给出分类结果 64 已知的人工序列 1 aggcacggaaaaacgggaataacggaggaggacttggcacggcattacacggaggacgaggtaaaggaggcttgtctacggccggaagtgaagggggatatgaccgcttgg2 cggaggacaaacgggatggcggtattggaggtggcggactgttcggggaattattcggtttaaacgggacaaggaaggcggctggaacaaccggacggtggcagcaaagga 40 ccattagggtttatttacctgtttattttttcccgagaccttaggtttaccgtactttttaacggtttacctttgaaatttttggactagcttaccctggatttaacggccagttt 65 网络构建 输入为特征 期望输出为类别 0 1或0 9网络的训练及检验 在已知类别序列1 20中 取A类前7个序列 1 7 和B类前7个序列 11 17 作为训练集P train 序列8 10 18 20作为测试集P test 对BP RBF PNN网络进行训练 给定样本总体误差标准为10 5 当网络学习收敛于给定的标准后 用测试集进行分类检验 考察这三种网络性能优劣 选择性能最好的网络进行分类 网络进行分类将标号21 40的特征输入训练好的网络 输出即为类别 66 无导师学习的神经网络 有导师学习的神经网络 样本中需要事先知道期望输出 当无法得到期望的输出时 基于有导师学习的NN将无能为力 无导师学习的神经网络 在学习过程中不需要知道期望输出 通过不断地观察 分析与比较 自动揭示样本中的内在规律和本质 从而可以对具有近似特征的样本进行准确的分类和识别 物以类聚 p1 p2 p3 67 68 无导师学习的神经网络 无导师学习 p1 p2 p3 通过自动寻找样本中的内在规律和本质属性 自组织 自适应地改变网络参数与结构 分类 分类是在类别知识等导师信号的指导下 将待识别的输入模式分配到各自的模式类中去 聚类 无导师指导的分类称为聚类 聚类的目的是将相似的模式样本划归一类 而将不相似的分离开 68 竞争神经网络 69 所有输入节点到所有输出节点之间都有权值连接 而且在二维平面上的输出节点相互间也可能是局部连接的 而对改变节点竞争结果起决定作用的还是输入层的加权和 所以在判断竞争网络节点胜负的结果时 可忽略竞争层节点之间的权值连接 70 在兴奋中心神经元C周围Nc区域内的神经元都有不同程度的兴奋 而在Nc以外的神经元都被迫处于抑制状态 这个Nc区域可以具有正方形 六角形等形状 如图4 2所示 71 图4 2Nc t 随时间变化及形状 72 学习步骤 1 网络初始化 以较小的随机数初始化权值 阈值 权值的学习速率 阈值的学习速率 最大迭代次数T 迭代次数初始值N 1 2 计算获胜神经元 随机选取一个训练样本p 3 更新获胜神经元的权值 阈值 其余神经元的权值和阈值保持不变 竞争层神经元的输入为 则第k个神经元为获胜神经元 4 迭代结束判断 若样本没有学习完 则再另外随机选择一个样本 返回步骤2 否则 若N T 令N N 1 返回步骤2 否则 迭代结束 73 若第i个神经元获胜 则输入权值向量的第i行元素 即获胜神经元的各连接权 按下式进行调整 而其它神经元的权值不变 竞争型神经网络的学习 Kohonen权值学习规则 Kohonen学习规则通过输入向量进行神经元权值的调整 因此在模式识别的应用中是很有用的 通过学习 那些最靠近输入向量的神经元权值向量被修正 使之更靠近 其结果是获胜的神经元在下一次相似的输入向量出现时 获胜的可能性会更大 而对于那些相差很远的输入向量 获胜的可能性将变得很小 74 自组织神经网络SOM的学习算法 1 网络初始化 2 计算获胜神经元 3 更新权值对获胜神经元k及其领域N t 内的所有神经元进行权值更新 其余神经元的权值保持不变 4 学习速率及邻

温馨提示

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

评论

0/150

提交评论