如果目标被标记为 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 中的分类是如何进行数学分类的?的主要内容,如果未能解决你的问题,请参考以下文章