BP网络工具怎么用

发布时间:2021-12-29 14:05:02 作者:柒染
来源:亿速云 阅读:174

BP网络工具怎么用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用梯度下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。

神经网络可以用作分类、聚类、预测等。神经网络需要有一定量的历史数据,通过历史数据的训练,网络可以学习到数据中隐含的知识。


%% 清理

clear,clc

rng('default')

rng(2)


%% 读入数据

xlsfile='student.xls';

[data,label]=getdata(xlsfile);


%% 划分数据

[traind,trainl,testd,testl]=divide(data,label);


%% 创建网络

net=feedforwardnet(3);

net.trainFcn='trainbfg';


%% 训练网络

net=train(net,traind',trainl);

BP网络工具怎么用  

%% 测试

test_out=sim(net,testd');

test_out(test_out>=0.5)=1;

test_out(test_out<0.5)=0;

rate=sum(test_out==testl)/length(testl);

% 正确率90%

BP网络工具怎么用  

上图是训练样本的分布情况,可以看出不同分类之间交错重合部分较多,而且比较密

BP网络工具怎么用  

这是通过隐藏层变换之后的样本分布情况,变换后的样本仍有交错重合的部分,但是距离已经被拉大,可以找到一条直线近似将两类样本分隔开

BP网络工具怎么用  

这是输出层变换之后的样本分布,可以看到不同类别的样本比较明显的分隔开,一条直线分隔开的正确率达到90%

%% 显示三次样本分布

% 显示训练样本

train_m = traind(trainl==1,:);

train_m=train_m';

train_f = traind(trainl==0,:);

train_f=train_f';

figure(1)

plot(train_m(1,:),train_m(2,:),'bo');

hold on;

plot(train_f(1,:),train_f(2,:),'r*');

xlabel('身高')

ylabel('体重')

title('训练样本分布')

legend('男生','女生')


%% 隐藏层变换样本

hidden_tran = cell2mat(net.iw);

train_m=hidden_tran * train_m + net.b{1};

train_f=hidden_tran * train_f + net.b{1};

figure(2)

plot(train_m(1,:),train_m(2,:),'bo');

hold on;

plot(train_f(1,:),train_f(2,:),'r*');

xlabel('身高')

ylabel('体重')

title('隐藏层变换样本分布')

legend('男生','女生')


%% 输出层变换样本

layout_tran = cell2mat(net.lw);

train_m=layout_tran * train_m + net.b{2};

train_f=layout_tran * train_f + net.b{2};

figure(3)

plot(train_m(1,:),'bo');

hold on;

plot(train_f(1,:),'r*');

xlabel('身高')

ylabel('体重')

title('输出层变换样本分布')

legend('男生','女生')


这里的网络是简单的,如果设计出复杂的网络,就可以实现下面这样的变换

BP网络工具怎么用  

变换前

BP网络工具怎么用  

变换后

BP网络工具怎么用  

变换前

BP网络工具怎么用  

变换后

BP网络工具怎么用  

帮你学MatLab

微信号:MatLab_helper
     BP网络工具怎么用    

看完上述内容,你们掌握BP网络工具怎么用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. BP3认识首页
  2. 用Python实现BP神经网络(附代码)

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

bp

上一篇:以太坊智能合约设计模式怎么实现

下一篇:负载均衡有什么用

相关阅读

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

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