快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

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://6mz.cn/article/pcejoe.html

其他资讯