在单个感知器的情况下 - 文献表明它不能用于分离像 XOR 函数这样的非线性判别情况。这是可以理解的,因为一条线(在二维中)的 VC 维度是 3,因此一条二维线不能像 XOR 那样区分输出。
但是,我的问题是为什么单感知器中的评估函数应该是线性阶跃函数?很明显,如果我们有一个像 sigmoid 这样的非线性评估函数,这个感知器就可以区分 XOR 的 1 和 0。那么,我在这里遗漏了什么吗?
最佳答案
if we have a non-linear evaluating function like a sigmoid, this perceptron can discriminate between the 1s and 0s of XOR
这根本不是真的。判别标准不是线的形状(或更高维度的超平面),而是函数是否允许 linear separability .
没有单个函数可以生成能够分离异或函数点的超平面。图像中的曲线将点分开,但它不是函数。
要分隔 XOR 的点,您必须使用至少 两行(或任何其他形状函数)。这将需要两个独立的感知器。然后,您可以使用第三个感知器根据符号分离中间结果。
关于algorithm - 单感知器 - 非线性评估函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9600888/