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

时间:2014-10-21 14:48:06

标签: machine-learning neural-network

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

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

1 个答案:

答案 0 :(得分:3)

主要的想法是你不为每件事创造一个单一的输出并且问它"这是什么数字?"。您为每个数字创建一个输出,并且您要求每个数字"是这个数字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