python - Pybrain 神经网络阶跃传递函数

标签 python machine-learning neural-network pybrain

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

例如。

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

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

谢谢

编辑

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

最佳答案

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

最接近的阶跃函数是这样的函数

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

它会剪辑 x 的值以生成 1 到 -1 之间的值(如果您愿意,可以将其更改为 0 和 1)。该函数有一个导数

f'(x) = 1 if -1 < x < 1
        0 otherwise

关于python - Pybrain 神经网络阶跃传递函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13939865/

相关文章:

python - 为什么 Python 仍在垃圾收集我的 Tkinter 图像?

Python Django REST API 测试

statistics - 非独立同分布数据示例

python - 在具有大量噪声的二值图像上检测圆形形状

python-3.x - 如何在 Tensorflow 2.0 中计算输出 wrt 输入的梯度

r - 在 R 中使用 frbs.learn() 训练 ANFIS 模型时出错

python - 使用 list.count 就地使用 .sort() 对列表进行排序不起作用。为什么?

python - OpenCV 人脸检测在 Raspberry Pi 上很慢

machine-learning - K表示多维数据的聚类

python - 使用 PyTorch 实现自定义数据集