![]() |
使用MATLAB的神经网络
我有一个训练集,它以这种方式输入和输出:
Input: 0.832 64.643 0.818 78.843 1.776 45.049 0.597 88.302 1.412 63.458 1.468 49.535 1.985 33.387 2.073 30.279 1.431 55.231 1.116 68.521 1.617 44.362 2.159 66.512 Output: 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 0 1 0 我需要实现一个线性层神经网络,它可以代表[URL="http://en.wikipedia.org/wiki/MATLAB"]MATLAB中[/URL]最好的数据集。在MATLAB中执行该算法的算法是什么? 目标输出对于相应输入所属的特定类别为“ 1”,对于其余2个输出为“ 0”。 [B]回答:[/B] 考虑这个训练一个隐藏层(具有3个节点)的前馈ANN的示例。由于您的数据似乎具有比输入更多的输出点,因此我使用的是演示数据集,但想法是相同的: %# load sample data laod simpleclass_dataset input = simpleclassInputs; %# 2x1000, 2-dimensional points output = simpleclassTargets; %# 4x1000, 4 classes %# split data into training/testing sets trainInd = 1:500; testInd = 501:1000; %# create ANN and initialize network weights net = newpr(input, output, 3); net = init(net); net.trainParam.epochs = 25; %# max number of iterations %# learn net weights from training data net = train(net, input(:,trainInd), output(:,trainInd)); %# predict output of net on testing data pred = sim(net, input(:,testInd)); %# classification confusion matrix [err,cm] = confusion(output(:,testInd), pred); 输出为: err = 0.075075 cm = 81 0 0 0 0 82 0 0 9 0 52 16 0 0 0 93 显然,您需要访问神经网络工具箱。 [url=https://stackoverflow.com/questions/3429290]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 01:05。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.