《一种模糊神经网络学习算法.pdf》由会员分享,可在线阅读,更多相关《一种模糊神经网络学习算法.pdf(17页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103336992 A (43)申请公布日 2013.10.02 CN 103336992 A *CN103336992A* (21)申请号 201310262771.3 (22)申请日 2013.06.27 G06N 3/08(2006.01) (71)申请人 电子科技大学 地址 611731 四川省成都市高新区 (西区) 西 源大道 2006 号 (72)发明人 贾海涛 张伟 唐迁 周雪 鞠初旭 (74)专利代理机构 成都宏顺专利代理事务所 ( 普通合伙 ) 51227 代理人 周永宏 (54) 发明名称 一种模糊神经网络学习算法 (57) 摘要 本发明公开了一种。
2、模糊神经网络学习算法, 其中具体包括模糊神经网络的建立、 模糊神经网 络参数的训练以及对训练好的模糊神经网络进行 预测识别, 通过实际输出的结果, 判断目标所属类 别。本发明一种模糊神经网络学习算法通过对所 建立的模糊神经网络的训练, 得到包含权值的网 络分类器, 训练过程中学习率采用随着训练过程 的梯度变化而变化的方法, 以实现对这类误识别 数据的准确识别, 并且提出了采用倒数法使对分 母中变量的偏导求解变成普通变量的偏导求解的 方法, 减少了系统的运算量, 从而提高了系统的效 率 ; 最后利用训练好的模糊神经网络对测试数据 进行识别预测, 与传统模糊神经网络相比识别率 有显著提高。 (51。
3、)Int.Cl. 权利要求书 2 页 说明书 9 页 附图 5 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书9页 附图5页 (10)申请公布号 CN 103336992 A CN 103336992 A *CN103336992A* 1/2 页 2 1. 一种模糊神经网络学习算法, 其特征在于, 具体包括如下步骤 : S1. 建立模糊神经网络 ; S2. 根据步骤 S1 所建立的模糊神经网络, 初始化模糊神经网络的网络参数 ; S3. 输入训练样本参数 xi到所建立的模糊神经网络, 模糊神经网络输出 yi; 其中, 所述 xi为第 i 个输入变量值, 。
4、yi为对应的模糊神经网络输出值 ; S4. 根据步骤 S3 所得到的 yi, 计算如果 e 预设标准误差, 则停止训 练, 并转到步骤 S7 ; 如果 e 预设标准误差, 并且迭代次数 k 预设迭代次数, 则停止训练, 并 转到步骤 S7, 否则, 进入步骤 S5 ; 其中, yd为神经网络的期望输出, e 为期望输出和实际输出 yi的误差 ; S5. 模糊神经网络参数学习训练, 具体包括如下分步骤 : a. 标准差参数的倒数的学习训练过程为 : 其中, k 为迭代次数, i 为第 i 个输入的训练样本参数, j 为第 j 个神经元, 为固有学 习步长, (k) 为学习率 ; 是标准差参数的倒。
5、数, xj为神经网络内 部输出参数, i为输入参数隶属度连乘积, m 为神经网络中其中一层的节点数目 ; b. 均值参数的学习训练过程为 : 其中,xj为网络 输出参数, i为输入参数隶属度连乘积 ; c. 系数参数的学习训练过程为 : 其中, S6. 对训练后的模糊神经网络再次输入训练样本参数 xi, 并转到步骤 S3 ; 权 利 要 求 书 CN 103336992 A 2 2/2 页 3 S7. 对建立的模糊神经网络进行预测识别 , 对测试样本作归一化处理, 并将其输入以 上训练好的模糊神经网络中, 对该类数据进行识别分类, 通过其实际输出结果, 判断目标所 属类别。 2. 如权利要求 。
6、1 所述的一种模糊神经网络学习算法, 其特征在于, 所述步骤 S1 中的模 糊神经网络包括输入层、 模糊化层、 规则计算层以及输出层 ; 输入层 : 输入变量个数为 n, 对应的节点数为 n, 该层的输出为输入变量值, 即 i=1,2,n, 其中 : xi是第 i 个输入变量值 ; 模糊化层 : 采用隶属度函数实现对输入变量的模糊化, 节点输入为输入层的输出, 通 过对应的隶属度函数对节点输入进行模糊化, 并将这些值的乘积作为节点的输出, 隶属度 函数为 :j=1,2,k;i=1,2,n, 其中是第 i 个输 入样本参数到第 j 个神经元的隶属度函数, 为均值,是标准差参数的倒数, n 为输 。
7、入向量的个数 ; u 为本层神经元的个数 ,为模糊化层是第 j 个神经元的输出,为 : j=1,2,u ; 规则计算层 : 每个节点代表一条模糊规则, 采用隶属度的连乘作为模糊规则, 通过式 i=1,2,n, 得到输出 ; 输出层 : 对应得到的模糊神经网络的输出 yi为 : 3. 如权利要求 1 所述的一种模糊神经网络学习算法, 其特征在于, 所述步骤 S2 中的网 络参数包括模糊化层的均值参数标准差参数和输出层的系数参数 4. 如权利要求 1 所述的一种模糊神经网络学习算法, 其特征在于, 所述步骤 S4 中的预 设标注误差为千分之一。 5. 如权利要求 1 所述的一种模糊神经网络学习算法。
8、, 其特征在于, 所述步骤 S4 中的预 设迭代次数为 100 次。 权 利 要 求 书 CN 103336992 A 3 1/9 页 4 一种模糊神经网络学习算法 技术领域 0001 本发明属于人工智能及模糊识别技术领域, 具体涉及一种模糊神经网络学习算法 的设计。 背景技术 0002 随着计算机科学技术的飞速发展, 人工智能已经形成一门学科, 在目标识别邻域 的应用也显现了强大的生命力。通过多种智能识别的方法的融合提高了目标的识别率, 随 着人工智能的发展, 越来越多的基于目标识别的智能识别算法被提出, 模糊神经网络 (FNN : Fuzzy Neural Network)也随之出现。 模。
9、糊神经网络由模糊逻辑和神经网络结合而成, 具有 处理不确定信息的能力、 知识存储和自我学习能力, 在目标识别和分类中具有特别的优势, 因此如何更好的在目标识别领域应用模糊神经网络技术已经得到各方面的重视, 成为了目 前目标识别研究中的一个热点。 0003 模糊神经网络的一个研究的重点, 就是对学习算法的研究。其学习算法一般采用 的是神经网络的学习算法, 犹如标准的模糊神经网络的学习算法就是BP算法, 但是BP算法 有其固有的缺陷。对于传统的学习算法, 因为数据中区分度比较高的数据占大部分, 为了 满足学习效率的要求, 学习率和步长多数满足区分度较高的数据训练 ; 因为传统的模糊神 经网络算法中。
10、学习率和步长是不能改变的, 当其对类间距离接近的数据进行学习训练的时 候, 会因为训练的梯度下降速度过快导致对这类数据的学习不充分, 甚至会导致误学习, 而 且梯度下降速度过快也会导致网络训练中振荡的出现, 这个是无法通过其他方法消除的, 所以提出其他的模糊神经网络学习算法就势在必行了。 并且由于传统模糊神经网络的学习 算法存在着固有缺陷, 如学习周期长、 学习率和步长不能改变等问题, 以至于不能很好地对 那些维数大且模糊度较高的数据进行识别 发明内容 0004 本发明所要解决的技术问题是提供一种模糊神经网络学习算法, 该模糊神经网络 学习算法能够对模糊度较高的数据进行准确的识别并且减少网络的。
11、运算量。 0005 本发明解决其技术问题采用的技术方案是 : 一种模糊神经网络学习算法, 具体包 括如下步骤 : 0006 S1. 建立模糊神经网络 ; 0007 S2. 根据步骤 S1 所建立的模糊神经网络, 初始化模糊神经网络的网络参数 ; 0008 S3. 输入训练样本参数 xi到所建立的模糊神经网络, 模糊神经网络输出 yi; 0009 其中所述 xi为第 i 个输入变量值, yi为对应的模糊神经网络输出值 ; 0010 S4.根据步骤S3所得到的yi, 计算如果e预设标准误差, 则停止 训练, 并转到步骤 S7 ; 如果 e 预设标准误差, 并且迭代次数 k 预设迭代次数, 则停止训。
12、练, 并转到步骤 S7, 否则进入模糊神经网络参数学习训练 ; 说 明 书 CN 103336992 A 4 2/9 页 5 0011 其中 yd为神经网络的期望输出, e 为期望输出和实际输出 yi的误差 ; 0012 S5. 进行模糊神经网络参数学习训练, 其中包括 : 0013 a. 标准差参数的倒数的学习训练过程为 : 0014 0015 0016 其中, k 为迭代次数, i 为第 i 个输入的训练样本参数, j 为第 j 个神经元, 为固 有学习步长, (k) 为学习率 ; 是标准差参数的倒数, xj为神经网络内部输 出参数, i为输入参数隶属度连乘积, m 为神经网络中其中一层的。
13、节点数目 ; 0017 b. 均值参数的学习训练过程为 : 0018 0019 0020 其中,xj为 网络输出参数, i为输入参数隶属度连乘积 ; 0021 c. 系数参数的学习训练过程为 : 0022 0023 0024 其中 0025 S6. 对训练后的模糊神经网络再次输入训练样本参数 xi, 并转到步骤 S3 ; 0026 S7. 对建立的模糊神经网络进行预测识别 , 对测试样本作归一化处理, 并将其输 入以上训练好的模糊神经网络中, 对该类数据进行识别分类, 通过其实际输出结果, 判断目 标所属类别。 0027 进一步的, 所述步骤 S1 中的模糊神经网络包括输入层、 模糊化层、 规。
14、则计算层以 及输出层 ; 0028 输入层 : 输入变量个数为 n, 对应的节点数为 n, 该层的输出为输入变量值, 即 i=1,2,n, 其中 : xi是第 i 个输入变量值 ; 0029 模糊化层 : 采用隶属度函数实现对输入变量的模糊化, 节点输入为输入层的输出, 通过对应的隶属度函数对节点输入进行模糊化, 并将这些值的乘积作为节点的输出, 隶属 说 明 书 CN 103336992 A 5 3/9 页 6 度函数为 :j=1,2,k;i=1,2,n, 其中是第 i 个 输入样本参数到第 j 个神经元的隶属度函数, 为均值, 是标准差参数的倒数, n 为 输入向量的个数 ; u 为本层神。
15、经元的个数 ,模糊化层是第 j 个神经元的输出,为 : j=1,2,u ; 0030 规则计算层 : 每个节点代表一条模糊规则, 采用隶属度的连乘作为模糊规则, 通过 式i=1,2,n 得到输出 ; 0031 输出层 : 对应得到的模糊神经网络的输出 yi为 : 0032 进一步的, 所述步骤 S2 中的网络参数包括模糊化层的均值参数标准差参数 和输出层的系数参数 0033 进一步的, 所述步骤 S4 中的预设标注误差为千分之一。 0034 进一步的, 所述步骤 S4 中的预设迭代次数为 100 次。 0035 本发明的有益效果 : 本发明一种模糊神经网络学习算法通过对所建立的模糊神经 网络的。
16、训练, 得到包含权值的网络分类器, 训练过程中学习率采用随着训练过程的梯度变 化而变化的方法, 以实现对这类误识别数据的准确识别, 另外提出了采用倒数法使对分母 中变量的偏导求解变成普通变量的偏导求解的方法, 减少了系统的运算量, 从而提高了系 统的效率 ; 最后利用训练好的模糊神经网络对测试数据进行识别预测, 与传统模糊神经网 络相比识别率有显著提高。 附图说明 0036 图 1 为本发明实施例的一种模糊神经网络学习算法的流程框图 ; 0037 图 2 为本发明实施例的一种模糊神经网络学习算法的具体学习流程图 ; 0038 图 3 为本发明实施例的一种模糊神经网络学习算法中模糊神经网络的结构。
17、示意 图 ; 0039 图 4 为现有技术中模糊神经网络的误差变化曲线 ; 0040 图 5 为本发明实施例的模糊神经网络的误差变化曲线 ; 0041 图 6 为现有技术中模糊神经网络的测试样本实际输出和预测输出 ; 0042 图 7 为本发明实施例的模糊神经网络的测试样本实际输出和预测输出。 具体实施方式 0043 下面结合附图和具体的实施例对本发明作进一步的阐述。 0044 如图 1 所示为本发明实施例的一种模糊神经网络学习算法的流程框图, 其中具体 包括模糊神经网络的建立、 模糊神经网络参数的训练以及对训练好的模糊神经网络进行预 说 明 书 CN 103336992 A 6 4/9 页 。
18、7 测识别, 通过实际输出的结果, 判断目标所属类别。 本发明通过对模糊神经网络参数的学习 训练, 其中学利率会随着学习过程而不断变化, 增加了对模糊度较高的数据的识别。如图 2 所示为本发明实施例的一种模糊神经网络学习算法的具体学习流程图, 下面对其具体的步 骤做详细说明, 一种模糊神经网络学习算法, 具体包括如下步骤 : 0045 S1. 建立模糊神经网络 ; 0046 其中, 所述模糊神经网络包括输入层、 模糊化层、 规则计算层以及输出层 ; 0047 输入层 : 输入变量个数为 n, 对应的节点数为 n, 该层的输出为输入变量值, 即 i=1,2,n, 其中 : xi是第 i 个输入变。
19、量值 ; 0048 模糊化层 : 采用隶属度函数实现对输入变量的模糊化, 节点输入为输入层的输出, 通过对应的隶属度函数对节点输入进行模糊化, 并将这些值的乘积作为节点的输出, 隶属 度函数为 :j=1,2,k;i=1,2,n, 其中是第 i 个 输入样本参数到第 j 个神经元的隶属度函数, 为均值,是标准差参数的倒数, n 为 输入向量的个数 ; u 为本层神经元的个数 ,是模糊化层第 j 个神经元的输出,为 : j=1,2,u ; 0049 规则计算层 : 每个节点代表一条模糊规则, 采用隶属度的连乘作为模糊规则, 通过 式i=1,2,n 得到输出 ; 0050 输出层 : 对应得到的模糊。
20、神经网络的输出 yi为 : 0051 S2. 根据步骤 S1 所建立的模糊神经网络, 初始化模糊神经网络的网络参数 ; 0052 所述网络参数包括模糊化层的均值参数标准差参数和输出层的系数参数 0053 S3. 输入训练样本参数 xi到所建立的模糊神经网络, 模糊神经网络输出 yi; 0054 其中所述 xi为第 i 个输入变量值, yi为对应的模糊神经网络输出值 ; 0055 S4. 根据步骤 S3 所得到的 yi, 计算如果 e 预设标准误差, 则停 止训练, 并转到步骤 S7 ; 如果 e 预设标准误差, 并且迭代次数 k 预设迭代次数, 则停止训 练, 并转到步骤 S7, 否则进入模糊。
21、神经网络参数学习训练 ; 0056 其中 yd为神经网络的期望输出, e 为期望输出和实际输出 yi的误差 ; 0057 所述预设标准误差是根据不同的对输出结果的要求而认为设定的误差率, 在本发 明申请方案中所述测预设标准误差为千分之一 ; 同理, 预设迭代次数也是根据不同的要求 而认为进行设定的, 具体可以为 100 次, 200 次等等。 0058 S5. 进行模糊神经网络参数学习训练, 其中包括 : 说 明 书 CN 103336992 A 7 5/9 页 8 0059 a. 标准差参数的倒数的学习训练过程为 : 0060 0061 0062 其中, k 为迭代次数, i 为第 i 个输。
22、入的训练样本参数, j 为第 j 个神经元, 为固 有学习步长, (k) 为学习率 ; 是标准差参数的倒数, xj为神经网络输入层 的输出, i为输入参数隶属度连乘积, m 为神经网络规则计算层的节点数目 ; 0063 b. 均值参数的学习训练过程为 : 0064 0065 0066 其中,xj为 网络输出参数, i为输入参数隶属度连乘积 ; 0067 c. 系数参数的学习训练过程为 : 0068 0069 0070 其中 0071 在本发明实施例一种模糊神经网络学习算法在参数的学习训练过程中, 所述学习 率 (k) 会根据之前两次的动态量改变的正负发生变化, 这种变化都是减小的, 一次梯度 。
23、的相反会使学习率降低 25%, 这样对训练学习训练中产生的震荡起到了很好的遏制作用。 0072 S6. 再次输入训练样本参数 xi, 转到步骤 S3 ; 0073 S7. 对建立的模糊神经网络进行预测识别 , 对测试样本作归一化处理, 并将其输 入以上训练好的模糊神经网络中, 对该类数据进行识别分类, 通过其实际输出结果, 判断目 标所属类别。 0074 在现有技术中, 由于高斯函数具有良好的平滑性, 一般会采用高斯函数在模糊化 层作为隶属度函数, 其表达式为 :j=1,2,k;i=1,2,n, 其中 式说明了参数在训练过程中的变化方式, 其运算方式是对分母中 说 明 书 CN 1033369。
24、92 A 8 6/9 页 9 的变量求偏导, 这种方法不仅增加了误差函数关于标准差的计算量, 而且也降低了系统的 学习效率, 如下表达式 (1) 所示 : 0075 0076 针对上述所存在的问题, 本发明一种模糊神经网络学习算法提出将标准差参数 的倒数看作是独立的变量, 并以来完成系统的训练过程, 那么隶属度函数则变成 在参数训练过程中就避免了对分母的偏导求解的过程, 提高 了系统的学习效率, 如下表达式 (2) 和 (3) : 0077 0078 0079 由所示参数和参数的表达式对比发现式, 在式 (1) 中, 在分母中, 而且是三 次方, 当参数较小时会引起网络训练过程中的振荡, 而式。
25、 (2) 和 (3) 中的参数没有出现 在分母中, 而且只有一次方, 这样计算量减小了, 也不会因为标准差值较小的情况引起网络 的振荡, 从而提高了网络的训练效率。 0080 为了本领域的普通技术人员能够理解并且实施本发明的申请方案, 下面结合具体 的案例对本发明实施例的一种模糊神经网络学习算法作详细说明 : 0081 其中采用 UCI 数据库中的乳腺癌数据集为具体实例, 采用本发明一种模糊神经网 络学习算法对癌细胞进行识别。该数据集包含 569 个病例, 其中, 良性 357 例, 恶性 212 例。 每个病例的一组数据包括采样组织中各细胞核的 10 个特征量的平均值、 标准差和最坏值, 其。
26、中各特征量的 3 个最大数据的平均值共 30 个数据, 这 30 个数据作为网络训练的输入量, 输出良性细胞为 “-1” , 恶性细胞为 “1” 。 0082 如图4和图5所示分别为现有技术中模糊神经网络的误差变化曲线和采用本发明 学习算法的一种模糊神经网络的误差变化曲线。 从这两幅图可以看出, 原始算法在迭代100 次后, 总体误差为 199.3, 这是 500 个训练样本的总和, 改进算法在迭代 100 次后, 总体误差 为 178.8。而且还可以看出本发明模糊神经网络学习算法在整个迭代的过程中没有出现过 振荡, 整个曲线是很平滑, 而且误差下降很快, 在迭代第五次的时候误差总和就已经下降。
27、到 200 以内了, 而原始算法在这两个方面就表现的不是很好, 并在迭代中误差总和出现了振 荡。 0083 如图 6 所示为现有技术中模糊神经网络的测试样本实际输出和预测输出, 图 7 为 本发明实施例的模糊神经网络的测试样本实际输出和预测输出。由图可以看出本发明模 说 明 书 CN 103336992 A 9 7/9 页 10 糊神经网络学习算法输出区间为 -1.52, 每个数据的误差没有出现很大的变化, 误差的方 差比较小, 而原始算法的输出区间为 -24, 因其过大或者过小的数据出现, 导致了网络输 出的误差变化较大, 误差的方差变大, 这样情况出现的原因是原始算法在网络训练和测试 过程。
28、的没有很好的抑制网络的振荡, 对模糊度较高的数据训练和测试都没有达到很好的效 果, 导致在结果输出中出现误差很大的数据。 0084 在对识别率进行分析之前, 因为数据的输出只有两类 (-1 和 1) , 所以把测试样本 的实际输出中大于 0 的输出都看作 “1” 类, 小于 0 的输出都看作 “-1” 类。表 1 分别给出了 原始算法和改进算法测试样本的实际输出和期望输出的具体数值, 测试样本共有 69 组数 据, 表 1 中给出前 30 组的结果。从输出结果分析, 因为数据选择的随机性, 原始算法的测试 数据中共有45个良性细胞数据, 24个恶性细胞数据, 改进算法的测试数据中共有43个良性。
29、 细胞数据, 26 个恶性细胞数据, 识别的结果如表 2 所示。 0085 表 1 测试样本的输出数据 说 明 书 CN 103336992 A 10 8/9 页 11 0086 0087 0088 表 2 原始算法和改进算法的结果比较 说 明 书 CN 103336992 A 11 9/9 页 12 0089 良性细胞确诊误诊 确诊率恶性细胞确诊误诊确诊率 原始算法43295.6%22291.7% 改进算法430100%25196.2% 0090 由表 2 可以看出, 原始算法对良性和恶性细胞都有误诊, 确诊率分别为 95.6% 和 91.7%。而改进算法对良性细胞没有误诊, 对恶性细胞的确。
30、诊率也到达了 96.2%, 由此可见, 对肿瘤细胞的确诊率有显著提高, 进一步的证明了本发明一种模糊神经网络学习算法在实 际应用中的意义。 说 明 书 CN 103336992 A 12 1/5 页 13 图 1 说 明 书 附 图 CN 103336992 A 13 2/5 页 14 图 2 说 明 书 附 图 CN 103336992 A 14 3/5 页 15 图 3 图 4 说 明 书 附 图 CN 103336992 A 15 4/5 页 16 图 6 说 明 书 附 图 CN 103336992 A 16 5/5 页 17 图 7 说 明 书 附 图 CN 103336992 A 17 。