机器学习:支持向量机、监督程度与深度学习
1. 支持向量机(SVM)
支持向量机是一种强大的机器学习算法,在分类和回归问题中有着广泛的应用。在SVM中,我们可以用每个点到所有输入点的距离来表示该点。具体来说,对于每个点 $p_i$,可以创建一个向量 $v_i$,使得 $v_{ij} = dist(i, j)$,即 $p_i$ 到 $p_j$ 的距离。这些距离向量可以作为强大的特征集,用于对新点 $q$ 进行分类,因为到实际类别成员的距离通常比到其他类别的距离小。
然而,这种方法存在空间问题。由于输入点的数量 $n$ 通常远大于数据的维度 $d$,将原始的 $n × d$ 特征矩阵转换为新的 $n × n$ 特征矩阵进行分类,只适用于较小的点集(例如 $n ≤ 1000$)。而且,处理高维点的计算成本非常高,因为每次距离评估的时间复杂度与点的数量 $n$ 呈线性关系,而不是与数据维度 $d$ 相关。
不过,SVM有一个神奇之处,即不需要显式地计算距离特征矩阵。在寻找最大间隔分隔器的优化过程中,只需要执行点与其他点和向量的点积运算。因此,我们可以在需要比较时动态地进行距离扩展,而无需预先计算距离矩阵。这样可以消除空间瓶颈,但计算时间仍然较长。
更神奇的是,存在一种称为核函数的函数,它可以在不构建更大向量的情况下,返回本质上是在更大向量上的距离计算结果。使用核函数的SVM可以在各种非线性函数上找到最佳分隔器,而无需太多额外的成本。核函数是SVM能够将 $d$ 维点投影到 $n$ 维空间进行分离的关键,并且在计算上不会超过 $d$ 步。
支持向量机的有效使用需要一定的经验。除了这里介绍的距离核函数外,还有许多不同的核函数可供选择,每种核函数在某些数
超级会员免费看
订阅专栏 解锁全文
2263

被折叠的 条评论
为什么被折叠?



