网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

BP网络工具怎么用

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

我们提供的服务有:网站设计制作、成都网站建设、微信公众号开发、网站优化、网站认证、望谟ssl等。为千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的望谟网站制作公司

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网络工具怎么用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


名称栏目:BP网络工具怎么用
网站路径:http://bjjierui.cn/article/pcejoe.html

其他资讯