gpt4 book ai didi

python - pybrain 结果不佳

转载 作者:太空狗 更新时间:2023-10-30 01:02:50 25 4
gpt4 key购买 nike

我想知道我是不是做错了什么,或者结果真的那么差。让我们假设最简单的 NN 示例,如文档中所示:

>>>net = buildNetwork(2, 3, 1, bias=True)
>>> ds = SupervisedDataSet(2, 1)
>>> ds.addSample((0, 0), (0,))
>>> ds.addSample((0, 1), (1,))
>>> ds.addSample((1, 0), (1,))
>>> ds.addSample((1, 1), (0,))
>>> trainer = BackpropTrainer(net, ds)
>>> trainer.trainUntilConvergence()
>>> print net.activate((0,0))
>>> print net.activate((0, 1))
>>> print net.activate((1, 0))
>>> print net.activate((1, 1))

例如

>>> print net.activate((1,0))
[ 0.37855891]
>>> print net.activate((1,1))
[ 0.6592548]

预期为 0。我知道我显然可以四舍五入,但对于这样一个简单的例子,我仍然希望网络更加精确。它在这里可以被称为“工作”,但我怀疑我遗漏了一些重要的东西,因为这是非常不可用的......

问题是,如果您将 verbose=True 设置为您的训练器,您会看到非常小的错误(例如 Total error: 0.0532936260399)

我假设网络的误差是 5%,那么之后的激活函数怎么会差这么多呢?

显然,我将 pybrain 用于更复杂的事情,但我遇到了同样的问题。我得到大约 50% 的测试样本是错误的,即使网络说错误是 0.09 左右。

有什么帮助吗?

最佳答案

可以找到类似的问题here .从那里看来,这个训练函数在这里并不适用,因为并非所有数据都用于训练,而是一些数据用于交叉验证。尝试多次将数据点添加到训练集中。

另外,这个例子似乎需要动量项才能起作用。有一个用 pybrain 训练异或的例子,使用不同的训练方法 here当我将层数设置为 3 时,这对我有用。这使用了 0.99 的动量项。

我会将此作为评论发布,因为它没有完全回答问题,但我没有足够的评论点...

关于python - pybrain 结果不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13134810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com