虹膜数据集的神经网络

时间:2016-10-02 05:07:07

标签: python machine-learning neural-network classification sigmoid

背景:我用Python编写了一个三层神经网络,采用小批量随机梯度下降,专门用于识别来自着名iris data set的三类虹膜植物。输入层有四个神经元,一个用于数据中的每个特征。隐藏层有3个神经元(但代码允许隐藏层神经元数量的变化),输出层有三个神经元(每个物种一个)。所有神经元都使用乙状结肠激活功能。

问题:损失(均方误差)通常会随着时间的推移而降低,但精度(通常低于55.55%甚至33.33%)是停滞不前的。我尝试过尝试不同的纪元迭代次数和学习率,但没有任何效果。有趣的是,无论输入值是什么,算法的输出通常都是固定的。我相当肯定我的数学,因为随着时代数量的增加,损失似乎在减少。

复制问题:只需运行Python代码并观察LEARNING_RESULTS.txt文件即可。 (确保repo中的iris.txt文件位于同一目录中)

问题:如何提高神经网络的性能?

链接到GitHub回购:https://github.com/kwonkyo/neural-networks

谢谢!

更新:问题解决了。我在加权和偏置矩阵中加入一个常数值(微批量矩阵之和的数值和),而不是微批量梯度矩阵的总和。已更新的代码已推送到github。

0 个答案:

没有答案