matlab - 训练神经网络 matlab 后的预测

标签 matlab machine-learning neural-network

我是使用 matlab nn 库的新手。我正在寻找 2 类二元分类。如 documentation ,我已经训练了网络。代码outputs = net(inputs)没有给我类标签,而是给我一些 float 。如何获取类标签结果,以便在网格搜索中使用它来优化参数?我正在使用 10 倍交叉验证。

最佳答案

执行分类时使用神经网络执行此操作的传统方法是使用 one-hot encoding 执行此操作。 。为了促进 one-hot 编码,您需要检查哪个神经元给出了最大的响应。无论神经元给你最大的 react 是什么,你都会选择相关的类别标签。例如,在您的两个神经元网络中,如果神经元 1 给出的响应为 0.64,而神经元 2 给出的响应为 0.36,则您提供给神经网络的输入将被分类为标签 1,因为神经元 1 给出的响应最高。

请注意,在神经网络工具箱中,每个示例都位于中,而每个特征位于各层之间的中。因此,对于输出层,第一个神经元的输出位于第一行,第二个神经元的输出位于第二行。

为了方便查找类,我假设您使用命令行函数而不是 GUI,因为这样会更容易:https://www.mathworks.com/help/nnet/gs/classify-patterns-with-a-neural-network.html#f9-26645 。如果您按照本教程进行操作,您的工作区中应该有一个名为 net 的神经网络。只需通过网络转发示例,然后沿着所有列选择每行中最大的一个即可确定每个示例的类别。

假设您的训练、验证或测试数据存储在名为 inputs 的变量中,您的代码将如下所示:

outputs = net(inputs);
[~, classes] = max(outputs, 1);

classes 将是一个 1 x N 数组,其中 N 是您提交到包含类的网络中的示例总数您向网络提供的每个示例。

关于matlab - 训练神经网络 matlab 后的预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42957393/

相关文章:

algorithm - 如何找到稀疏向量的最近邻

numpy - sklearn : get feature names after L1-based feature selection

tensorflow - 多输入深度学习模型中两个输入的平均值

matlab - 在 matlab 中对齐 3d 图中的轴标签

matlab - 在 Matlab 中测量 CPU 时间使用情况(以毫秒为单位)

python - 使matplotlib python中的hexbin填充方轴上的空白区域?

matlab - 比较字符时,ischar(x) && x == 'b' 是否等同于strcmp(x, 'b' )?

machine-learning - 任何用于对象检测/识别的图像注释/标记工具(在Windows平台上)

machine-learning - 使用Weka玩游戏

machine-learning - 使用 BPNN 进行水质管理是否有点矫枉过正?