简短的回答是:它们不转换矩阵,而是将矩阵中的每个元素视为一个维度(在机器学习中,每个元素都称为Feature)。因此,他们需要对每个具有 100x100 = 10000 个特征的元素进行分类。在线性SVM 的情况下,他们使用超平面来实现,它将 10,000 维空间分成两个不同的区域。
更长的答案是:考虑您的 2D 案例。现在,您要分离一组二维元素。这意味着您的集合中的每个元素都可以在数学上描述为一个 2 元组,即:e = (x1, x2)。例如,在您的图中,一些完整的点可能是:{(1,3), (2,4)},而一些空心的可能是{(4,2), (5,1)}。请注意,为了使用线性分类器对它们进行分类,您需要一个二维线性分类器,它会产生一个可能如下所示的决策规则:
- e = (x1, x2)
- if (w1 * x1 + w2 * x2) > C :确定 e 是一个完整的点。
- 否则: e 是空心的。
请注意,分类器是线性的,因为它是 e 元素的线性组合。“w”被称为“权重”,“C”是决策阈值。如上所述的具有 2 个元素的线性函数只是一条线,这就是为什么在您的图中 H 是线的原因。
现在,回到我们的 n 维案例,您可能会认为一条线无法解决问题。在 3D 情况下,我们需要一个平面:(w1 * x1 + w2 * x2 + w2 * x3) > C,在 n 维情况下,我们需要一个超平面:(w1 * x1 + w2 * x2 + ... + wn * xn) > C,这该死的很难想象,但还是要画 :-)。