2

有人可以告诉我如何在 pybrain 中实现步进激活功能吗?

例如。

def stepActivationFunction(n):
    if n > 0.5: return 1.
    else: return 0.

我似乎在pybrain.structure.modules中找不到任何实现?

谢谢

编辑

我现在明白您可以扩展 pybrain 并创建自己的图层。但是,我仍然不确定如何根据文档执行此操作。有人可以向我展示如何创建一个实现步进激活功能的层的示例吗?

4

1 回答 1

2

如果您想在经过反向传播训练的多层网络中使用它,那么这是不可能的。阶跃函数不可()可微,这是反向传播算法的要求。

最接近阶梯函数的函数是

f(x) = max(-1, min(x, 1))

它会裁剪 的值x以生成介于 1 和 -1 之间的值(如果您愿意,可以将其更改为 0 和 1)。这个函数有一个微分

f'(x) = 1 if -1 < x < 1
        0 otherwise
于 2012-12-20T14:05:03.970 回答