基于BP神经网络和FUZZY集的模式识别算法及其MATLAB实现
更新时间:2023-07-19 01:11:01 阅读量: 实用文档 文档下载
第 34卷增刊 2
中南工业大学学报(自然科学版)J . C ENT . SO UT H UNI V. T ECH NOL.
2003年 7月
基于 BP神经网络和「ZZ集的模式 U Y识别算法及其 MatLab实现蒋良孝,蔡之华.刘钊
(中国地质大学计算机科学与技术系,湖北武汉 430074)摘要:提出了一种基于BP神经网络和 Fuzzy集的模式识别算法, MatLab系统环境下实现了并在这种算法.实践证明,运用该算法进行模式识别的准确率非常高, MatLab编程简捷明了,使用具有很强的实用性和较大的应用前景.关键词:模式识别; BP神经网络; Fuzzy集; MatLab中图分类号;TP301. 6
模式即对某一事物或其他一些感兴趣项目的定量或结构上的描述,它可以用一个标准激励或用取自标准激励和它们相互关系的属性组成的矢量来表示,一组具有公共特性的模式可以看作一个模式类.通过机器进行模式识别的主要问题就是如何采用更好的计算机处理技术自动地、人尽可能少介人把模式分到各自的类中.更广泛地说,模式识别就是将测量结果、激励或输人模式分配到有意义的类别中.目前,可以用于模式识别的算法很多,但大多数算法都存在分类准确率低的缺陷.为了提高模式识别的准确率,本文作者提出了一种基于 BP神经网络和 Fuzzy集的模式识别算法,实践证明,运用该算法进行模式识别的准确率非常高.此外,本文遗弃了 C
经网络由3层构成:输入层、隐含层和输出层,各层之间实行全互连接方式. BP神经网络的学习算法又叫误差逆传播算法.其基本思想是:向后传播通过迭代处理一组训练样本,将每个样本的网络预测与实际知道的类标号比较,进行学习.对于每个训练样本,修改连接权和阑值,使得网络预测和实际类之间的均方误差最小。这种修改“向后”传播,即由输出层,经由每个隐含层,直到第 1个隐含层.尽管不能保证,但一般地,权都最终收敛,从而结束学习过程.当然,权值收敛并非唯一结束学习的条件,如迭代的次数超过了预先设定的最大迭代次数或者实际误差已经达到了目标误差的水准,均是结束学习的条件.详细的误差逆传播
和 C++等传统的高级编程语言,而是采用功能强大的 MatLab语言编程,使程序简捷明了,达到了事半功倍的效果.
算法见文献〔 . 1] 1.2 Fuzzy集及其距离最近原则设 U是论域,所谓 U上的“ uzzy集’, F 'A是指对
任意的XE U, x常以某个程度p如E[0, 1] )属于
1算法介绍1. 1 BP神经网络及其误差逆传播算法神经网络具有对噪声数据的高承受能力,对未经训练的数据分类模式的能力,并行处理能力以及非线性映射的能力等
特性.也正是这些特性推动了神经网络在模式识别中方面的应用. BP神经网络是目前应用最广、实现途径最直观、运算机制最容易理解、研究最深人的一种神经网络一个典型的 BP神收稿日期: 2003- 03- 24
A, x E A或x任而非 A.给定论域 U中若干标准模式A,,AZ, -,A.,其
中A,,AZ, -,A.:都是U的子集,再给出某具体对象A,要求判定 A应属于哪一类模式,这就是所谓的模式识别.若给定的标准模式是 U上的 Fuzzy子集,就称为 Fuzzy模式识别.若要求识别的对象 A也是U上的 Fuzzy子集,则常用“择近原则”中的“距离最近原则”来进行模式识别.现陈述如下:
设U共口,A,,AZ, * *,A,,A; E PC F (U), *是已
甚金项目:湖北省自然科学基金资助项目( 2001ABB006);湖北省科技攻关计划项目(2002AA101C07) .
154
中南工业大学学报 (自然科学版)
第 34卷增刊 2
知的标准模式. A E P是待判对象.现给定阑值又选 .定p上的距离p,若p(A,Ak)二min{p(A,A, ),p(A,
元,那么网络可识别的模式类别最多可为 2”种一般情况下,网络只含一个隐含层.因为,尽管增加层数可以降低误差、提高精度,但同时使网络结构复杂化,从而增加了网络权值的训练时间;而且增加隐含层中神经元的数目不但可以提高误差的精度,还可
AZ,...,杯 ) A,Am ), A,Ak)< A则判A属于 )且可,第 k类;若杯 A,Ak)> A则拒,绝判别(说明依据上述方式,不能判别 A应属的类别) .
1. 3 M atLab及其 BP神经网络工具箱函数MatLab( Matrix Laboratory )是由美国 Math
以使其训练效果比增加层数更易观察和调整.至于隐含层中神经元的数目要视具体情况且通过对比训练来确定.
Works公司推出的多功能数学应用软件,它集数值分析、矩阵计算、信号处理和图形显示于一体,构成了一个方便的界面友好的用户环境.该系统的基本数据结构是矩阵,在生成矩阵对象时,不需要对维数进行明确的说明.尤其是 MatLab具有很强的功能扩展能力,与它的主系统一起,可以配备包括神经网络等在内的各种工具箱,以完成一些特定的任务.运
2. 2 BP网络的初始化及训练参数的设定网络的初始化主要是对连接权值和神经元阑值的初始化.由于系统是非线性的,初始值的选取对于学习是否能够达到局部最小,是否能够收敛以及训练时间的长短有很大影响.初始值太大,会使权值的
用 MatLab编写的程序简捷明了,具有很强的实用性和较大的应用前景. MatLab的 BP神经网络工具箱包含了进行 BP神经网络分析和设计的许多函数.其中,本文用到的主要工具箱函数有:
调节过程几乎停止.因此,初始值一
般取(一1,+ 1)之间的随机数.训练参数的设定包括神经元激活函数、更新显示间隔次数、最大迭代次数、目标误差以及学习速率的设定.其中,学习速率决定了每次循环训练中所产生的权值变化量.学习速率太大可能导致系统不稳定;学习速率太小又会导致训练时间过
( 1)神经元激活函数: tansig ( ) .它是一双曲正切 sigmoid函数,用于将神经元上范围为 ( - 0o,+0 )的输人值映射到区间( - 1,十1)上.由于它是处处可微的,所以它很适合于利用 BP算法训练神经网络.
长,收敛速度太慢.所以,一般在区间(0. 01, 0. 8)上取值.目标误差应当通过对比训练来确定一个合适值.因为,较小的目标误差是要靠增加隐含层中的神经元数,以拖延训练时间来获得的. 2. 3 BP网络的训练与仿真在进行网络训练之前,首先要将原始数据转化为适合于神经网络方法处理的格式.对于连续模式分量的情况,要先将其离散化;对于已经是离散值的情况还要选取合适的编码方案,这一点对于模式类来说尤其重要.训练成功后的网络就具备了对模式识别的能力,再将待识别的模式矢量作为网络的输
(2)网络初始化函数:initff ( ) .用于初始化设计好的网络的权值和神经元的I J值. C
(3)网络训练函数: trainbp( ).用于训练初始化后的 BP神经网络.
(4)网络仿真函数: simuff( ).用于计算输人模式的网络输出. (5)误差绘制函数: plot err ( ) .用于绘制网络训练的均方误差随时间变化的曲线.
人,网络的输出就是用来识别输人模式的模式类别
2算法的基本思想与步骤使用该算法来进行模式识别的过程主要包括以下 4个步骤. 2. 1 BP网络的构建根输人模式矢量的分量个中神经元的个;根网络输出层中神经元的个
值,这个过程也称为网络仿真.
2 . 4 Fuzzy模式识别上面得到的网络输出值并非是前面编码阶段为模式类别所编码的精确值.因此,引进了模糊集和距离最近原则.把标准的模式类别编码值和网络输出确定网络输入层目确定
的模式类别值都看作为模糊
,再运用 Fuzzy模式
待识别模式的类别
识别中的距离最近原则来识别模式的类别.在这里,要首先取定一个合适的判别0值, .9因为I值太大可 1 .
,设输出层有,个神经:
2003年 7月
蒋良孝,基于 BP神经网络和 Fuzzy集的模式识别算法及其 MatLab实现等:
1 55
能会出现误判;太小又可能会导致漏判,合适的判别闹值通常由经验或反复试探得到.
表中的条件属性的组合视为模式矢量,决策属性视为模式的类别.那么上述配镜问题实质就是一种模式识别问题.表 1配镜决策表
3
演示实例完整的 MabLab
程序代码
p=[ 1 1 2 3 1 1 2 2 3 1 1 1 1 2 2 2 3 3 3 3;1 2 1 1 1 2 1 2 2 1 1 2 2 1 1 2 1 1 2 2; 2 2 2 2 1 1 1 1 1 1 2 1 2 1 2 2 1 1 2 2;
2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 2 1 2 1 2]; t=[ 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1; 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1];
pm[ 13; 12;12; 12];p;=[2;2;2;2]; ex= numl= 4;num2= 2;f= 'tansig';judge= 0. 1;
tp=仁 2000 0,06 0,041; 25[w1,,w2,= initff(pmax, numl, num2, bl b2] f,f);
[ w1,, b2, tr]= trainbp(wl,, w2, bl w2, te, bl f,b2,, p,, tp); f t out= simuff( pi, wl,,f,w2,,f) bl b2 ploterr ( tr )to
disl= sgrt ( ( out ( 1)一0) ' 2+ (out ( 2)一D -2); dis2= sgrt ( ( out ( 1)一1) ' 2+ ( out ( 2)一0) ' 2); dis3= sgrt ( ( out ( 1)一1)' 2+ (out ( 2)一1) ' 2);if ( d is l<“dis2) dis= d is l;
由于条件属性的个数为 4(即模式矢量有 4个分量),所以网络输人层有 4个神经元.又由于有 3个决策类,所以在网络输出层只需 2个神经元就可判
别出模式类别,其编码方案为( 0和 1分别表示两个 (神经元的输出值):O1代表一类镜片; 10代表二类镜片; 11代表三类镜片.考虑网络的复杂性,本文设计的网络只含一个隐含层,且由 4个神经元构成.具体的网络结构如图 1所示.运用本文提出的算法,直接调用 MatLab的 BP神经网络工具箱中的函数,将表 1中的数据对图 1所示的网络进行了训练和测试.结果表明,网络在迭代 2143次后,均方误差就可达到
else dis= dis2;en d
if ( dis<= dis3) min= disel s e m in= d is 3en d
if(min> judge) glass= 0 elseif( in=“dish glass= 1 m elseif( min== dis2) glass= 2 else glass= 3en d
预先设定的 0. 06.再用距离最近原则将模式进行 Fuzzy识别,识别的准确率竟达到了 100%.图 2给出了实验中完整的 MatLab程序运行结果.
输出层
本文以配眼镜人适合配哪一类镜片的问题为例来说明此算法.配镜的决策是根据配镜人的情况,即条件属性值来确定的.表 1所示是某医院的一张配镜决策记录表(数据取自文献[ 4] ) .其中,各条件属性值的含义如下:a(年龄): 1代表年轻; 2代表中年; 3代表老年. b(眼镜): 1代表近视镜;2代表远视镜,。 (散光): 1代表不是; 2代表是. d (产生眼泪情况): 1代表减少; 2代表一般.决策属性 e(镜片的类型): 1代表一类镜片; 2代表二类镜片; 3代表三类镜片.将
隐含层
输入层
图 1 BP神经网络的结构
15 6o
中南工业大学学报(自然科学版)
第 34卷增刊 2
参考文献:板件密荆裘n U厂1勺 . 1 J』
范明等译.数据挖掘一概念与技术【北京:机械工业出版 M].社, 2001.
r 0勺 L口J
徐勇等译.神经网络模式识别及其实现〔北京:电子工业出 M].版社, 1999.
广0 l s e L口J
闻新等. MATLAB神
经网络应用设计【 .北京:科学出版社, M]20 00 .
500
1 0 00
1 50 0
2 0 00广J门 L债J
迭代次数图2程序运行结果
杨炳儒.知识工程与知识发现[ M] .北京:冶金工业出版社,2 0 0 0.
l s e亡门 L」」
彭祖赠.模糊数学及其应用[ M] .武汉:武汉大学出版社, 2002.
Algorithm of pa tte rn re cognit io n b a s e d o n B P ne u ra l ne tw o rk a nd fuzzy se t a nd its imple me nt w ith Ma tLa bJIANG Liang-xiao, CAI Zhi-hua, LIU Zhao(Department of Computer Science and Technology, China University of Geosciences, Wuhan 430074, China)
Abstract: An algorithm of pattern recognition based on BP neural network and fuzzy set was set forward, and it was implemented with MatLab. Practice proves that the veracity of pattern recognition using this algorithm is very high and programming with MatLab is very brief. Key words:pattern recognition; BP neural network; fuzzy set; MatLab
正在阅读:
基于BP神经网络和FUZZY集的模式识别算法及其MATLAB实现07-19
哥林多后书第11章08-05
利用SLB实现VPN下的NAT10-25
油罐液位检尺操作05-21
四川省眉山市2012年中考物理试题06-20
高考作文:2016年高考作文预测 - 用真相教育最有力09-18
人民银行党风廉政建设工作总结03-30
新版人教版PEP三年级英语上册PEP人教新版三年级英语期末检测卷06-29
食品安全事故应急处理预案04-29
实验指导书01-18
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 神经网络
- 算法
- 识别
- 基于
- 及其
- 模式
- 实现
- MATLAB
- FUZZY
- 儿童咳嗽治疗偏方特有效
- 浅谈杜甫的忧患意识
- 【2012语文优化方案 精品练习】第三单元 综合检测 鲁人版选修(唐诗宋词)
- 地理研究性学习课题集
- 2011入党积极分子寒假思想汇报
- 1.1.1集合的含义与表示 练习题(1)
- 2013职称英语综合类教材新增内容:概括大意第五篇
- Kakao_Talk聊天软件国内打开使用方法
- 贵阳城市中心地下空间利用专题研究——地下商业发展必看资料
- 逸顿酒店马总成功事迹励志讲座外联策划书
- 面向生产环境的SOA系统设计 by 程立 (青苹果)
- 两次相遇行程问题的解法
- 方波-三角波波形发生器的设计
- 产 业 信 息 快 递 13-12 期
- 义务教育经费保障机制 -
- 如何建设与管理高效团队
- 人美版小学五年级美术下册期末试卷
- 道路交通标志.doc3
- 清爽夏日 淡绿眼妆更加出彩
- 七下期中复习——说