一个简单的BP神经网络源码程序 - matlab算法设计 - 谷速源码
下载频道> 资源分类> matlab源码> 算法设计> 一个简单的BP神经网络源码程序

标题:一个简单的BP神经网络源码程序
分享到:

所属分类: 算法设计 资源类型: 文件大小: 1.26 KB 上传时间: 2016-01-25 19:28:24 下载次数: 9 资源积分:1分 提 供 者: xiaopeng2 一个简单的BP神经网络源码程序
内容:
一个简单的BP神经网络源码程序,程序员在编程的过程中可以参考学习使用,希望对IT程序员有用,此源码程序简单易懂、方便阅读,有很好的学习价值!
clc;  
clear;  
%%
fprintf('-BP网络用于模式分类-\n')
 
% 产生训练样本,每一列为一个样本
fprintf('随机产生训练样本(15组):\n');
P1 = [rand(3,5)+1,rand(3,5)+1,rand(3,5)+2]       %生成随机数作为训练样本
fprintf('期望输出:\n');
T1 = [repmat([1;0;0],1,5),repmat([0;1;0],1,5),repmat([0;0;1],1,5)]
 
 
% 产生测试样本,每一列为一个样本
fprintf('随机产生测试样本(15组):\n');
P2 = [rand(3,5),rand(3,5)+1,rand(3,5)+2]       %生成随机数作为测试样本
fprintf('测试样本期望输出:\n');
T2 = [repmat([1;0;0],1,5),repmat([0;1;0],1,5),repmat([0;0;1],1,5)]
 
%%
 
xn_train = P1;          % 训练样本
dn_train = T1;          % 训练目标
xn_test = P2;           % 测试样本
dn_test = T2;           % 测试目标
 
 
NodeNum = 10;           % 隐层节点数 
TypeNum = 3;            % 输出维数
p1 = xn_train;          % 训练输入
t1 = dn_train;          % 训练输出
Epochs = 1000;          % 训练次数
P = xn_test;            % 测试输入 
T = dn_test;            % 测试输出(真实值)
 
 
% 判别函数
TF1 = 'logsig';TF2 = 'purelin';
net = newff(minmax(p1),[NodeNum TypeNum],{TF1 TF2},'trainlm');
 
net.trainParam.show = 1;            % 训练显示间隔
net.trainParam.lr = 0.3;            % 学习步长 - traingd,traingdm
net.trainParam.mc = 0.95;           % 动量项系数 - traingdm,traingdx
net.trainParam.mem_reduc = 10;      % 分块计算Hessian矩阵(仅对Levenberg-Marquardt算法有效)
net.trainParam.epochs = 1000;       % 最大训练次数
net.trainParam.goal = 1e-8;         % 最小均方误差
net.trainParam.min_grad = 1e-20;    % 最小梯度
net.trainParam.time = inf;          % 最大训练时间
 
%%
% 训练与测试
fprintf('开始训练......\n');
net = train(net,p1,t1);             % 训练
fprintf('开始测试......\n');
X = sim(net,P);                     % 测试 - 输出为预测值
fprintf('网络的实际输出结果显示:\n');
X = full(compet(X))                 % 竞争输出
 
%---------------------------------------------------
% 结果统计
 
fprintf('测试样本正确分类的显示为1,错误为0:\n');
Result = ~sum(abs(X-T2))                % 正确分类显示为1
Percent = sum(Result)/length(Result);   % 正确分类率
fprintf('正确分类率:%f\n',Percent);
 

文件列表(点击上边下载按钮,如果是垃圾文件请在下面评价差评或者投诉):

一个简单的BP神经网络源码程序/
一个简单的BP神经网络源码程序/bp.m

关键词: 神经网络 源码 程序

Top_arrow
回到顶部
联系方式| 版权声明| 招聘信息| 广告服务| 银行汇款| 法律顾问| 兼职技术| 付款方式| 关于我们|
网站客服网站客服 程序员兼职招聘 程序员兼职招聘
沪ICP备19040327号-3
公安备案号:沪公网安备 31011802003874号
库纳格流体控制系统(上海)有限公司 版权所有
Copyright © 1999-2014, GUSUCODE.COM, All Rights Reserved