温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

matlab如何实现神经网络的分类

发布时间:2022-01-14 10:29:02 来源:亿速云 阅读:599 作者:iii 栏目:大数据

本文小编为大家详细介绍“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;

% 训练网络

matlab如何实现神经网络的分类  

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;

% 训练网络

matlab如何实现神经网络的分类  

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

matlab如何实现神经网络的分类  

plotsomtop(net)

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

figure

matlab如何实现神经网络的分类  

plotsomnd(net)

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

figure

matlab如何实现神经网络的分类  

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如何实现神经网络的分类”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI