感知器算法/线性回归的基本直觉

时间:2015-10-23 16:23:21

标签: machine-learning neural-network xor perceptron

我正在研究神经网络,我遇到了以下 xor cise(这是一个笑话!)问题。

我问我的朋友我是否需要实施感知器算法来解决它,他说“不 - 只是想一想”。好吧,我想到了,但是我的小猴脑只能想出以下内容:

我的朋友们的话让我觉得这是一个棘手的问题,到目前为止我们讨论的唯一技巧是感知器无法进行XOR功能。

这就是问题所在吗?

如何解决这个问题?...

A simple Perzeptron with two inputs x₁, x₂,  
BIAS, and transfer function y = f(z) = sgn(z), 
separates the two dimensional input space into 
two parts with help of a line g. 

Calculate for this Perzeptron the weights 
w1, w2, wb, so that the line separates 
the given 6 patterns (pX1, pX2; Py) into 
two classes:

1X = (0,  0;  -1), 
2X = (2, -2; +1), 
3X = (7 + ε, 3 - ε; +1), 
4X = (7  -  ε, 3 + ε; -1), 
5X = (0, -2 - ε; +1), 
6X = (0 - ε, -2; -1), 


Remark: 0 < ε << 1. 

1 个答案:

答案 0 :(得分:2)

如果您绘制点图,您会看到所有-1都位于左上角,所有+ 1位于右下角。您可以绘制一条相交(0,-2)和(7,3)的线,它为您提供表达式:

y = 5x/7 - 2

足以跳过任何算法。

预测+1出现的线的等式由下式给出:

y < 5x/7 - 2 

上面的线将二维空间分成两部分。阴影区域低于线条,线条向上和向右。因此,对于任意点,您只需要确定它是否在阴影区域(正预测= +1)。

说,(pX1,pX2)=(35,100),

1)一种方法是将pX1插回公式中(对于x'= pX1)以找到该行上最接近的部分(其中y = 5x / 7-2):

y' = 5(35)/7 - 2
y' = 23

由于该线上的点是(35,23)并且我们感兴趣的点是(35,100),所以它在线上方。换句话说,pX2不是&lt; 23,预测返回-1。

2)绘制y'= 100,所以

100 = 5x/7-2 
x = 142.8

线点=(142.8,100),你的点(35,100),我们的点位于线点的左边,它仍然落在阴影区域之外。

3)您甚至可以绘制图形并直观地检查它是否在阴影区域

关键是必须进行一些计算以检查它是IN还是OUT。这是线性回归的要点。机器弄清楚应该很简单,因为你只是计算一件事。一旦你有你的公式预测应该很快。最难的部分是确定线的公式,我们已经通过绘制点并看到明显的解决方案来完成。如果您使用机器学习,则在这种情况下需要更长的时间。