一、模糊神经网络FNN
模糊神经网络(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%。
四、参考代码
文件夹包含所有代码,点击main.m即可训练模型。