如何解决支持向量机-一个简单的解释?
| 因此,我试图了解SVM算法的工作原理,但是我无法弄清楚如何在n维平面的点上转换某些数据集,这些数据集具有数学意义,以便通过超平面将点分离并分类。 。 这里有一个例子,他们试图使老虎和大象的图片分类,他们说“我们将它们数字化为100x100像素的图像,所以我们在n维平面上有x,其中n = 10,000 \”,但是问题是它们如何转换实际上仅表示一些具有数学意义的色码IN点的矩阵,以便将它们分类为2类? 可能有人可以在2D示例中向我解释这一点,因为我看到的任何图形表示都只是2D,而不是nD。解决方法
简短的答案是:它们不对矩阵进行变换,而是将矩阵中的每个元素都视为维度(在机器学习中,每个元素都称为功能)。
因此,他们需要对每个具有100x100 = 10000个特征的元素进行分类。在线性SVM情况下,他们使用超平面来实现,该超平面将10,000维空间划分为两个不同的区域。
更长的答案是:
考虑您的2D情况。现在,您要分离一组二维元素。这意味着您的集合中的每个元素都可以在数学上描述为2元组,即:e =(x1,x2)。例如,在您的图中,一些完整的点可能是:{(1,3),(2,4)},而一些空心的点可能是{(4,2),(5,1)}。请注意,为了使用线性分类器对它们进行分类,您需要一个二维线性分类器,这将产生一个决策规则,看起来可能像这样:
e =(x1,x2)
if(w1 * x1 + w2 * x2)> C:确定e是一个完整的点。
否则:e是空心的。
注意分类器是线性的,因为它是e元素的线性组合。 \'w \'被称为\'weights \',而\'C \'是决策阈值。上面具有2个元素的线性函数只是一条直线,这就是为什么在您的图中H是直线。
现在,回到我们的n维案例,您可能会想到我们认为一条线不会解决问题。在3D情况下,我们需要一个平面:(w1 * x1 + w2 * x2 + w2 * x3)> C,在n维情况下,我们需要一个超平面:(w1 * x1 + w2 * x2 + ... + wn * xn)> C,这真是难以想像,但绘制:-)仍然如此。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。