machine-learning - 如何表示神经网络的期望输出以便与实际输出进行比较?

标签 machine-learning neural-network

神经网络学习近似所需的输出,因此可以使用未知的测试集并根据其各自的类别对每个测试示例进行分类。例如,神经网络可以学习对手写数字进行分类,并将手写体“9”识别为值 9。

神经网络如何将训练样本的输出与期望的输出进行比较?神经网络结构中所需的输出采用什么编码?

最佳答案

主要思想是,您不会为所有内容创建一个输出并询问它“这是什么数字??”。您为每个数字创建一个输出,然后询问每个输出“这个数字是 x 吗?”。

因此,所需的输出必须使用 1Xn 向量进行编码,其中 n 是类的数量。所有值都将为 0,与所需类别对应的值将为 1。例如,在您的情况下,创建一个 1X10 向量,并将零编码为

[1 0 0 0 0 0 0 0 0 0]

一个为

[0 1 0 0 0 0 0 0 0 0]

九为

[0 0 0 0 0 0 0 0 0 1]

对于实际输出,创建一个具有 10 个输出的感知器。每个输出都会给出 [0,1] 中的一个值。具有最大值的输出获胜,并被视为1,而所有其他的都被视为0。所以,如果你的网络的输出是

[0.1 0.05 0.02 0.92 0.4 ....]

这些对应于数字 [0 1 2 3 4 ..] 的投票,因此分类器建议的数字是 3

关于machine-learning - 如何表示神经网络的期望输出以便与实际输出进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26489606/

相关文章:

tensorflow - Stateful LSTM Tensorflow Invalid Input_h Shape Error

tensorflow - 如何在 TensorBoard 中解释 "Value Loss"图表?

r - Caret Package with "nnet"查看隐藏层的权重

r - 实现 Izhikevich 神经元模型

python - tensorflow 的非线性回归

python - Tensorflow实践 y = xw 如何初始化向量x?

r-caret:具有 n 维输出的自定义模型

machine-learning - 无限大训练集的正则化?

machine-learning - 调用向后时 nn.CDivTable 抛出错误是否有正当理由?

image-processing - 用激光射击毛毛虫的神经网络和图像处理