我有以下数据:

 0 0 0 0 0  0 0
 0 0 0 0 1  0 0
 0 0 0 1 0  0 0
 0 0 0 1 1  0 0
 0 0 1 0 0  0 0
 0 0 1 0 1  0 0
 0 0 1 1 0  0 0
 0 0 1 1 1  1 0
 0 1 0 0 0  0 0
 0 1 0 0 1  0 1
 0 1 0 1 0  0 0
 0 1 0 1 1  1 1
 0 1 1 0 0  0 0
 0 1 1 0 1  1 1
 0 1 1 1 0  1 0
 0 1 1 1 1  1 1
 1 0 0 0 0  0 0
 1 0 0 0 1  0 0
 1 0 0 1 0  0 0
 1 0 0 1 1  1 0
 1 0 1 0 0  0 0
 1 0 1 0 1  1 0
 1 0 1 1 0  1 0
 1 0 1 1 1  1 0
 1 1 0 0 0  0 0
 1 1 0 0 1  1 1
 1 1 0 1 0  1 0
 1 1 0 1 1  1 1
 1 1 1 0 0  1 0
 1 1 1 0 1  1 1
 1 1 1 1 0  1 0
 1 1 1 1 1  1 1


我的意思是将此用作感知器的输入,即:

实现2层Perzeptron(一个输入层,一个输出层)。

Perzeptron必须具有N维的二进制输入X,M维的二进制输出Y和用于实现阈值的BIAS权重。

(N小于101,M小于30),在-0.5≤wn,m≤+0.5之间随机初始化所有权重

进一步实现使用perzeptron学习规则训练Perzeptron的可能性,该规则具有从名为PA-A-train.dat(P小于200)的文件中读取的模式(pX,pY),以及在文件的权重wn,m中。

问题是-我不明白数据-看起来空格后面的数字应该被当作标签,但是-如果是这样,为什么会有两个?标签不应该只有一个吗?

也许有人可以帮助我理解这一点。

最佳答案

神经网络可以具有任意数量的输出神经元。特别是,当一个人没有隐藏层时,训练M输出感知器等效于训练M个二进制感知器。因此,您的数据非常简单-您有M = 2个输出变量,每个变量都是特定输出神经元上的期望值。

关于machine-learning - 使感知器输入数据困惑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33597836/

10-12 21:32