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

📄 bp预测.m

📁 主成分分析法计算过程matlab实现软件
💻 M
字号:
%N=input(\'设定隐含层神经元个数:\\n\'); 
%maxecho=input(\'最大训练回合数\'); 
%网络初始化 
N=4;%可以自己设定 
maxecho=4000; 
h=0.4;%学习速率 
%输入训练样本[x,y] 
TS=[]; 
%输入预测样本[x,y] 
PS=[]; 

[tsm,tsn]=size(TS); 
p=TS(:,1:tsn-1); %提取供训练的x 
t(:,1)=TS(:,tsn);%提取供训练的y 
[pm,pn]=size(p); 

inw=randn(N,pn+1);%输入-隐含权值矩阵,输入并加上了偏置一列 
ins=zeros(N,1);%隐含得到的诱导矩阵 
outg=zeros(N,1);%反向传到回至输入的delta值 
outs=zeros(N,1);%隐含输出的矩阵 
outw=randn(1,N+1);%隐含输出权值矩阵(加上一个偏置) 
outv=zeros(1,1);%输出得到的诱导矩阵 
outy=zeros(1,1); 
backg=zeros(1,1);%反向传至隐含层的delta值 
%m=1; 
n=0; 
%开始样本训练 
%for x=1:maxecho 
while(n0.0002) 
%m=0; 
for i=1:pm 
ins=inw*[p(i,:)\';1]; 
outs=1./(1+exp(-ins)); 
outv=outw*[outs;1]; 
outy=1./(1+exp(-outv)); 
pout(i,1)=outy; %网络学习的输出 
backg=(t(i,1)-outy)*(outy.*(1-outy)); 
outg=(outs.*(1-outs)).*(outw(:,1:N)\'*backg); 
outw=outw+h*backg*[outs;1]\'; 
inw=inw+h*outg*[p(i,:),1]; 
%m=m+(t(i,1)-outy)^2; 
end 
n=n+1; 
end 
%开始样本测试 
[psm,psn]=size(PS); 
textp=PS(:,1:psn-1);%供预测的x 
textt(:,1)=PS(:,psn); %供预测的y 
[tm,tn]=size(textp); 

for i=1:tm 
ins=inw*[textp(i,:)\';1]; 
outs=1./(1+exp(-ins)); 
outv=outw*[outs;1]; 
outy=1./(1+exp(-outv)); 
textout(i,1)=outy; %预测输出y 
% error(i,1)=abs(textt(i,1)-textout(i,1)); 
end 
y1=pout; 
y2=textout; 

⌨️ 快捷键说明

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