有人可以告诉我如何在 pybrain 中实现步进激活功能吗?
例如。
def stepActivationFunction(n):
if n > 0.5: return 1.
else: return 0.
我似乎在pybrain.structure.modules中找不到任何实现?
谢谢
编辑
我现在明白您可以扩展 pybrain 并创建自己的图层。但是,我仍然不确定如何根据文档执行此操作。有人可以向我展示如何创建一个实现步进激活功能的层的示例吗?
有人可以告诉我如何在 pybrain 中实现步进激活功能吗?
例如。
def stepActivationFunction(n):
if n > 0.5: return 1.
else: return 0.
我似乎在pybrain.structure.modules中找不到任何实现?
谢谢
编辑
我现在明白您可以扩展 pybrain 并创建自己的图层。但是,我仍然不确定如何根据文档执行此操作。有人可以向我展示如何创建一个实现步进激活功能的层的示例吗?
如果您想在经过反向传播训练的多层网络中使用它,那么这是不可能的。阶跃函数不可(子)可微,这是反向传播算法的要求。
最接近阶梯函数的函数是
f(x) = max(-1, min(x, 1))
它会裁剪 的值x
以生成介于 1 和 -1 之间的值(如果您愿意,可以将其更改为 0 和 1)。这个函数有一个微分
f'(x) = 1 if -1 < x < 1
0 otherwise