【问题标题】:Matlab Testing a trained neural networkMatlab 测试训练有素的神经网络
【发布时间】:2018-09-19 06:52:18
【问题描述】:

我有一个训练样本集和相应的目标。目标是 7 个不同的类。

net = patternnet(10);
[net,tr] = train(net,samples.',targets.');

%samples is 200x7 and targets is 200x1

test = net([0;1;1;1;1;0;1])

现在,当我执行最后一行时,我希望 test 保存网络将输入 [0;1;1;1;1;0;1] 分类为的类的值。但我得到的只是一个奇怪的十进制值,而不是在“目标”中输入的值之一(它们是 1、2、3、4、5、6 或 7)。我做错了什么?

【问题讨论】:

    标签: matlab neural-network classification


    【解决方案1】:

    patternnet 文档说

    模式识别网络的目标数据应该由除元素 i 中的 1 之外的所有零值的向量组成,其中 i 是它们要表示的类。

    因此,targets 应该是一个大小为 200x7 的数组,其中 7 是类的数量。除第 i 行(其中 i 是类的索引)外,每一列都应由零组成。

    您可以使用ind2vec 函数将targets 转换为所需的形式。

    【讨论】:

      猜你喜欢
      • 2014-02-24
      • 2018-10-30
      • 2010-11-20
      • 1970-01-01
      • 2017-08-14
      • 1970-01-01
      • 2015-08-13
      • 2020-05-20
      • 2012-12-04
      相关资源
      最近更新 更多