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

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注