matlab的神经网络工具箱
2016-02-26 14:09
549 查看
BP神经网络的入门文章可以参考这篇博客/article/4791650.html
对于matlab神经网络工具箱中的性能函数performFcn 可以使用 doc network
对于训练参数可以使用 doc traingdx
代码如下所示
结果如图所示
上图是分类器的效果、绿色表示分类器的分类结果和测试数据的label一致;红色表示两者结果不一致。红色区域内的百分数越小,说明分类器结果的误差越小,分类结果越好。如果误差过大,则需要增加样本再行训练或者增加隐含层的神经元个数。
对于net.trainParam.max_fail的意义可以参考/article/1936798.html
对于matlab的神经网络工具箱的强大功能,这里只是冰山一角,对于工具箱里其他很多概念的解释都是不清楚的。。。还需要加油呀!!!
对于matlab神经网络工具箱中的性能函数performFcn 可以使用 doc network
对于训练参数可以使用 doc traingdx
代码如下所示
matrix = [ 0 1 1 1 0 1 1 1 0 1 1 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 0] %% 输入数据变换 input = matrix(:,1:end-1); target = matrix(:,end); input=input'; target=target'; target=full(ind2vec(target+1)); %设置随机种子 setdemorandstream(pi) %% 新建BP神经网络,并设置参数 % net = feedforwardnet(10); %使用含有一层隐含层的模型,隐含层有10个神经元。调用Matlab的patternnet函数 %patternnet函数的参数有(hiddenSizes,trainFcn,performFcn)三个。hiddenSizes默认值是10 %可以用数组表示多个隐含层。trainFcn默认值是‘trainscg’,performFcn默认是‘crossentropy’。 %如果想要有两个隐含层,每层的神经元都是10个,则可以写成net = patternnet([10,10]) ; net = patternnet(10); net.trainParam.epochs=1000; %最大训练次数(缺省值为10) net.trainParam.show=25;%显示训练迭代过程(NaN表示不显示,缺省为25),每25次显示一次 net.trainParam.showCommandLine=0;%显示命令行(默认值是0) 0表示不显示 net.trainParam.showWindow=1; %显示GUI(默认值是1) 1表示显示 net.trainParam.goal=0;%训练要求精度(缺省为0) net.trainParam.time=inf;%最大训练时间(缺省为inf) net.trainParam.min_grad=1e-6;%最小梯度要求(缺省为1e-10) net.trainParam.max_fail=5;%最大失败次数(缺省为5) net.performFcn='mse';%性能函数 % 训练神经网络模型 net= train(net,input,target); disp('BP神经网络训练完成!'); %% 使用训练好的BP神经网络进行预测 y= sim(net,input); plotconfusion(target,y); disp('预测完成!');
结果如图所示
上图是分类器的效果、绿色表示分类器的分类结果和测试数据的label一致;红色表示两者结果不一致。红色区域内的百分数越小,说明分类器结果的误差越小,分类结果越好。如果误差过大,则需要增加样本再行训练或者增加隐含层的神经元个数。
对于net.trainParam.max_fail的意义可以参考/article/1936798.html
对于matlab的神经网络工具箱的强大功能,这里只是冰山一角,对于工具箱里其他很多概念的解释都是不清楚的。。。还需要加油呀!!!
相关文章推荐
- Xcode7 使用NSURLSession发送HTTP请求的问题
- 用httpPost对JSON发送和接收的例子
- JavaWeb学习总结(二)——Tomcat服务器学习和使用(一) http://www.cnblogs.com/xdp-gacl/p/3734395.html
- TCP首部格式
- http请求头和响应头
- http://www.mxchip.com/talk/news/jishuwenzhang/2014-09-11/67.html
- iOS下的实际网络连接状态检测
- 鸟哥的Linux私房菜(服务器)- 第十八章、网络驱动器装置: iSCSI 服务器
- nginx配置https
- OkHttp 使用指南(四)--Recipes
- 网络视频解决方案
- OKHttp使用简介
- [Android Studio导入第三方类库方法] Error:(19, 23) 错误: 程序包org.apache.http不存在
- iOS开发——网络编程OC篇&Socket编程
- 计算机网络——2.网络硬件设备工作原理
- 【网络】Http深入Cookie系列
- iOS网络缓存扫盲篇--使用两行代码就能完成80%的缓存需求
- NFS网络共享服务部署
- XUtils的简单使用
- Windows最常用的8个网络CMD命令总结