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

问题描述

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

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

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

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

意思是如果大于+1,则属于一类。如果小于 -1,则属于另一类。

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

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

请任何专家......

解决方法

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

  • 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]是任意设置的。这真的只是定义。 enter image description here

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...