模糊神经网络(Fuzzy Neural Networks,FNN)结合了神经网络系统和模糊系统的长处,它在处理非线性、模糊性等问题上有很大的优越性,在 智能信息处理方面存在巨大的潜力。原理参考:
MATLAB模糊神经网络的预测算法–预测水质 - 知乎 (zhihu.com)
冷冻疗法数据集(Cryotherapy Dataset)共有90个样例,每个样例有6个属性,可分为2类。
部分数据如下:前六列为属性,最后一列为类别。
1 35 12 5 1 100 0
1 29 7 5 1 96 1
1 50 8 1 3 132 0
1 32 11.7500000000000 7 3 750 0
1 67 9.25000000000000 1 1 42 0
1 41 8 2 2 20 1
1 36 11 2 1 8 0
1 59 3.50000000000000 3 3 20 0
1 20 4.50000000000000 12 1 6 1
2 34 11.2500000000000 3 3 150 0
2 21 10.7500000000000 5 1 35 0
2 15 6 2 1 30 1
2 15 2 3 1 4 1
2 15 3.75000000000000 2 3 70 1
2 17 11 2 1 10 0
2 17 5.25000000000000 3 1 63 1
2 23 11.7500000000000 12 3 72 0
2 27 8.75000000000000 2 1 6 0
2 15 4.25000000000000 1 1 6 1
2 18 5.75000000000000 1 1 80 1
模糊神经网络的输入维度与Cryotherapy样本集的属性维度保持一致,输出为类别,评价指标为预测类别与真实类别的平均绝对误差(MAE)。Cryotherapy样本集中前70个样例构成训练集,最后20个样例构成测试集。
close all
clear
clc
load('Cryotherapy.mat')
TrainNum=70;%前70个作为训练集
Data=Cryotherapy(1:TrainNum,1:6)';%训练集输入
Data=mapminmax(Data, 0, 1);%归一化
inputn=Data';
outputn=Cryotherapy(1:TrainNum,7);%训练集输出
maxgen=2000;%最大训练次数(可以修改)
训练集的平均绝对误差MAE:0
训练集的分类准确率:100%
测试集的平均绝对误差MAE:0.15
测试集的分类准确率:85%
由此可见,模糊神经网络用于数据集分类效果显著,分类准确率高。
在训练集上分类准确率达到100%,在测试集上分类准确率达到85%。