Pybrain神经网络步传递函数

时间:2012-12-18 19:14:03

标签: python machine-learning neural-network pybrain

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

例如。

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

我似乎无法在pybrain.structure.modules找到任何实现?

谢谢

修改

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

1 个答案:

答案 0 :(得分:2)

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

最接近阶梯函数的是像

这样的函数
f(x) = max(-1, min(x, 1))

会剪切x的值以产生介于1和-1之间的值(如果您愿意,可以将其更改为0和1)。

这个函数有一个副衍生词
f'(x) = 1 if -1 < x < 1
        0 otherwise