如果目标被标记为 0 和 1,SVM 中的分类是如何进行数学分类的?

Posted

技术标签:

【中文标题】如果目标被标记为 0 和 1,SVM 中的分类是如何进行数学分类的?【英文标题】:How is classification mathematically done in SVM if target is labeled as 0 and 1? 【发布时间】:2021-05-08 22:45:36 【问题描述】:

我的数据集有特征列和目标标签 0 和 1。

当我使用 SVM 分类器进行二元分类时,它的预测效果很好。

但我的问题是它是如何在数学上预测的?

边缘超平面 H1 和 H2 具有以下方程: W^T X +b >= 1

表示如果大于+1,则属于一类。如果小于 -1,则属于另一类。

但是我们给了目标标签0和1。

它实际上是如何在数学上完成的?

请各位高手......

【问题讨论】:

【参考方案1】:

基本上,SVM 想要找到分割数据点的最佳超平面,使得每个类的最近数据点(所谓的支持向量)之间的边距最大化。这一切都分解为以下拉格朗日优化问题:

w:确定最优超平面的向量(为了直觉,让自己熟悉点积的几何意义)

(w^T∙x_i+b) 是一个标量,显示几何距离 单个数据点 x_i 与最大边距超平面之间

b 是一个偏置向量(我认为它来自不确定的积分 SVM 的推导)更多信息,您可以在这里找到: University Stanford -Computer Science Lecture 3-SVM

λ_i拉格朗日乘数

y_i归一化分类边界

解决优化问题会得到 w、b 和 lambda 的所有必要参数。

一句话回答你的问题:类边界[-1,1]是任意设置的。这真的只是定义。

二进制数据 [0;1](所谓的虚拟变量)的标签与边界无关。这只是标记二进制数据的一种便捷方式。标签仅用于将特征链接到其相应的类或类别。

公式 (8) 中唯一的非参数是 x_i ,即特征空间中的数据点。

至少我是这么理解 SVM 的。 如果我有错误或不准确,请随时纠正我。

【讨论】:

亲爱的@Epimetheus,感谢您的辩解。如果我将我的目标标记为(0 和 1),可以吗?还是我必须将其标记为 (-1 and +1) 。 不,你不需要更新你的标签:) “类边界[-1,1]是任意设置的。”什么意思?实际上,在我的数据集中,点击诱饵被标记为 0,非点击诱饵被标记为 1。但是如何将标签为 0 的数据点分类为任一类?有点不清楚。 @ShivaRD 边界只是以这种方式在数学上定义的。往上看。不需要对已标记的数据点进行分类。根据数据点功能,新数据点被分类为 Clickbait 或无 Clickbait。你使用什么样的功能? 特色数据集使用 TFIDF 和与目标(0 和 1)的余弦相似度。但是在训练 SVM 模型时,数据点需要分类为 0 或 1,不是吗?

以上是关于如果目标被标记为 0 和 1,SVM 中的分类是如何进行数学分类的?的主要内容,如果未能解决你的问题,请参考以下文章

结合两个分类模型

支持向量机(SVM)基本原理

支持向量机(SVM)

svm是一种典型的啥模型

SVM 分类器和测试图像

OpenCV和SVM分类器在自动驾驶中的车辆检测