⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bpnet.m

📁 包含了matlab实现bp神经网络模型的三段源码
💻 M
字号:
%自己设计的BP神经网络集成。
%输入的是 p-作为训练值的输入
%        t-也是网络的期望输出结果
%        ynum-设定隐层点数  一般取3~20; 
%        maxnum-如果训练一直达不到期望误差之内,那么BP迭代的次数   一般设为5000
%        ex-期望误差,也就是训练一小于这个误差后结束迭代  一般设为0.01
%        lr-学习率 一般设为0.01
%        pp-使用p-t虚拟蓝好的BP网络来分类计算的向量,也就是嵌入二值水印的大组系数进行训练然后得到二值序列
%        ww-输出结果
% 注明:ynum,maxnum,ex,lr均是一个值;而p,t,pp,ww均可以为向量
%      比如p是m*n的n维行向量,t那么为m*k的k维行向量,pp为o*i的i维行向量,ww为o* k的k维行向量




%p,t作为网络训练输入,pp作为训练好的网络输入计算,最后的ww作为pp经过训练好的BP训练后的输出

function ww=bpnet(p,t,ynum,maxnum,ex,lr,pp)
plot(p,t,'+');
title('训练向量');
xlabel('P');
ylabel('t');
[w1,b1,w2,b2]=initff(p,ynum,'tansig',t,'purelin'); %初始化含一个隐层的BP网络
zhen=25;   %每迭代多少次更新显示
biglr=1.1; %学习慢时学习率(用于跳出平坦区)
litlr=0.7; %学习快时学习率(梯度下降过快时)
a=0.7      %动量项a大小(△W(t)=lr*X*ん+a*△W(t-1))
tp=[zhen maxnum ex lr biglr litlr a 1.04]; %trainbpx
[w1,b1,w2,b2,ep,tr]=trainbpx(w1,b1,'tansig',w2,b2,'purelin',p,t,tp);
ww=simuff(pp,w1,b1,'tansig',w2,b2,'purelin');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -