感知器算法/线性回归的基本直觉
basic intuition for perceptron algorithm / linear regression
我正在研究神经网络,我遇到了以下 xorcise(那是个笑话!)问题。
问朋友是否需要实现感知机算法来解决,他说"no- just think about it"。好吧,我想了想,但我的小猴脑只能想出以下几点:
我朋友的话让我觉得这是一个技巧问题,到目前为止我们讨论的唯一技巧是感知器无法执行 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 都在左上角,所有 +1 都在右下角。您可以绘制一条与 (0, -2) 和 (7,3) 相交的线,它给出表达式:
y = 5x/7 - 2
这足以跳过 运行 通过任何算法。
预测 +1 次出现的直线方程由下式给出:
y < 5x/7 - 2
上面的行将二维 space 一分为二。阴影区域在线下方,并且该线向右上方移动。所以对于任意点,你只需要弄清楚它是否在阴影区域(正预测 = +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 不 < 23,预测 returns -1.
2) 绘制 y'=100,所以
100 = 5x/7-2
x = 142.8
线点=(142.8, 100),你的点(35, 100),我们的点在线点的左边,还是落在阴影区域之外。
3) 您甚至可以绘制它并目视检查它是否在阴影区域
重点是必须进行一些计算来检查它是 IN 还是 OUT。这就是线性回归的意义所在。机器应该很容易弄清楚,因为你只是在计算一件事。有了公式后进行预测应该很快。最难的部分是确定直线的公式,我们已经通过绘制点和看到一个明显的解决方案来完成。如果您使用机器学习,在这种情况下需要更长的时间。
我正在研究神经网络,我遇到了以下 xorcise(那是个笑话!)问题。
问朋友是否需要实现感知机算法来解决,他说"no- just think about it"。好吧,我想了想,但我的小猴脑只能想出以下几点:
我朋友的话让我觉得这是一个技巧问题,到目前为止我们讨论的唯一技巧是感知器无法执行 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 都在左上角,所有 +1 都在右下角。您可以绘制一条与 (0, -2) 和 (7,3) 相交的线,它给出表达式:
y = 5x/7 - 2
这足以跳过 运行 通过任何算法。
预测 +1 次出现的直线方程由下式给出:
y < 5x/7 - 2
上面的行将二维 space 一分为二。阴影区域在线下方,并且该线向右上方移动。所以对于任意点,你只需要弄清楚它是否在阴影区域(正预测 = +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 不 < 23,预测 returns -1.
2) 绘制 y'=100,所以
100 = 5x/7-2
x = 142.8
线点=(142.8, 100),你的点(35, 100),我们的点在线点的左边,还是落在阴影区域之外。
3) 您甚至可以绘制它并目视检查它是否在阴影区域
重点是必须进行一些计算来检查它是 IN 还是 OUT。这就是线性回归的意义所在。机器应该很容易弄清楚,因为你只是在计算一件事。有了公式后进行预测应该很快。最难的部分是确定直线的公式,我们已经通过绘制点和看到一个明显的解决方案来完成。如果您使用机器学习,在这种情况下需要更长的时间。