- 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神经网络(C代码)
bp神经网络:BP神经网络(C代码)
疯狂代码 / ĵ http://Arithmetic/Article31331.html
这是段不算不错代码 3层BP神经网络用于自适应用Levenberg-Maquardt法进行训练新手可以拿来研究下
#EPSILON1E-6
//3层神经网络结构
typedefstructtag_bpnnt
...{
in_n;//输入层神经元数
hidd_n;//隐层神经元数
out_n;//输出层神经元
double*in_unit;//输入层神经元
double*hidd_unit;//隐层神经元
double*out_unit;//输出层神经元
double*hidd_delta;//隐层误差
double*out_delta;//输出层误差
double*hidd_dfda;
double*out_dfda;
double*target;//目标向量
double**in_w;//输入层权值
double**hidd_w;//隐层权值
//前次结果(用于迭代)
double**prev_in_w;
double**prev_hidd_w;
}BPNN_t;
//分配1d内存
double*bpnn_malloc1d(n);
//分配2d内存
double**bpnn_malloc2d(m,n);
//销毁2d内存
voidbpnn_mfree2d(double**pmem,m);
//计算sigmoid
doublesigmoid(doublex);
//建立神经网络
BPNN_t*bpnn_create(nIn,nHidden,nOut);
//销毁网络
voidbpnn_destroy(BPNN_t*pNet);
//化权值
voidbpnn_init_weight(double**w,m,n,flag);
//前向计算本层输出
voidbpnn_layerforward(double*layer1,double*layer2,double**conn,n1,n2);
//计算输出层反传误差
voidbpnn_out_error(double*delta,double*dfda,double*target,double*output,nj,double*err);
//计算隐层反传误差
voidbpnn_hidd_error(double*delta_h,double*delta_o,double*dfda_h,double*dfda_o,
nh,nout,double**w_ho,double*h_unit,double*err); [Page]
//计算整个网络输出
voidbpnn_nnforward(BPNN_t*pNet);
//最速下降法训练次
doublebpnn_train_steepest(BPNN_t*pNet,doubleeta,double**indata,double**targetdata,np);
//Levenberg-Marquardt训练
doublebpnn_train_lm(BPNN_t*pNet,double**indata,double**targetdata,np,double*lamda);
//gauss-jordan消元法解线性方程组
voidgauss_jordan(double*a,double*b,n);
#stdlib.h
#.h
#math.h
#time.h
#\bpnn.h\
//交换
#SWAP(x,y)((x)!=(y))
...{x=x+y;
y=x-y;
x=x-y;}
//设置单位矩阵
voidSetEye(double*mat,n);
//分配1d内存
double*bpnn_malloc1d(n)
...{
double*pout;
pout=(double*)malloc(n*(double));
pout;
}
//分配2d内存
//m为行数(组
您可能关注的文档
- A4纸田字格模板模板A4田字格田字格.doc
- Academic Articles on Plagiarism – In Order of Schools剽窃–为学校的学术文章.doc
- A4纸田字格模板练字用.doc
- alex 雅思口语课讲义:雅思口语单项之词汇2014-10-18.pdf
- alex 雅思口语课讲义:雅思口语单项之词汇2014-11-1.pdf
- A Revision of the Psychoanalytic Theory of Primary:原发性精神分析理论的修正.doc
- an elementary introduction to mathematical finance:数理金融学概论.pdf
- Antibody Engineering & Therapeutics:抗体工程药物.pdf
- an国家基本公共卫生服务规范_健康教育与健康促进的培训.ppt.ppt
- AQ 2047-2012 水泥工厂筒型储存库人工清库安全规程.doc
- BP神经网络C语言代码_可以直接VC++上运行.pdf
- C r a neSafety(起重机安全,PPT英文 培训教 材 ).ppt
- c cs超市信息管理系统毕业设计(含源文件)【最新】.doc
- CARDIAC AND VASCULAR SURGERY:心脏和血管外科.pdf
- CAD工程建筑施工图符号(精品).pdf
- Cardiovascular physiology:心血管生理学.doc
- Carriage of goods by sea rules comparison 海运規則比較.pdf
- CASH PASSPORT ATM CARD:现金护照提款卡.pdf
- CAD工程建筑施工图符号_1601315219.doc
- CAXA电子图板CAD机械总装图绘制技巧.doc
原创力文档


文档评论(0)