Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我有一个训练集,它以这种方式输入和输出:
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 我需要实现一个线性层神经网络,它可以代表MATLAB中最好的数据集。在MATLAB中执行该算法的算法是什么? 目标输出对于相应输入所属的特定类别为“ 1”,对于其余2个输出为“ 0”。 回答: 考虑这个训练一个隐藏层(具有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 显然,您需要访问神经网络工具箱。 更多&回答... |
![]() |
![]() |