问题:是否可以仅使用数字本身作为输入来训练 NN 来区分奇数和偶数?
我有以下数据集:
Number Target
1 0
2 1
3 0
4 1
5 0
6 1
... ...
99 0
100 1
我使用非常简单的遗传算法训练了一个带有两个输入神经元(一个是变量 Number,另一个是偏置神经元)、隐藏层中的九个神经元和一个输出神经元的 NN:在每个时期,两组权重“战斗” "互相反对;错误最高的人输了,取而代之的是获胜者的修改版本。
该脚本可以轻松解决 AND、OR 和 XOR 运算符等简单问题,但在尝试对奇数和偶数进行分类时遇到困难。目前它所能做的最好的事情是从 100 个数字中识别出 53 个数字,这需要几个小时。我是否对输入进行规范化似乎没有任何区别。
如果我想作弊,我可以对数据进行预处理并将 % 2 作为输入提供给 NN,但我不想这样做;NN 应该能够逼近每个函数,包括模运算符(我相信)。我究竟做错了什么?