前言文章阐明了人工智能和机器学习分支中“基于模型”和“基于实例”学习的基本原则和区别。
“基于实例”和“基于模型”是各种机器学习算法用来执行任务的两种不同类型的学习方法。
我们知道,任何预测模型的最终目标都是学习数据中隐藏的模式,并根据其学到的知识以合理的准确度预测值。算法使用两种不同的方法来了解数据——
在进入数学概念之前,让我们先看一个简单的故事。约翰和约瑟夫是最好的朋友,他们总是在考试中取得好成绩。他们学校还有一个学生叫凯文。由于凯文学习有点差,所以他请求他们两个帮助他学习,这样他也能在考试中取得好成绩。约翰和约瑟夫都同意他们将教他这些科目。
第一天,凯文去约翰家学习数学。约翰向凯文解释了所有深入的概念,并教他各种场景和解决不同类型问题的方法。他还训练Kevin解决了很多样题,让他理解了考试中内容和权重相近的题目和题目。凯文感到非常自信和快乐。此外,他感谢约翰并离开了他的房子。
第二天,凯文去约瑟夫家学习科学。约瑟夫问他是否想了解有关该主题的所有深入概念和理论,或者他是否只想要将出现在试卷上的问题列表,因为通过记住所有重要问题,可以获得高分即使不理解每个答案背后的概念。凯文本质上是一个懒惰的男孩。所以,他说他不想花精力去学习概念,他只需要重要问题的清单,这样他就可以记住这些答案。约瑟夫列出了 50 个重要问题和答案,并要求记住全部内容。
德米特里·拉图什尼( Dmitry Ratushny) 摄
终于,考试的日子到了。第一次考试是数学。试卷有很多棘手的问题,但凯文从约翰那里学到了很好的概念理解。他解决了几乎所有的问题,并有信心获得90%的分数。
第二个考试是科学。当凯文收到试卷时,他很惊讶,因为大部分问题都来自他已经记住的问题和答案列表。他把所有的答案都记了下来,工整地写了下来。因此,在科学方面,他也非常有信心获得 90% 的分数。尽管他没有做任何概念性的事情,但他写下了他所记住的所有东西并达到了他的目的。
数学遵循的学习模式称为“概括” ,科学遵循的学习模式称为“记忆” 。希望你喜欢这个故事。现在我们可以转到机器学习解释。
在泛化中,模型总是试图了解问题的内在模式、行为和整体概念。
例如,
我们都知道“线性回归”的公式。它表示为-
Y = m1x1 + m2x2 +... mnxn + c
在哪里,
假设我们开发了一个线性回归模型,可以根据一个人的年龄、身高和父母的身高来预测他/她的体重。该模型的数学表示如下-
体重 = 0.3*(身高) + 0.2*(年龄) + 0.4*(父亲身高) + 0.1*(母亲身高) + 2
这里,0.3、0.2、0.4 和 0.1 是我们在广泛的超参数调整过程后得出的斜率值。同样,2 是回归平面的截距值。
视觉表示有点像这样 -
图片由作者绘制
在这里,每个特征都是一个维度,数据点将投影到这个多维空间中。在这个过程之后,我们将推导出一个可以通过这些维度的回归平面。特定“身高”、“年龄”、“父亲身高”和“母亲身高”的预测值(体重)不过是该回归平面对应于特征维度轴坐标的值。
另一方面,该模型试图理解年龄、身高等变量之间的线性关系,并推导出一个假想超平面,该超平面可以近似表示基于该空间中许多自然设计形式(如线性、同方差、自相关)的预测值, ETC。
该模型将尝试以一种通用的方式制作超平面,以便预测的整体误差较低,即数据点与回归平面之间的距离尽可能低。它能够推导出这个广义超平面,因为它对数据进行了学习,以在 ML 训练活动中找到空间中的各种模式。
让我们通过另一个名为“支持向量机”的算法再举一个例子。
支持向量机是一种监督机器学习算法,广泛用于预测标记数据点的类别。
例如-
SVM 使用一个可以跨越多个维度的假想平面来进行预测。这些可以穿越多个维度的假想平面称为超平面。很难用人脑想象更高的维度,因为我们的大脑天生只能可视化最多 3 个维度。
让我们举一个简单的例子来理解这个场景。
我们有一个分类问题来预测学生是否会通过考试。我们有以下特征作为自变量-
所以,这 3 个自变量变成了这样的空间的 3 个维度 -
图片由作者绘制
让我们考虑一下我们的数据点看起来像这样——
图片由作者绘制
现在,SVM 将创建一个穿越这 3 个维度的超平面,以区分失败和通过的学生-
图片由作者绘制
因此,从技术上讲,现在模型明白落在超平面一侧的每个数据点都属于通过考试的学生,反之亦然。正如我们在线性回归中看到的那样,SVM 超平面也是作为复杂超参数调整的最终结果创建的,并且由 ML 模型完成的学习作为其训练活动的一部分。
您是否发现上述 2 种算法的学习方法有任何相似之处?
他们都试图了解整个空间的性质、数据点之间的隐藏模式以及各种优化技术以最小化错误,从而推导出一个广义的数学函数来解决问题。这种方法称为“基于模型的学习” 。
遵循用于预测目的的泛化过程的模型学习方法称为基于模型的学习。
现在我们来看另一个例子,我们需要实现“K最近邻”算法。
我们可以考虑我们为 SVM 示例假设的相同场景。在这里,我们还需要预测学生是否会通过考试。我们的数据看起来像这样——
图片由作者绘制
现在,根据 KNN 算法,我们应该确定“K”(邻居数)的值,并注意每个未标记数据点的“K”个最近邻居的类别。未标记数据点的预测值将是在“K”个最近邻中具有多数参与的类别。
假设我们指定了 K =3 的值。此外,数据点“a”、“b”和“c”是未标记的数据点,我们需要使用该模型预测其类别。
图片由作者绘制
您是否观察到 KNN 的工作过程与前面提到的其他 2 种算法之间有什么显着差异?
实际上,KNN 没有经过任何训练过程。它没有了解数据点之间的模式或关于空间的数学假设,甚至没有尝试推导任何数学函数来映射自变量和因变量。研究人员需要仔细优化的唯一变量是“K”的值。它只是记住在其邻居中选择多数类并将其作为预测值的过程。它不使用任何泛化技术作为任何数学函数的一部分。相反,只需记住投票的原则并为每个未标记的数据点重复该任务。这个过程称为“记忆” 。
遵循用于预测目的的记忆过程的模型学习方法称为基于实例的学习。