0

我在 Tom Mitchell 的“机器学习简介”一书中读到了一个项目的想法。该项目是关于确定面部的方向(左、右、下、直)。我使用我自己开发的神经网络,它可以工作(用 XOR、抛物线函数测试......),但不能很好地训练它来正确地确定它们。我得到的最好的情况是 43% 正确,这是相当低的。

以下是该项目的描述:

图像 32 x 30,灰度(我使用 13 个人 x 32 图像用于训练示例和 4 个人 x 32 图像用于测试)。

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

32 x 30 输入单元

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

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

输出:0.2 = 左;0.4 = 下降;0.6 = 正确;0.8 直

学习率 = 动量 = 0.3

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

在 25000 次迭代之后,我仍然只有大约 40% 的正确率。在书中,他们设法获得了 90% 的准确率!

有任何想法吗?

4

1 回答 1

1

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

于 2012-09-05T19:55:11.610 回答