【MATLAB第88期】基于MATLAB的6种神经网络(ANN、FFNN、CFNN、RNN、GRNN、PNN)多分类预测模型对比含交叉验证

前言

本文介绍六种类型的神经网络分类预测模型

1.模型选择

前馈神经网络 (FFNN) 人工神经网络 (ANN) 级联前向神经网络 (CFNN) 循环神经网络 (RNN) 广义回归神经网络 (GRNN) 概率神经网络 (PNN)

2.数据情况 357行样本,12输入,1输出,4分类。 无交叉验证情况,默认70%训练,30%测试。

%% 导入数据

res = xlsread('数据集C.xlsx');

feat=res(:,1:end-1);

label=res(:,end);

T_sim1 = []; T_sim2 = [];

ytest2 = [];

ytrain2 = [];

ho=0.3;%测试集的比例

3.程序使用 更改type类型即可自动筛选模型并运行。

switch type

case 'NN' ;

case 'FFNN' ;

case 'CFNN' ;

case 'RNN' ;

case 'GRNN' ;

case 'PNN' ;

end

4.通用参数 Hidden_size = [10,10];%隐含层神经元 Max_epochs = 50; %最大训练次数 tf = 1; %2为交叉验证, 1无交叉验证。

一、前馈神经网络 (FFNN)

1、无交叉验证

tf = 1; %2为交叉验证, 1无交叉验证。

kfold = 1; %K折

2、有交叉验证(3折为例)

tf = 2; %2为交叉验证, 1无交叉验证。

kfold = 3; %K折

二、级联前向神经网络 (CFNN)

1、无交叉验证

tf = 1; %2为交叉验证, 1无交叉验证。

kfold = 1; %K折

2、有交叉验证(3折为例)

tf = 2; %2为交叉验证, 1无交叉验证。

kfold = 3; %K折

三、广义回归神经网络 (GRNN)

1、无交叉验证

tf = 1; %2为交叉验证, 1无交叉验证。

kfold = 1; %K折

num_spread=1;

2、有交叉验证(3折为例)

tf = 2; %2为交叉验证, 1无交叉验证。

kfold = 3; %K折

num_spread=1;

四、人工神经网络 (NN)

1、无交叉验证

tf = 1; %2为交叉验证, 1无交叉验证。

kfold = 1; %K折

2、有交叉验证(3折为例)

tf = 2; %2为交叉验证, 1无交叉验证。

kfold = 3; %K折

五、循环神经网络 (RNN)

1、无交叉验证

tf = 1; %2为交叉验证, 1无交叉验证。

kfold = 1; %K折

2、有交叉验证(3折为例)

tf = 2; %2为交叉验证, 1无交叉验证。

kfold = 3; %K折

六、循环神经网络 (RNN)

1、无交叉验证

tf = 1; %2为交叉验证, 1无交叉验证。

kfold = 1; %K折

num_spread = 100;

2、有交叉验证(3折为例)

tf = 2; %2为交叉验证, 1无交叉验证。

kfold = 3; %K折

num_spread = 100;

七、代码获取

1.阅读首页置顶文章 2.关注CSDN 3.根据自动回复消息,回复“88期”以及相应指令,即可获取对应下载方式。

文章来源

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。