• 大小: 2KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: Matlab
  • 标签: matlab  grnn  

资源简介

用matlab简单实现grnn,代码注释中含有对grnn网络原理的解释,可直接拿来做模版。

资源截图

代码片段和文件信息

%GRNN网络net=newgrnn(PTSPREAD)
%采用统计学原理,有四层,模式层与样本个数相同,激活函数与统计里面的一个式子构成相同
%求和层与输出个数相同,就是将模式层输出相加,输出是将求和层相除
clc
clear
x=zeros(10200);
y=zeros(3200);
input=x(:1:190);
output=y(:1:190);
test_input=x(:191:200);
test_output=y(:191:200);
desired_spread=[];
mse_max=10e20;
desired_input=[];
desired_output=[];
result_perf=[];
indices=crossvalind(‘Kfold‘length(input)4);%分成4批
k=1;
for i=1:4
    pref=[];
    disp([‘...‘num2str(i)‘...‘]);
    test=(indices==i);
    train=~test;
    p_cv_train=input(:train);
    t_cv_train=output(:train);
    p_cv_test=input(:test);
    t_cv_test=output(:test);
    [p_cx_trainminpmaxpt_cv_trainmintmaxt]=premnmx(p_cv_traint_cv_train);
    p_cv_test=tramnmx(p_cv_testminpmaxp);
    for spread=0.1:0.1:2
        net=newgrnn(p_cv_traint_cv_trainspread);
        t_cv_test_sim=sim(netp_cv_test);
        t_cv_test_sim=postmnmx(t_cv_test_simmintmaxt);
        error=t_cv_test-t_cv_test_sim;
        perf=[perfmse(error)];
        if mse(error)            mse_max=mse(error);
            desired_spread=spread;
            desired_input=p_cv_train;
            desired_output=t_cv_train;
        end
        k=k+1;
    end
    result_perf(i:)=perf;
end
%相当于排除了训练集中的一部分元素,找了拟合最好的一部分
net=newgrnn(desired_inputdesired_outputdesired_spread);
p_test=tramnx(p_testminpmaxp);
grnn_pre=sim(netp_test);
grnn_pre=postmnmx(grnn_premintmaxt);













 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-07-23 00:49  GRNN绁炵粡缃戠粶\
     文件        1513  2019-07-23 00:47  GRNN绁炵粡缃戠粶\aaa.m
     目录           0  2019-08-26 12:09  __MACOSX\
     目录           0  2019-08-26 12:09  __MACOSX\GRNN绁炵粡缃戠粶\
     文件         176  2019-07-23 00:47  __MACOSX\GRNN绁炵粡缃戠粶\._aaa.m

评论

共有 条评论