machine-learning - 关于输入向量的 SVM 映射的查询?和SVM优化方程

标签 machine-learning information-retrieval svm

我阅读了大量论文,并在很高的水平上理解了支持向量机的基本概念。你给它一个训练输入向量,它有一组特征,并基于“优化函数”如何评估这个输入向量,我们称之为x,(假设我们正在谈论文本分类),与输入向量相关的文本x 被分类为两个预定义类别之一,这仅适用于二元分类的情况。

所以我的第一个问题是通过上面描述的这个过程,所有论文首先都说这个训练输入向量x被映射到更高的(可能是无限的)维度空间。那么这个映射实现了什么或者为什么需要这个?假设输入向量 x 有 5 个特征,那么谁来决定将 x 映射到哪个“更高维度”?

第二个问题是关于以下优化方程:

最小 1/2 wi(转置)*wi + C Σi = 1..n xii

所以我知道 w 与图中支持向量的超平面边缘有关,并且我知道 C 是某种惩罚,但我不知道它的惩罚是什么。还有在这种情况下 xii 代表什么。

对第二个问题的简单解释将不胜感激,因为我没有太多运气通过阅读技术论文来理解它。

最佳答案

当他们谈论映射到高维空间时,他们的意思是内核完成与将点映射到高维空间然后在那里获取点积相同的事情。 SVM 本质上是一个线性分类器,但如果您使用内核,它们在与原始数据空间不同的空间中是线性的。

具体来说,我们来谈谈内核

K(x, y) = (xy + 1)^2 = (xy)^2 + 2xy + 1,

其中 x 和 y 均为实数(一维)。请注意

(x^2, sqrt(2) x, 1) • (y^2, sqrt(2) y, 1) = x^2 y^2 + 2 x y + 1

具有相同的值。因此 K(x, y) = phi(x) • phi(y),其中 phi(a) = (a^2, sqrt(2), 1),并使用该内核(非齐次多项式内核)执行 SVM度 2) 与您首先将 1d 点映射到该 3d 空间然后执行线性内核相同。

流行的高斯 RBF 核函数相当于将您的点映射到无限维希尔伯特空间。

当您选择内核时,您需要决定将其映射到哪个特征空间。不过,在执行此操作时,您不一定需要考虑显式映射,并且需要注意的是,数据实际上从未显式地转换为高维空间 - 那么无限维点将很难表示。 :)

<小时/>

xi_i 是“松弛变量”。没有它们,SVM 将永远无法解释不属于linearly separable 的训练集。 ——大多数现实世界的数据集都不是。从某种意义上说, Σ 是将边距错误一侧的数据点推到正确一侧所需的数量。 C 是一个参数,它决定增加 Ψ 的成本(这就是它在那里相乘的原因)。

关于machine-learning - 关于输入向量的 SVM 映射的查询?和SVM优化方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10760114/

相关文章:

python - ValueError ResNet Keras

java - 如何在朴素贝叶斯垃圾邮件过滤器中实现信息检索技术?

java - 关于我可以使用哪些更多网页元信息来对某个主题的页面相关性进行分类的任何想法?

c++ - OpenCV 中的支持 vector 机 : low accuracy OCR with RBF kernel

machine-learning - 如何在多种类型特征上训练支持向量机

math - 平移等方差及其与卷积层和空间池化层的关系

machine-learning - 查找用户标签之间的距离/相似度的算法?

r - 从插入符序列对象中提取要素类/类型

r - N 处平均精度的更快 R 实现

matlab - 使用 SVM 回归进行预测?