我正在尝试训练人工神经网络进行分类。在输入层,我有 402 个神经元;前 400 个是二进制的,后两个是 -1 到 1 范围内的浮点数。在隐藏层中,我有 400 个神经元,在输出层中,我有一个节点,我想表示介于 -1 和1.
我尝试使用我在网上找到的反向传播的矢量化实现来训练这个网络(我尝试了不同的实现,并且我自己也实现了一个)。我的问题是,我的网络似乎没有学到很多东西。如果我的学习率高于 0.0001 左右,我就会遇到麻烦,并很快进入局部最小值,而学习率较低时,学习(显然)非常非常慢。
我可以训练尽可能多的数据,所以这不是问题,但当然时间是有限的,所以我希望能够在合适的时间内训练这个网络。
您是否对可能出了什么问题有任何直觉,或者需要多少数据来训练这个权重约为 160.000 的网络?
如果相关,我可以上传一些数据。
由于 Martin 的评论,这里是不同数量的隐藏神经元的一些学习统计数据:Google Docs Spreadsheet
我观察到的另一件事是,对于我的数据集,0.3 的恒定输出将导致 SSE 约为 160,所以我绝对希望低于这个 SSE。