Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 逻辑函数误分类_Python_Numpy_Activation Function - Fatal编程技术网

Python 逻辑函数误分类

Python 逻辑函数误分类,python,numpy,activation-function,Python,Numpy,Activation Function,我很难教神经网络XOR逻辑函数。我已经使用双曲正切和ReLU作为激活函数成功地训练了网络(关于ReLU,我知道它不适合这种问题,但我仍然想测试它)。尽管如此,我还是不能让它和你一起工作。我对该函数的定义是: def logistic(data): return 1.0 / (1.0 + np.exp(-data)) 及其衍生物: def logistic_prime(data): output = logistic(data) return output * (1.0

我很难教神经网络XOR逻辑函数。我已经使用双曲正切和ReLU作为激活函数成功地训练了网络(关于ReLU,我知道它不适合这种问题,但我仍然想测试它)。尽管如此,我还是不能让它和你一起工作。我对该函数的定义是:

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导入的包指定的名称。由于异或逻辑使用的是0和1,逻辑函数应该是适当的激活函数。尽管如此,我得到的结果在所有情况下都接近0.5,即0和1的任何输入组合的结果都接近0.5。我说的有错误吗


请不要犹豫,向我询问更多上下文或更多代码。提前谢谢。

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

X = [[-1,0],[0,1],[1,0],[0,-1]]
Y = [1,0,1,0]
如果你把它画在坐标上,你会发现它不是线性可分的。 对其进行逻辑训练,参数均接近0,结果接近0.5

另一个可线性划分的示例是use
Y=[1,1,0,0]

和逻辑工作。

您可以将
logistic(data)
的输出分配给
logistic\u prime
中的局部变量,并使用它两次,而不是实际调用函数两次。这与你的问题无关,但至少训练会更快失败。