matlab调用神经网络工具箱实现神经网络以手写数字识别为例

该博客介绍了如何利用MATLAB的神经网络工具箱进行手写数字识别。通过加载训练数据,将0-9的数字转换为向量,然后设置网络结构,选择正切和线性激活函数,并应用共轭梯度法进行训练。经过200次迭代和精度目标设置,最终完成训练并评估了训练集的准确性。
摘要由CSDN通过智能技术生成

matlab调用神经网络工具箱实现神经网络示例

以下是调用神经网络工具箱实现手写数字识别的代码

intput=400;
hidden=50;
output=10;
% Load Training Data

load('data.mat');

m = size(X, 1);
X=X';


% convert y(0-9) to vector
c = 1:output;
yt = zeros(output,m); 
for i = 1:m
    yt(:,i) = (c==y(i));   
end    



P=X;%神经网络输入
T=yt;%神经网络输出目标
%定义神经网络,采用正切和线性激活函数,采用powell-beale共轭梯度法
net=newff(P,T,[50],{'tansig' 'purelin'} ,'traincgb');


net.trainParam.epochs=200;%迭代200次
net.trainParam.goal=1e-5;

[net,tr]=train(net,P,T);%训练网络
yp=sim(net,X);%仿真预测
yp=yp';

[d, p] = max(yp, [], 2);%返回最大值索引

fprintf('\nTrainning Set Accuracy: %f\n', mean(double(p == y)) * 100);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值