matlab如何实现神经网络的分类
更新:HHH   时间:2023-1-7


本文小编为大家详细介绍“matlab如何实现神经网络的分类”,内容详细,步骤清晰,细节处理妥当,希望这篇“matlab如何实现神经网络的分类”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

%% 清空环境变量

clear

clc


%% 训练集/测试集产生


% 导入数据

load water_data.mat

% 数据归一化

attributes = mapminmax(attributes);

% 训练集——35个样本

P_train = attributes(:,1:35);

T_train = classes(:,1:35);

% 测试集——4个样本

P_test = attributes(:,36:end);

T_test = classes(:,36:end);


%% 竞争神经网络创建、训练及仿真测试


% 创建网络

net = competlayer(4);

% 设置训练参数

net.trainParam.epochs = 500;

% 训练网络

 

net = train(net,P_train);

% 仿真测试

% 训练集

t_sim_compet_1 = sim(net,P_train);

T_sim_compet_1 = vec2ind(t_sim_compet_1);

% 测试集

t_sim_compet_2 = sim(net,P_test);

T_sim_compet_2 = vec2ind(t_sim_compet_2);


%% SOFM神经网络创建、训练及仿真测试


% 创建网络

net = selforgmap([4 4]);

% 设置训练参数

net.trainParam.epochs = 200;

% 训练网络

 

net = train(net,P_train);

% 仿真测试

% 训练集

t_sim_sofm_1 = sim(net,P_train);

T_sim_sofm_1 = vec2ind(t_sim_sofm_1);

% 测试集

t_sim_sofm_2 = sim(net,P_test);

T_sim_sofm_2 = vec2ind(t_sim_sofm_2);


%% 网络神经元分布情况

% 查看网络拓扑学结构

figure

 

plotsomtop(net)

% 查看临近神经元直接的距离情况

figure

 

plotsomnd(net)

% 查看每个神经元的分类情况

figure

 

plotsomhits(net,P_train)

%% 结果对比


% 竞争神经网络

result_compet_1 = [T_train' T_sim_compet_1']

result_compet_2 = [T_test' T_sim_compet_2']

% SOFM神经网络

result_sofm_1 = [T_train' T_sim_sofm_1']

result_sofm_2 = [T_test' T_sim_sofm_2']

读到这里,这篇“matlab如何实现神经网络的分类”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注天达云行业资讯频道。

返回大数据教程...