我有以下数据:
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的可能性,其中模式(pX,pY)已从名为PA-A-train.dat的文件中读取(P应小于200) ,并且可以从文件中读取权重wn,m。
事情是 - 我不理解数据 - 看起来空格后面的数字应该是标签,但是 - 如果是这样,为什么有两个?标签不应只有一个吗?
也许有人可以帮助我理解这一点。
答案 0 :(得分:1)
神经网络可以有任意数量的输出神经元。特别是,当一个没有隐藏层时,训练M输出感知器相当于训练M二进制感知器。因此,您的数据非常简单 - 您有M = 2个输出变量,每个变量都是特定输出神经元的预期值。