物流功能错误分类

时间:2017-01-11 19:42:39

标签: python numpy activation-function

我在尝试将XOR逻辑功能教给神经网络时遇到了麻烦。我已经使用双曲正切和ReLU作为激活函数训练了网络成功的结果(关于ReLU,我知道它不适合这类问题,但我还是想测试它) 。不过,我无法使其与logistic function一起使用。我对该函数的定义是:

def logistic(data):
    return 1.0 / (1.0 + np.exp(-data))

及其衍生物:

def logistic_prime(data):
    output = logistic(data)
    return output * (1.0 - output)

其中np NumPy 导入包的名称。由于XOR逻辑使用的是0&1和1,因此逻辑函数应该是适当的激活函数。尽管如此,我得到的结果在所有情况下都接近0.5,即0和1的任何输入组合产生接近0.5的值。我所说的是否有任何错误?

请不要犹豫,要求我提供更多背景信息或更多代码。提前谢谢。

1 个答案:

答案 0 :(得分:1)

我和你有同样的问题。 当数据不能被线性超平面划分时,就会出现问题。 尝试训练数据:

X = [[-1,0],[0,1],[1,0],[0,-1]]
Y = [1,0,1,0]

如果你在坐标上绘制它,那么你会很好,它不是线性可分割的。 在物流上训练它,参数都接近0,结果接近0.5。

另一个线性可分的例子是使用Y = [1,1,0,0] 和后勤工作。