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

我在研究神经网络时,遇到了以下一个关于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

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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