- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
關于BP网络分类问题编程——兼谈编程的问题
关于BP网络分类问题编程——兼谈编程的问题
李金屏
模式识别与智能系统研究所
2006年11月
关于上机
每个人都要事先准备好,即课下一定要认真努力学习相关理论;不能上机时间临时准备,在不理解基本理论的情况下,根本不可能编好程序。
上机是要点名的,不能玩游戏和乱上网干些与编程无关的事情。否则平时成绩记为负15分。
首先完成编程的同学,请在下一周末之前(11月18日)和我联系。我要一一考察,内容:基本思想、每条指令、运行结果、机动要求的随时实现等。通过者平时成绩为正15分。每个人都要撰写上机报告。
谈谈编程
首先要掌握语言本身,包括语法和各种语句用法。一般情况下,任何一种语言均可。
目前,人们经常使用C类语言。
要对所涉及的问题有深刻透彻的理解。一点点地模糊和不清楚,都会导致编程不成功。
要对计算方法中的一些常用算法有很好掌握。
要利用结构化、模块化编程思想,这样便于调试、维护和修改。
BP网络分类问题编程
问题描述
设计一个BP神经网络,通过训练能够将直角坐标系内的点进行分类,即:凡是第一象限内的点输出1,其余象限内的点输出0。
问题分析
该神经网络需要有两个输入节点、
一个输出节点,一个隐含层应该
足够,节点数设定为3个。
BP网络分类问题编程
问题分析
为了使得程序更有推广性,假定输入层、隐含层和输出层节点个数分别为M、N和1个。
算法设计
1. 首先获得训练样本集合{X1, X2, …, XK};
每个样本形式是Xt=(xt1, xt2, Tt)
2. 给神经网络的每个权值赋给随机数:0-1之间
3. 对于每一个样本,都按照如下步骤计算:
BP网络分类问题编程
1) 计算每个隐含层节点的输入Yk t (i=1,2,…,N)
公式:其中k=1,2,3; j=1,2
Wij是输入层到隐含层之间的权值。
2) 计算每个隐含层节点的输出。其中,k=1,2,3。即M =2, N =3. 其中Ok t也是输出层的输入。
BP网络分类问题编程
3) 计算输出层节点的输入。其中N=3,即k =1,2,3
4) 计算输出层节点的输出。
BP网络分类问题编程
5) 计算该输出的误差:
4. 计算所有输入样本的误差,然后求和:
5. 判别误差是否满足要求:
1) E是否比较稳定了? 2) E是否小于给定的阈值?
是,则程序结束;否则进行下一步。
BP网络分类问题编程
其中g表示迭代的次数。关键在于求解偏导数。具体公式参见下页。
7. 返回步骤3。
6. 修改权值:
BP网络分类问题编程
备注:相关公式(具体推导过程参见下面四页)
其中
公式中其余各个符号的含义参见前面几页。
Wkj(g+1) = Wkj(g)+
Vk(g+1) = Vk(g) +
备注:上述公式以及下面几页的推导请同学们仔细地在核实一下,确保其正确性。
BP算法权值调节公式
BP算法权值调节公式
BP算法权值调节公式
BP算法权值调节公式
BP网络分类问题的程序设计
程序设计:一般包括这几部分
头文件
主程序
各个子程序
头文件
#include “stdio.h” …
#define ABC 6 …
void InputData(void); …
int (float, struct, et al); 包括:权值及每个权值的修改量、
训练样本数组、误差阈值、学习率等
BP网络分类问题的程序设计
主程序功能:main()
1) 初始化神经网络权值;
InitializeWeights()
2) 读入训练样本;InputSamples()
3) 计算所有训练样本的输出误差;
ComputeAllErr()
4) 判定输出误差是否满足要求:
是则中止并输出训练结果,Output()
否则继续;
5) 调节网络权值,返回3);
AdjustWeights()
Begin
InitializeWeights()
InputSamples()
ComputeAllErr()
AdjustWeights()
E OK?
Output()
BP网络分类问题的程序设计
初始化网络权值:InitializeWeights()
权值要定义成全局变量;
权值要通过随机数函数赋值,范围在(-1,+1);
读入训练样本:InputSamples()
涉及到文件操作;或者数组赋值、结构体等(此时可以定义在头文件中)。
说明:训练样本至少要在50各以上,而且每个象限都要有,尽量分布均匀。其中第一象限要占1/3左右。
例如:TrainingData[m][n]:其中m表示样本个数,n表示每个样本中的参数个数。
BP网络分类问题的程序设计
计算所有训练样本的输出
您可能关注的文档
- 鎖相环及载波同步.ppt
- 鎮江市大港中心小学 孔红娟.ppt
- 鎮江市第一人民医院 张国辉.ppt
- 鏈状带绦虫猪带绦虫病囊尾蚴病.ppt
- 鏡像右位心室间隔缺损 封堵术一例.ppt
- 鏡头下的营养世界- 柒周刊之黑心追追追.ppt
- 鏡像用户使用培训.ppt
- 鏡子改变了什么.ppt
- 鏡头的运动方式.ppt
- 鐵北二路小学 赵丽辉.ppt
- 2026届广东省中山市第一中学等七校联合体高二物理第一学期期末联考试题含解析.doc
- 2026届信阳市重点中学高三物理第一学期期末经典试题含解析.doc
- Unit8SafeandsoundIntegrationA-C课件译林版英语八年级上册.pptx
- 2026届江西省九江一中物理高二第一学期期末经典模拟试题含解析.doc
- 2026届四川省彭州中学物理高一上期中综合测试试题含解析.doc
- 2026届安徽省炳辉中学物理高一上期末学业质量监测模拟试题含解析.doc
- 黑龙江省佳木斯市桦南县第一中学2025-2026学年高二上学期10月期中物理试题_1.docx
- 2026年驾校经营分析汇报.pptx
- 湖南省株洲市7校 2026届物理高三上期末学业质量监测模拟试题含解析.doc
- 2026年畜牧业年终汇报分析模板.pptx
原创力文档


文档评论(0)