matlab - 如何在 Matlab 中使用经过训练的神经网络在真实系统中进行分类

标签 matlab machine-learning neural-network classification

我使用 Matlab 神经网络工具箱在包含语音特征和加速计测量的数据集上训练了前馈神经网络。 Targetset 包含数据集的两个目标类:0 和 1。训练、验证和性能都很好,我已经为这个网络生成了代码。

现在我需要实时使用这个神经网络来识别出现的模式,并在我针对之前训练的神经网络测试新数据集时生成 0 或 1。但是当我发出命令时:

   c = sim(net, j)

其中“j”是一个新的数据集[24x11];而不是 0 或 1 我得到这个作为输出(我假设我得到正确分类的百分比但没有分类结果本身):

c =

  Columns 1 through 9

    0.6274    0.6248    0.9993    0.9991    0.9994    0.9999    0.9998    0.9934    0.9996

  Columns 10 through 11

    0.9966    0.9963

那么有什么命令或方法可以让我真正看到分类结果吗?非常感谢任何帮助!谢谢

最佳答案

我不是 matlab 用户,但从逻辑的角度来看,您遗漏了一个重点:

神经网络的输入是单个向量,您传递的是一个矩阵。因此 matlab 认为你想要对一堆向量进行分类(在你的例子中是 11 个)。因此,您获得的向量是这 11 个向量中每个向量的输出激活。

输出激活是一个介于 0 和 1 之间的值(我猜你使用的是 sigmoid),所以这是完全正常的。您的工作是获得最适合您的数据的阈值。您可以通过对训练/测试数据进行交叉验证或仅选择一个(0.5?)来获得此阈值,然后查看结果是否“好”并在需要时进行修改。

关于matlab - 如何在 Matlab 中使用经过训练的神经网络在真实系统中进行分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14163430/

相关文章:

python - 在CNN代码中添加图像增强功能以​​提高准确性

python - 使用 Keras 和 TensorFlow 获取受众洞察

python - 通过全批量训练将字母图像训练到神经网络

Tensorflow 无法将手动创建的模型与使用层 api 的模型相协调

matlab - 为什么 Octave 或 Matlab 不使用 %(百分比符号)作为模运算符

c++ - 两个如何将matlab中的以下行转换为c++

python - 从标签编码器获取标签映射

matlab - 在 MATLAB R2015b 中使用神经网络预测金融时间序列(实际输出与预测输出之间的滞后)

matlab - 使用 MATLAB 的互联网连接状态

matlab - 最简单的是共享用 MatLab 编写的小组项目代码