我正在尝试训练一个 ANN(我使用这个库: http: //leenissen.dk/fann/),结果有些令人费解——基本上,如果我在用于训练的相同数据上运行经过训练的网络,输出是不是训练集中指定的,而是一些随机数。
例如,训练文件中的第一个条目类似于
88.757004 88.757004 104.487999 138.156006 100.556000 86.309998 86.788002
1
第一行是输入值,第二行是所需的输出神经元的值。但是当我将完全相同的数据提供给经过训练的网络时,每次训练尝试都会得到不同的结果,并且它们与 1 完全不同,例如:
Max epochs 500000. Desired error: 0.0010000000.
Epochs 1. Current error: 0.0686412785. Bit fail 24.
Epochs 842. Current error: 0.0008697828. Bit fail 0.
my test result -4052122560819626000.000000
然后再次尝试:
Max epochs 500000. Desired error: 0.0010000000.
Epochs 1. Current error: 0.0610717005. Bit fail 24.
Epochs 472. Current error: 0.0009952184. Bit fail 0.
my test result -0.001642
我意识到训练集的大小可能不足(到目前为止我只有大约 100 个输入/输出对),但至少训练数据不应该触发正确的输出值吗?相同的代码适用于 FANN 网站上描述的“入门”XOR 函数(我已经用完了我的 1 个链接限制)