欢迎来到天天文库
浏览记录
ID:52563612
大小:45.00 KB
页数:12页
时间:2020-03-28
《BP算法的C语言实现.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、终于搞定了,输出结果完全正确,运行训练次数竟然有几万次!汗!(适合普通BP算法和改进型BP[带缓冲项]算法)//训练样本大概是这些(每组前三个为in样本数据后面为out结果)://0000.9//0010.1//0100.1//0110.9//1000.1//1010.9//1100.9//1110.1测试样本可以自己试试这些数据//00.10.9(期望:0.1)//0.90.90.1(期望0.9)-----------------------------------------分割线---------------
2、--------------------------#include"stdlib.h"#include"math.h"#include"conio.h"#include"stdio.h"#include"time.h"#defineN8/*学习样本个数(测试样本个数)*/#defineIN3/*输入层神经元数目*/#defineHN2/*隐层神经元数目*/#defineON1/*输出层神经元数目*/floatP[IN];/*单个样本输入数据*/floatT[ON];/*单个样本教师数据*/floatW[HN][I
3、N];/*输入层至隐层权值*/floatV[ON][HN];/*隐层至输出层权值*/floatX[HN];/*隐层的输入*/floatY[ON];/*输出层的输入*/floatH[HN];/*隐层的输出*/floatO[ON];/*输出层的输出*/floatYU_HN[HN];/*隐层的阈值*/floatYU_ON[ON];/*输出层的阈值*/floaterr_m[N];/*第m个样本的总误差*/floata;/*输出层至隐层学习效率*/floatb;/*隐层至输入层学习效率*/floatalpha; /*/动量
4、因子,改进型bp算法使用*/floatd_err[ON];/*δk*/floate_err[HN];/*δj*/FILE*fp;/*定义一个放学习样本的结构*/struct{floatinput[IN];floatteach[ON]; }Study_Data[N];/*定义一个放测试样本的结构*/struct{floatinput[IN];floatexpect[ON]; }Test_Data[N];/*改进型bp算法用来保存每次计算的权值*/floatold_W[HN][IN];float
5、old_V[ON][HN];intStart_Show(){clrscr();printf(" ***********************");printf(" * Welcometouse *");printf(" * thisprogramof *");printf(" * calculatingt
6、heBP*");printf(" * model! *");printf(" * Happyeveryday! *");printf(" ***********************");printf("Beforestarting,pleasereadthefollowscarefully:");printf("
7、 TheprogramofBPcanstudyitselffornomorethan200000times.Andsurpassingthenumber,theprogramwillbeendedbyitselfinpreventingrunninginfinitelybecauseoferror!");printf("");printf("Nowpressanykeytostart...");getch();clrscr();}intEnd_Show(){printf("---
8、------------------------------------------------");printf("Theprogramhasreachedtheendsuccessfully!Pressanykeytoexit!");printf(" ******************
此文档下载收益归作者所有