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

我在研究神经网络时,遇到了以下一个关于xor的练习题(这是一个玩笑!)。

我问我的朋友是否需要实现感知器算法来解决这个问题,他说“不需要——只要思考一下就好”。我确实思考了,但我的小猴子大脑只能想到以下这些:

我朋友的话让我觉得这是一个 trick 问题,而我们到目前为止讨论过的唯一 trick 就是感知器无法执行 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 

上面的线将二维空间分成两部分。阴影区域位于线的下方,线向右上方延伸。因此,对于任意一点,你只需要判断它是否在阴影区域内(正预测 = +1)。

假设,(pX1, pX2) = (35, 100),

1) 一种方法是将 pX1 代入公式(对于 x’ = pX1)以找到线上最接近的点(其中 y=5x/7-2):

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

由于线上的点是(35, 23),而我们感兴趣的点是(35, 100),它位于线的上方。换句话说,pX2 不是 < 23,预测结果为 -1。

2) 设 y’=100,因此

100 = 5x/7-2 x = 142.8

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

3) 你甚至可以绘制图形并视觉检查它是否在阴影区域内

关键是必须进行一些计算来检查它是“在”还是“不在”。这就是线性回归的意义所在。对于机器来说,这应该非常简单,因为你只需要计算一件事。一旦你有了公式,预测应该很快。最难的部分是确定线的公式,我们已经通过绘制点并看到一个明显的解决方案来完成了。如果你使用机器学习,在这种情况下会花费更长时间。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注