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

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

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

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

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

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

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

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

请各位高手......

【问题讨论】:

    标签: python dataset classification svm svc


    【解决方案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,不是吗?
    猜你喜欢
    • 1970-01-01
    • 2015-01-27
    • 2013-11-22
    • 2019-08-29
    • 2012-04-02
    • 2019-06-01
    • 2015-11-18
    • 2021-04-11
    相关资源
    最近更新 更多