神经网络训练效果不佳

我在汤姆·米切尔的《机器学习导论》一书中读到一个项目构想。这个项目是关于确定面部朝向(左、右、下、正前方)。我使用了自己开发的神经网络,这个网络是有效的(已经用异或、抛物线函数等进行了测试),但无法训练得足够好以正确确定面部朝向。我得到的最好结果是43%的正确率,这相当低。

以下是项目的描述:

图像尺寸为32 x 30,灰度图(我使用了13个人,每人32张图像作为训练样本,4个人,每人32张图像作为测试样本)。

神经网络:3层 – 输入层、隐藏层、输出层

32 x 30个输入单元

3个隐藏单元,使用Sigmoid作为传递函数

1个输出单元,使用线性作为传递函数。

输出:0.2 = 左;0.4 = 下;0.6 = 右;0.8 = 正前方

学习率 = 动量 = 0.3

权重和偏置被设置为随机的小值。

经过25000次迭代后,正确率仍然只有约40%。书中他们达到了90%的准确率!

有什么建议吗?


回答:

在@ffriend的评论之后,一切都变得非常顺利。我使用了4个输出神经元,准确率超过了90%。如果我在隐藏层中使用更多的神经元,误差会更小,但程序需要更多的时间来运行网络和进行反向传播。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注