这是一篇介绍性文章,解释了预测机器学习模型开发中径向基函数的基本直觉、数学思想和范围。
在机器学习中,基于超平面算法的问题解决在很大程度上取决于数据点在空间中的分布。然而,众所周知的事实是,现实世界的数据很少遵循理论假设。
有很多转换函数可以将数据点的自然形状转换为理论上推荐的分布,从而保持数据的隐藏模式。径向基就是这样一个著名的函数,在很多机器学习教科书中都有讨论。在本文中,我们将了解径向基函数的基本直觉、类型和用法。
径向基函数是一种数学函数,它采用实值输入并根据投影到空间中的输入值与放置在别处的假想固定点之间的距离输出实值输出。
此功能广泛用于许多机器学习和深度学习算法,例如支持向量机、人工神经网络等。
让我们了解这个数学函数的概念和用法。
在实时情况下,每当我们使用 SVM 等算法解决复杂的机器学习问题时,我们都需要将所有数据点投影到一个假想的多维空间中,其中每个特征都是一个维度。
假设我们有一个分类问题来预测学生是否会通过考试。
我们有以下特征作为自变量:
所以,这 3 个自变量变成了这样的空间的 3 个维度 -
让我们考虑一下我们的数据点看起来像这样——
绿色代表通过考试的学生
红色代表考试不及格的学生
现在,SVM 将创建一个穿越这 3 个维度的超平面,以区分失败和通过的学生-
因此,从技术上讲,现在模型明白落在超平面一侧的每个数据点都属于通过考试的学生,反之亦然。
在我们的示例中,创建超平面很容易,因为线性和直线超平面足以区分这两个类别。但在实时的复杂项目中,这些关系在许多情况下可能会被破坏。特别是当你有数百个自变量时,不可能在数据点之间获得线性关系,因此很难创建最佳超平面。
在这种情况下,研究人员通常将径向基函数应用于每个数据点,以便他们能够在数据点之间传递一个线性超平面,从而轻松解决问题。
考虑一下我们的数据点在空间中看起来像这样 -
很明显,我们不能使用线性超平面来根据数据点的类别对数据点进行分组。
RBF 将在这些场景中帮助我们。
一些研究人员通常会将这些数据点投影到更高的维度上,这样数据点之间的距离就会增加,这样他们就可以应用一些函数(RBF 或任何其他函数)来构建超平面。但是没有必要建立高维度,因为它始终是了解数据模式的统计学家/研究人员的决定。
接下来,我们必须在需要的地方像这样在空间中标记一个假想点。
之后,我们需要根据这个假想点画一些同心圆。
圆心与位于圆边界内的任何数据点之间的距离称为半径。
计算完半径后,我们需要将这个值传递给一个返回实数值的数学函数 (RBF)。返回值将是用于进一步处理的特定数据点的转换幅度。
存在多种类型的径向基函数。它们中的每一个都将以不同的方式转换输入值。他们之中有一些是-
在哪里,
该函数在时间方面看起来像这样,
在哪里,
在哪里,
我将直观地解释这些功能将在空间中直观地做什么。这些功能完成了 2 个不同的过程 -
扩张的过程在视觉上看起来有点像这样——
压缩过程在视觉上看起来有点像这样-
在扩展和压缩之后,数据点会变成这样——
现在,我们可以轻松构建一个线性超平面,它可以像这样对数据点进行分类 -
有时,RBF 也与具有一个隐藏层的人工神经网络一起使用。在此类网络中,RBF 将用作隐藏层中的激活函数。除了隐藏层之外,还有一个包含多个神经元的输入层,其中每个神经元代表一个特征变量,输出层将具有来自隐藏层的输出的加权和以形成网络输出。
这样的网络称为 RBF 网络。
在本文中,我们讨论了机器学习中最有用的转换函数之一。我试图以清晰的方式针对 AIML 学习领域的初学者解释这个复杂的概念,而无需进行许多深入的数学计算。
在大多数面向数据科学的编程语言(例如 Python 或 R)中,此函数作为内置库提供。因此,一旦您理解了理论直觉,就很容易实现它。我在参考部分添加了一些高级材料的链接,如果您有兴趣,您可以在其中深入研究复杂的计算。